|
发表于 2024-1-7 16:00:24
来自手机
|
显示全部楼层
abbey_tom 发表于 2024-1-7 14:37
你说的这种情况,
是指提供给你源代码,
但在源代码上做一些手脚。
解释执行的语言,比如脚本,如果去掉注释,再搞混乱函数名,变量名,确实会给阅读造成很大困难。
非解释执行的语言,例如C,编译的中间代码是标识符和符号表,不能执行,最终代码是指令,可以执行。有的语言则与众不同,中间代码是字节码,比如Java,字节码可以被虚拟机解释执行,也可以再进一步编译成指令。
注释只是给人看的,对编译器无效,编译前注释都会被去掉。反汇编后除了指令就是数据,文件小还能看看,大了没啥价值。
其实就算给源代码也没多大价值,简单的可以自己写,复杂的根本搞不懂。Win2K就是例子,一堆cab包,大约400MB,读懂少数函数没啥价值,代码量千万级,看到死都看不明白… |
|