首页
社区
课程
招聘
请教armadillo加壳的dll脱壳修复不了的问题
发表于: 2005-11-28 14:52 3974

请教armadillo加壳的dll脱壳修复不了的问题

2005-11-28 14:52
3974
[附件已删除]
这是一个armadillo加壳的dll,我找到了oep=00001bab,iat表我也能修复,重定位表应该是rva=4000,长度0x162。但是用lordpe dump下来,并用importRec修复的dll。
008D4FAC    391C06          CMP DWORD PTR DS:[ESI+EAX],EBX
008D4FAF    75 16           JNZ SHORT 008D4FC7
008D4FB1    8D85 B4FEFFFF   LEA EAX,DWORD PTR SS:[EBP-14C]
008D4FB7    50              PUSH EAX
008D4FB8    FF15 B4328F00   CALL NEAR DWORD PTR DS:[8F32B4]          ; KERNEL32.LoadLibraryA
008D4FBE    8B0D AC0D9000   MOV ECX,DWORD PTR DS:[900DAC]
008D4FC4    89040E          MOV DWORD PTR DS:[ESI+ECX],EAX
008D4FC7    A1 AC0D9000     MOV EAX,DWORD PTR DS:[900DAC]
008D4FCC    391C06          CMP DWORD PTR DS:[ESI+EAX],EBX
008D4FCF    0F84 2F010000   JE 008D5104;magic jmp

armadillo修改的文件头我也在内存中修复了,以下是我修复的dump文件,由于dump时候的基址是2950000且没有跳过重定位表,按照fly的方法,所以我把dll的基址改为2950000。
[附件已删除]

如果把修复过的dll用od在2950000基址打开就没有错误。但如果在程序中加载就一定失败(因为加载基址变了,不是2950000了),我想错误一定是在文件头,请各位版主和高手帮帮忙,我已经被它烦死了。

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

收藏
免费
支持
分享
最新回复 (4)
雪    币: 82
活跃值: (765)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我已经自己解决了,我在内存中发现LoadLibrayA其实已经将他正常解压且正确重定位,只是不知什么原因老是去试图读取超过文件长度1个byte的地方,导致加载失败,实在不知如何修复。灵机一动,用upx压缩一下,发现可以正常加载了,呵呵!再用upx解压缩,发觉还是可以加载,呵呵,真是踏破铁靴无觅处,得来全不费功夫!
2005-11-28 20:59
0
雪    币: 82
活跃值: (765)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
找个时间写个教程给大家。
2005-11-28 21:00
0
雪    币: 82
活跃值: (765)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
My dear friend MinaMWB gave me unpacked one which unpacked by fly after I had done it myself. Anyway,I really appreciate your help ,Fly!
Frankly,I don't know why the dumped dll made by me before upx's packing and unpacking did not work, I will ask Fly for the answer if appliable.
2005-11-28 21:10
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
又一牛人诞生!
2005-11-29 06:30
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册