吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 11103|回复: 34
收起左侧

[原创] upx的一种脱壳方法。。

  [复制链接]
hnz2010 发表于 2014-12-24 11:17
原帖的地址:
http://www.52pojie.cn/forum.php? ... ypeid%26typeid%3D13

由于这两天有几个人问我这个软件的脱壳,下面介绍下我的一些意见,有误的地方还请指正:
1.查壳
无标题1.png
2.OD 载入到达 "OEP" 暂时称为OEP吧,其实它不是:
无标题2.png
怎么达到OEP,不浪费大家感情(ESP定律)。
3.在0x40275A处下断:
无标题3.png

也就是在ResumeThread处下断,这时是我们的dump的时机,这时看堆栈中:

0012E81C   000000B8  \hThread = 000000B8 (window)
0012E820   00000001
0012E824   00A00000
0012E828   00419120  NetPiao.00419120
0012E82C   00400000  NetPiao.00400000
0012E830   00000004
0012E834   00A00000
0012E838   0012EC00
0012E83C   000000B0
0012E840   000000B8
0012E844   00000AC4
中0012E844处为新进程的PID,这时要dump这个新的进程的ID
4.Load PE dump新的进程
无标题4.png
注意选择新的进程dump,PID的值为 3步骤中0012E844处的值0xAC4
无标题5.png
注意是选部分转存 地十为0x40 0000 大小为0x3F 0000

5.修复转存后的文件
无标题6.png

用load PE的PE编辑器 功能 载入转存后的文件dump.dmp
修改文件块对齐与块对齐一样, 区段的Roffset也要改的和Voffset一样。
无标题7.png

6.改完以后,保存文件,将dump.dmp重命名为NetPiao.exe,OK看看是否它运行起来了。


点评

排版很不错哦,不知道是不是妹子,  发表于 2014-12-25 13:46

免费评分

参与人数 6威望 +2 吾爱币 +1 热心值 +5 收起 理由
海天一色001 + 1 + 1 谢谢@Thanks!
Hmily + 2 这是捆绑壳外面包个upx吧,以前ximo发过详.
绝版小胖 + 1 我很赞同!
gagmeng + 1 谢谢@Thanks!
Shark恒 + 1 我很赞同!
reddiamond + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| hnz2010 发表于 2014-12-25 13:52
reddiamond 发表于 2014-12-25 09:32
哈哈,大了还不行。
楼主卖关子,我也就不点破了,哈哈。

请看21#,谢谢
 楼主| hnz2010 发表于 2014-12-25 13:52
gagmeng 发表于 2014-12-25 08:11
有点不明白的地方,转存时大小为什么是0x3F 0000,可否解释下,谢谢

是在原程序中,如果要另起一个进程,肯定是要分配内存空间的,这个0x3F 0000 就是跟踪代码得到的。
具体代码位置忘了。
2314902431 发表于 2014-12-24 11:29
现在的UPX也有点小BT.用的脱壳器有时候还脱不掉~
whjke 发表于 2014-12-24 11:50
感谢分享  试试看
reddiamond 发表于 2014-12-24 12:34
高人一等,哈哈!
tony2526 发表于 2014-12-24 12:37
是个令人头疼的壳,来学习学习,回头试试看了,楼主辛苦
reddiamond 发表于 2014-12-24 12:41
0012E81C   000000B8  \hThread = 000000B8 (window)
0012E820   00000001
0012E824   00A00000
0012E828   00419120  NetPiao.00419120
0012E82C   00400000  NetPiao.00400000
0012E830   00000004
0012E834   00A00000
0012E838   0012EC00
0012E83C   000000B0
0012E840   000000B8
0012E844   00000AC4
中0012E844处为新进程的PID,这时要dump这个新的进程的ID

这个是如何确定的?
reddiamond 发表于 2014-12-24 13:01
也就是在ResumeThread处下断,这时是我们的dump的时机,这时看堆栈中:
ResumeThread
几次跟到这里就没有招了,原来可以这样,真是受教了。
楼主再说下那个进程ID是根据什么来确定的
 楼主| hnz2010 发表于 2014-12-24 14:27
reddiamond 发表于 2014-12-24 13:01
也就是在ResumeThread处下断,这时是我们的dump的时机,这时看堆栈中:
ResumeThread
几次跟到这里就没有 ...

其实,0012E83C处是一个PROCESS_INFORMATION结构体,

具体可以百度下。第三个成员是进程的ID号。
reddiamond 发表于 2014-12-24 15:08
hnz2010 发表于 2014-12-24 14:27
其实,0012E83C处是一个PROCESS_INFORMATION结构体,

具体可以百度下。第三个成员是进程的ID号。

明白了,我去查下这个结构体的资料
名叫呆呆 发表于 2014-12-24 15:38
目测楼主成名有望了啊
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-6 14:12

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表