能力值:
( LV3,RANK:30 )
|
-
-
2 楼
这个CM还是不错的,顶一下
|
能力值:
( LV9,RANK:160 )
|
-
-
3 楼
hehe谢谢捧场
|
能力值:
( LV15,RANK:3306 )
|
-
-
4 楼
源码收藏了。
|
能力值:
( LV9,RANK:160 )
|
-
-
5 楼
风哥的语言总是那么精简,速度总是那么快………………
唉,不顶我顶了。谢谢捧场啊
|
能力值:
( LV4,RANK:50 )
|
-
-
6 楼
支持源码,感觉汇编编程比较难!
|
能力值:
( LV9,RANK:160 )
|
-
-
7 楼
呵呵,汇编玩玩练手
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
汇编还不熟悉~~~~~~~~~~
|
能力值:
( LV4,RANK:50 )
|
-
-
9 楼
谢谢分享!
|
能力值:
( LV9,RANK:490 )
|
-
-
10 楼
耐力好,支持~~
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
佩服!!!!!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
我才看到三分之一左右就头大了,看来我缺乏毅力哦。
标记下,晚些时候再看。这么好的文章一定要读完。
关于SMC:
所谓SMC(Self Modifying Code)技术,就是一种将可执行文件中的代码或数据进行加密,防止别人使用逆
向工程工具(比如一些常见的反汇编工具)对程序进行静态分析的方法,只有程序运行时才对代码和数据进
行解密,从而正常运行程序和访问数据。计算机病毒通常也会采用SMC技术动态修改内存中的可执行代码来达
到变形或对代码加密的目的,从而躲过杀毒软件的查杀或者迷惑反病毒工作者对代码进行分析。现在,很多
加密软件(或者称为“壳”程序)为了防止Cracker(破解者)跟踪自己的代码,也采用了动态代码修改技术
对自身代码进行保护
|
能力值:
( LV9,RANK:160 )
|
-
-
13 楼
呵呵,谢谢斑竹加精,也谢谢楼上几位捧场
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
差不多看完了,算法没仔细读。真够长的,佩服作者的毅力。总结下吧,大体用到以下技术。
A 用花指令反OD跟踪,花指令中的跳转不使用JMP,而使用CALL实现(修改堆栈中的CALL返回地址以实现跳转,更具迷惑性);
B 多层SMC技术,每层SMC的实现方式也不同;(该CrackME多次使用SMC技术,作者很喜欢用这招)还利用SMC来隐藏API的调用,当然仅仅是欺骗下OD。函数调用没使用CALL指令,而是使用双跳转,其中一个跳转(JMP)是使用SMC保护的。
C 利用系统时间ANTI,2次调用GetLocalTime()函数捕获当前时间并进行比较;
D 为防止JMP爆破,对关键跳转点采用多重判断,效果很有限;
E 在代码中加了很多操作堆栈和寄存器的无用代码,以混乱破解者的思维,效果很有限;
如,
004012A8 > \B8 24104000 MOV EAX,CrackMe1.00401024
004012AD . B9 3D104000 MOV ECX,CrackMe1.0040103D
004012B2 . 83E9 03 SUB ECX,3 ;ECX= ECX -3
004012B5 . 2BC8 SUB ECX,EAX ;ECX内存贮需覆盖的字节数
004012B7 . 8BD1 MOV EDX,ECX ;EDX内存贮需覆盖的字节数
004012B9 . BB 90909090 MOV EBX,90909090 ;EBX为 90909090
004012BE > 8BF0 MOV ESI,EAX ;ESI为SMC的起始地址
004012C0 . 03F2 ADD ESI,EDX ;JUNK CODE
004012C2 . 2BF1 SUB ESI,ECX ;JUNK CODE
004012C4 . 891E MOV DWORD PTR DS:[ESI],EBX
004012C6 .^ E2 F6 LOOPD SHORT CrackMe1.004012BE
文章真的很好啊,但语言用词也许可以更好一点。如,
004011CF . 2BC8 SUB ECX,EAX
这是什么?毫无疑问,应该是40116A-->(4011C4-1)之间的个数 //“个数”改为“字节数目”
更易懂
004011D1 . 8BD1 MOV EDX,ECX
我们暂时不知道EDX以后干什么,目前只知道他是个数-1 //“个数-1”应用括号括起来更清
晰 (个数-1)
最后期待楼主发布更精彩的文章
|
能力值:
( LV3,RANK:20 )
|
-
-
15 楼
学了不少东西,谢谢分享.
|
能力值:
( LV9,RANK:160 )
|
-
-
16 楼
谢谢gdlian的精彩分析
|
能力值:
( LV12,RANK:441 )
|
-
-
17 楼
厉害……我当时弄下来的时候看见PEid报的ACProtect我就晕了……
|
能力值:
( LV9,RANK:160 )
|
-
-
18 楼
呵呵,一个入口的伪装.....
其实一看就知道不是....
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
哇 真厉害啊 继续学习
|
能力值:
( LV9,RANK:160 )
|
-
-
20 楼
有新内容,D上去
|
能力值:
( LV9,RANK:490 )
|
-
-
21 楼
很长,很暴力!
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
看看 学习中
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
看的我是晕头转向一点点都不懂
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
谢谢楼主的分析+源码
|
|
|