16 12
发新话题
打印

[转]【原创】破解还能生存多久?从代码迷惑技术谈起。

[转]【原创】破解还能生存多久?从代码迷惑技术谈起。

代码迷惑技术(code obfuscation或者code mess-up或者obfuscation executive,即OE),在中文中翻译的比较混乱,有人翻译成代码混乱,有人翻译成代码混淆,我们以发表在《计算机研究与发展》上面的论文为参考,所以翻译成代码迷惑。顾名思义,代码迷惑技术就是专门和逆向工程作对的。总体上,代码迷惑可以在3个层次上进行:
    1.Disassembly(反汇编)。把机器代码转化为汇编代码。代码迷惑技术可以使用在汇编语言这个层次上。
    2.Decompilation(反编译)。把汇编代码转化为高级语言代码。代码迷惑技术同样可以使用在高级语言代码这个层次上。
    3.Design intent(设计意图)。代码迷惑技术甚至可以在进行工程设计的时候进行。
    这里不给大家说太多的技术,就和大家说说在汇编语言上面进行的代码迷惑技术给我们的一些影响吧。首先我们来看看目前对机器语言进行反汇编的几个算法:
    1.Linear Sweep(线性扫描):
    找到程序的enter point,然后对所有的在入口点和代码结束之间的机器代码一个个顺序进行直接变换,转化为汇编语言。问题很明显,当代码中出现花指令(即死指令(Junk code),可以扰乱反汇编算法的执行)时,线性扫描算法将不能正确解释剩下的所有机器代码。如果出现了代码中包含数据的情况,这种方式也不能很好的工作。目前流行的OllyDbg、IDA和W32Dasm等都不能很好的抗花指令保护。
    2.Recursive Traversal(递归行进):
    按照代码可能的执行顺序来反汇编代码。对每条可能的路径都进行扫描。本算法可以避免花指令和代码中包含数据导致的反汇编问题。同样,其问题有:我们不能精确的分析出程序所有可能的执行路径(当遇到非直接的跳转指令时。比如,跳转到一个地址,而这个地址(比如变量的地址)需要在程序运行的时候才能确定。)
    再次和大家说明,静态分析的时候IDA根本没有办法对付代码迷惑技术!后面会跟大家详细说明的。
    首先,看看对线性扫描的代码迷惑技术。在这个方面常用的只有一种,其最基本的形式可以描述如下:
    1  划分代码为许多小块。划分的标准是相邻的2块代码不能顺序执行。
    2  在每一块前面加入迷惑指令。所谓的迷惑指令就是只有一部分的汇编指令,不是完整的汇编指令。
    3  修改跳转地址等,进行善后处理。
    再看看对递归行进的代码迷惑技术。常用的有下面3种:
    1  分支函数(Branch functions):这种方式下,函数不是返回到原来地址的下一个指令执行,而是返回到其他地方。这点对于IDA来说是致命的。
    2  不变断言(Opaque Predicates):这种方式致力于增加分析的复杂度。比如,修改无条件跳转为条件跳转,但是跳转条件其实永远都是真的。
    3  跳转表欺骗(Jump Table Spoofing):把普通的无条件跳转伪造成switch的形式,欺骗反汇编器,让它以为有很多很多的分支。
   
   和大家说了这么多,我们来看看某个研究机构的实验结果:
   代码混乱算法:
   1  每小块前面加入Or指令的前面3个字节(显然是不完整的Or指令)。
   2  分支函数、不变断言和跳转表欺骗处理,在每个不可能运行到的路径上面都加入上面的普通迷惑指令。
   检验结果:
   1  线性扫描:出现70%左右的代码反汇编错误。
   2  递归行进:出现40%左右的代码反汇编错误。
   3  IDA Pro:出现90%以上的代码反汇编错误。
   为什么IDA这么次?原因在于IDA只反汇编它认为肯定是代码的地方。这样就导致2个结局:
   1  不能直接跳转到的地方它认为不是代码,会反汇编成数据。
   2  它不抗分支函数迷惑技术。

   写的太长了,该结束了。虽然我还有很多很多的话想说。上面给大家分析了一些抗静态分析的代码迷惑技术。或许大家还可以使用动态分析来分析程序的流程。但是,看完以后,你还是那么有自信么?你还认为你是高手么?希望那些软件作者没有看到这些东西。呵呵。

TOP

写的不错

学习,学习

TOP

支持转贴

TOP

没用,我从来不用代码来防破解。
我只用Ddos就行了。
本板块目前面临水荒,请兄弟们多多帮忙。不多发贴,一帖一单。

TOP

Ddos是什么东西?
引用:
Originally posted by cwqwxh007 at 2005-6-20 14:23:
没用,我从来不用代码来防破解。
我只用Ddos就行了。

TOP

揍便是了,有什么可防的?

人道渺渺,仙道茫茫.鬼道乐兮,当人生门.仙道贵升,鬼道贵终.仙道常自吉,鬼道常自凶.高上清灵美,悲歌朗太空,惟愿天道成,不欲人道穷,北都泉苗府,中有万鬼群,但欲遏人算,断绝人命门,阿人歌洞章,以摄北罗酆,束诵妖魔精,斩馘六鬼峰,诸天气荡荡,我道日兴隆!
本板块目前面临水荒,请兄弟们多多帮忙。不多发贴,一帖一单。

TOP

引用:
Originally posted by cwqwxh007 at 2005-6-22 03:49 PM:
人道渺渺,仙道茫茫.鬼道乐兮,当人生门.仙道贵升,鬼道贵终.仙道常自吉,鬼道常自凶.高上清灵美,悲歌朗太空,惟愿天道成,不欲人道穷,北都泉苗府,中有万鬼群,但欲遏人算,断绝人命门,阿人 ...
晕死。。。

TOP

没什么意义。。。Cracker们对这太熟悉了。。。
第8个男人
http://www.debugman.com

TOP

xIkUg[CCG][BCG][DFCG][DCM][CZG][D.4s][RCT]

呵呵,看来你是破解高手了 。。。。
引用:
Originally posted by xikug at 2005-6-24 14:48:
没什么意义。。。Cracker们对这太熟悉了。。。

TOP

发这些都没用,你照你上面说的弄个软件出来,看我破不破得了。

TOP

 16 12
发新话题