-
-
两步快速脱yoda's cryptor 1.2壳--esp定律和内存断点完美组合应用
-
发表于:
2004-7-26 10:05
8183
-
两步快速脱yoda's cryptor 1.2壳--esp定律和内存断点完美组合应用
两步快速脱yoda's cryptor 1.2壳--esp定律和内存断点完美组合应用
软件名称:
两步快速脱yoda's cryptor 1.2壳--esp定律和内存断点完美组合应用
软件简介:
yoda's cryptor 1.2,老壳了。公开了源码,谢谢作者无私!
下载地址:
本地下载
------------------------------------------------------------
破解作者:
springkang[DFCG]
破解工具:
OD,loadpe,impr,winxp
破解目的:
学习和推广esp定律。
------------------------------------------------------------
[破解过程]
详细过程:
首先,忽略所有异常,再载入加壳的winxp记事本。
01013060 > 60 PUSHAD //载入加壳程序后停在这里。首先使用esp定律!
01013061 E8 00000000 CALL NOTEPAD.01013066 //esp为0006ffa4
01013066 5D POP EBP //esp为0006ffa0
01013067 81ED F31D4000 SUB EBP,401DF3 //esp为0006ffa4,从这里开始运行几步esp的值均无变化。好了,可以在这里下0006ffa4 硬件访问--word(dword)断点了,也可以再走几步下断,问题不大。F9运行。
0101306D B9 7B090000 MOV ECX,97B
01013072 8DBD 3B1E4000 LEA EDI,DWORD PTR SS:[EBP+401E3B]
0101375D 50 PUSH EAX ; NOTEPAD.0101370C //中断到这里了,取消硬件断点,下内存访问断点。
0101375E 33C0 XOR EAX,EAX
01013760 64:FF30 PUSH DWORD PTR FS:[EAX]
01013763 64:8920 MOV DWORD PTR FS:[EAX],ESP
01013766 EB 01 JMP SHORT NOTEPAD.01013769
01013768 8700 XCHG DWORD PTR DS:[EAX],EAX
0101376A 0000 ADD BYTE PTR DS:[EAX],AL
0101376C 0000 ADD BYTE PTR DS:[EAX],AL
内存镜像,项目 27
地址=01001000
大小=00007000 (28672.)
Owner=NOTEPAD 01000000
区段=.text
包含=code //老规矩了,在这里下内存断点 ,f9运行
类型=Imag 01001008
访问=RW CopyOnWr
初始访问=RWE
01006AE0 6A 70 PUSH 70 //很脸熟吧,用loadpe和impr就可以dump和修复了,运行正常。
01006AE2 68 88180001 PUSH NOTEPAD.01001888
01006AE7 E8 BC010000 CALL NOTEPAD.01006CA8
01006AEC 33DB XOR EBX,EBX
01006AEE 53 PUSH EBX
最后补充一下,如果用OD的插件dump加壳的yoda's cryptor 1.2主程序,impr修复,虽然运行正常,但无法加密。而用loadpe的dump再修复就没有这种问题。具体原因偶是个大菜鸟,也无法得知。
破解小结:
此法对加壳的主程序同样有效! 下硬件断点的地址有很多,如0012ffa0,12ffc0,12ffac,12ffa4等,不一而足,不同的壳有不同的下法。关键是看载入加壳的程序后运行几步观察寄存器的esp的值,多试几次,就会有收获。例如petite2.2的壳就是下在0012ffc0处。
最后感谢weiyi75,fly,loveboom(偶的老乡),shinegood,forgot,temerata等等高手,还有DFCG的我要大哥,你们的文章给予我很多帮助,谢谢你们!!!
------------------------------------------------------------
版权公有,人权私有。如有转载,注明作者。
点击下载:附件!yoda.rar
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)