首页
社区
课程
招聘
[求助]请教脱壳后为何出现内存访问异常
发表于: 2006-7-17 12:54 4915

[求助]请教脱壳后为何出现内存访问异常

2006-7-17 12:54
4915
今天从网上下载了一个xpfox的动网利用工具,却被诺顿认做木马程序,料想是壳的缘故,于是想对其进行脱壳免杀,用peid只查到似乎是对upx进行了修改,我用ollybdg脱壳下来,修复import后,运行提示的是:“不知如何继续,因为内存地址71A2664D不可读”。请问一下各位高手,这是什么原因?

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 44229
活跃值: (19960)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
既然是upx壳,用upx自身脱一下试,命令格式:
upx -d 文件名

如果还是出错,有可能是自校验或附加数据之类。
2006-7-17 13:00
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
用upx -d脱不掉啊,我猜它是upx,因为用peid的hardcore scan看是
UPX 0.89.6 - 1.02 / 1.05 - 1.24 (Delphi) stub -> Markus & Laszlo [Overlay]
而用Normal和Deep扫出来都是
Nothing found [Overlay] *

麻烦坛主帮我看看好么,如果需要原程序的话,这里有:http://www.xpfox.net/article.asp?id=194
谢谢~
2006-7-17 13:07
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
4
1、修改EP RVA=000F9890
2、LordPE删除最后的XpFox区段
3、用WinHex删除0X00062A00至末尾的数据
4、用upxfix第5模式fix
5、upxfix自带的upx -d
2006-7-17 13:35
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢fly~我明白了~应该是我手脱的方法不对吧
还有一个问题想请教:
为什么要用upxfix method 5呢,是不是以后这种情况都要用这个?
2006-7-17 14:00
0
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这个一般都是木马才这样做的,加垃圾指令来躲过杀软么

004FC057 90 nop
004FC058 90 nop
004FC059 EB 18 jmp short DVBBS_SP.004FC073
004FC05B 90 nop
004FC05C 90 nop
004FC05D 90 nop
004FC05E EB 09 jmp short DVBBS_SP.004FC069
004FC060 90 nop
004FC061 90 nop
004FC062 90 nop
004FC063 90 nop
004FC064 90 nop
004FC065 90 nop
004FC066 90 nop
004FC067 90 nop
004FC068 90 nop
004FC069 - E9 23D8FFFF jmp DVBBS_SP.004F9891~~~~~程序的真实入口的下一条指令
004FC06E 90 nop
004FC06F 90 nop
004FC070 90 nop
004FC071 90 nop
004FC072 90 nop
004FC073 90 nop
004FC074 ^ EB E7 jmp short DVBBS_SP.004FC05D
004FC076 90 nop
004FC077 > 55 push ebp
004FC078 90 nop
004FC079 90 nop
004FC07A 8BEC mov ebp, esp
004FC07C 41 inc ecx
004FC07D 90 nop
004FC07E 52 push edx
004FC07F 90 nop
004FC080 90 nop
004FC081 5A pop edx
004FC082 90 nop
004FC083 5D pop ebp
004FC084 41 inc ecx
004FC085 ^ E2 D0 loopd short DVBBS_SP.004FC057
004FC087 90 nop
004FC088 90 nop

把入口改为000F9890

很典型的UPX入口


004F9890 60 pushad
004F9891 BE 00904900 mov esi, DVBBS_SP.00499000
004F9896 8DBE 0080F6FF lea edi, dword ptr ds:[esi+FFF6800>
004F989C C787 A0900B00 2E>mov dword ptr ds:[edi+B90A0], 13AB>
004F98A6 57 push edi
004F98A7 83CD FF or ebp, FFFFFFFF
004F98AA EB 0E jmp short DVBBS_SP.004F98BA
004F98AC 90 nop
004F98AD 90 nop
004F98AE 90 nop
004F98AF 90 nop

可以直接用PETools的pe编辑器,从文件删除最后那个区段,这样就不用winhex来删数据了

然后用upx脱

我一般用upxshell来脱~
2006-7-17 14:08
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
7
手脱也很简单,ImPortREC修好输入表就行了
不过UPX自脱完美罢了
2006-7-17 14:13
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
最初由 亚尔迪 发布
这个一般都是木马才这样做的,加垃圾指令来躲过杀软么
........


呵呵,不加还好,加了指令反而被当成是木马了
2006-7-17 14:18
0
游客
登录 | 注册 方可回帖
返回
//