继续UnPackMe
同一壳,换了个加壳选项。难度同样不大,继续蹂躏吧,呵呵。 晕倒,继续练手了,感谢一下小超的无私奉献,哈:
00418B93 833E 00 cmp dword ptr ds:,0
00418B96 EB 34 jmp short EdrTest.00418BCC//将这句改成JMP,就可以跳过IAT加密了
//这里我已经改过了,呵呵
这次是不是把DLL集成到一起了,没看见加载DLL啊! 正在蹂躏中。。。。:D 继续被蹂躏:Q 继续被LZ蹂躏 呵呵,DLL也给分离出来了,哈:
1、对DLL的代码段下断点,然后F9运行
中断后,就可以Dump下来了,注意".reloc" 段,我Dump时没有Dump下来,分了2 次Dump,呵呵!
2、然后对照PE头修改!
由于PE对多出了200个空字节,所以,将4个“PointerToRawData“的值减去200即可!
当然,你也可以先不理会多不多200字节,直接对照区段大小来修改:
如图:
PE段的大小是1000,是TEXT段的起始地址是1000了,故把1200改成--1000就OK了:
003E01E4 00100000 DD 00001000 ;PointerToRawData = 1000
TEXT段的大小是6000,由rdata段的起始地址是6000+1000了,故为7000:
003E020C 00700000 DD 00007000 ;PointerToRawData = 7000
依次:
1000 TEXT
7000 rdata
8000 data
b000 reloc[加上本身的1000,我也不知道为什么,有达人指点一下!]:D
[ 本帖最后由 chenguo 于 2009-1-30 17:48 编辑 ] 我也明白reloc的地址为什么多出1000了,哈
那不是要加上本身的地址,而是因为他VC值多出了1000,是C000,
而实际地址则应该是B000,哈;P
页:
[1]