首页
社区
课程
招聘
OD DLL文件脱壳 不能单步跟踪
发表于: 2013-11-18 00:54 5883

OD DLL文件脱壳 不能单步跟踪

2013-11-18 00:54
5883
《加密与解密》第三版->第13章->13.5节 DLL文件脱壳中有个DLL脱壳的例子。
dll名为EdrLib.dll,EXE名为EdrTest.exe。
问题一:
用OD加载EdrLib.dll,停在DLL入口函数处:
/*17D000*/  jmp     short <ModuleEntryPoint>
/*17D002*/  retn    0
/*17D005*/  add     byte ptr [esi], ch
/*17D007*/  rol     byte ptr [eax], 1

到此为止,一切很正常,我试着按F8单步跟踪一下,OD没反应,按F7也没反应,按F9后,虽然程序运行起来了,但是却没有loaddll.exe加载DLL成功后的窗口显现出来。求解、求救。
问题二:
EdrTest.exe运行不起来,用OD调之,从LOG窗口分析得知,原来程序会一直处在加载msctf.dll的状态中。
可以确定的是,C:\Windows\SysWOW64目录下,是有这个DLL的,而且这个DLL在其他应用程序环境下运行良好。求解、救救。
我的OS是win764位英文版,OD是1.10 32位的。
求大神解救,不胜感激!
教学例子文件奉上:
EdrTest.rar

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 238
活跃值: (55)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
2
用OD2吧
2013-11-18 10:31
0
雪    币: 1065
活跃值: (1276)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
看了一下发现入口点的跳转是个死循环,需要手动恢复成原代码既可调试

17D000*/  jmp     short <ModuleEntryPoint>仅这一句,指令为 jmp 17D000,看地址还是跳在这个位置,所以你不能单步恢复壳代码,把这一句改为60 E8,即可正常调试
2013-11-18 13:26
0
雪    币: 0
活跃值: (85)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
谢谢,原来如此,我竟然2到找不出原因!!伤心了。
我想起来了,这个死循环是我很久以前改成的,作茧自缚啊
2013-11-18 20:19
0
雪    币: 1065
活跃值: (1276)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
坐等赏金啊,楼主不会不给吧,哈哈
2013-11-19 01:53
0
雪    币: 0
活跃值: (85)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
悬赏已经给你了啊
2013-11-19 17:34
0
游客
登录 | 注册 方可回帖
返回
//