首页
社区
课程
招聘
[求助]这个UPX 脱壳遇到问题了,能帮忙看下吗
发表于: 2010-1-27 21:30 5513

[求助]这个UPX 脱壳遇到问题了,能帮忙看下吗

2010-1-27 21:30
5513
cjc好玩背单词这款软件 peid检测为UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo [Overlay]
但是自动脱壳的方法全试了都不行
手动脱壳 esp定律我判断入口点005390dc,但往后就程序异常了,用了隐藏OD的插件,还是程序异常
跟踪发现都是在调用raiseexception等异常处理函数,找不到程序是在哪判断的
(w32dasm载入自动关闭 )



dump后importrec(自动搜索) 得到输入函数全部有效 fix dump
但是得到的程序在登录界面正常 一进去就出现错误(access violation at adress 00514DEE in module'rect_.exe '.Write of address 722CFEBB)然后初始化错误
od跟入连登陆界面没出来就跟到程序异常去了
以下是原exe和一个dll文件
http://bbs.pediy.com/attachment.php?attachmentid=38543&stc=1&d=1264986809

有个很关键的问题一直没解决 就是OD跟入后 会程序异常 我没找到异常最开始的跳转地方
附加数据在结尾处有00 0f d2 02 c4直接复制到脱壳后文件的结尾情况照旧
对函数下断点,截到对自身的CreateFile后,没有SetFilePointer(单步跟踪也没发现),直接到ReadFile
参数如下
0012ED0C   00000134  |hFile = 00000134 (window)
0012ED10   0012ED68  |Buffer = 0012ED68
0012ED14   00001000  |BytesToRead = 1000 (4096.)
0012ED18   0012ED20  |pBytesRead = 0012ED20
0012ED1C   00000000  \pOverlapped = NULL

我将脱壳与未脱壳的文件动态调试对比,发现从CreateFile到出现异常,程序运行一致
我怀疑程序的附加数据的处理函数是在正常情况下才调用的

-----------------------------
反调试问题已解决将 RaiseException函数的参数0x40010007改掉即可

[课程]Linux pwn 探索篇!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 424
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
算了这程序upx变种,中间有暗桩,跟一下看看情况先
2010-1-27 22:10
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
还有人吗 我还卡在这呢
2010-1-29 19:37
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
脱完后要处理附加数据
2010-1-31 16:07
0
雪    币: 174
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
你把程序和你脱壳的截图发一下
2010-1-31 17:08
0
雪    币: 71
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6

运行了下源程序
ms有校验
2010-2-1 14:45
0
雪    币: 76
活跃值: (27)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
这壳没有变异,是原本的UPX,没看到异常啊,应该是附加数据的问题
2010-2-3 00:07
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
PEID检测:UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo [Overlay]
脱壳后:Borland Delphi 4.0 - 5.0,这里就没有显示有附加数据,所以脱壳后要把附加数据加进去。
2010-2-3 10:46
0
游客
登录 | 注册 方可回帖
返回
//