首页
社区
课程
招聘
[分享]脱壳一个不知名文件
发表于: 2020-6-8 16:57 18964

[分享]脱壳一个不知名文件

2020-6-8 16:57
18964

检测一个软件话不多说,查看编程语言,C/C++

查看区段,发现多了一个区段

导入OD,MSG提示,有壳

进入OEP,看到这个直接ESP定理

我这里下了一个硬件断点

结果发现什么都没发生直接跑飞

估计有断点检测,查看日志

用最后一次异常法, 0x0047108E, 成功到达OEP

但是它是如何处理硬件断点的呢?若是我想用硬件断点呢?所以我决定查看它的反硬件断点的实现

一般反调试技术都是写在SEH,或者hook 系统API, 其中最常见的就是HOOK KiUserExceptionDispatcher 异常分发函数

对其下CC断点, 再对ESP定律下硬件访问断点

成功断下, 查看 [ESP + 0x4] 处, 其是储存硬件访问断点地址的结构体

发现当其运行指定CALL后,硬件断点的地址被清空

那么知道情况就好办了,我们可以编写OD脚本来实现越过检测

在这里需要知道, 在 KiUserExceptionDispatcher 函数入口处:

[ESP + 0x4] 地址内容开始后5个4字节是一个结构体, 其中后4个4字节存储的是硬件断点的地址

[ESP + 0x14] 存储的是当前异常的地址

[ESP + 0x4] + 0xB8 地址里存储的是异常处理完毕后要返回的用户空间代码地址

成功到达OEP

然后, 其实仔细的看下就会发现存在OEP窃取的情况

所以为了恢复OEP,我们需要寻找原始OEP的代码,在最后一次异常处对壳代码下内存访问断点

成功断下

在OEP处设置硬件执行断点

接下来我们利用Run跟踪来记录到达OEP之前的代码

(1)添加记录文件

(2)勾上所有异常忽略

(3)打开Run跟踪

(4)跟踪步入

等待3~4分钟, 到达OEP,数了一下将近一万行代码,我们搜索关键OEP字段:push ebp

或者手动排查,去除pushad/popad无用的花指令代码段

找到原OEP代码

获取硬编码, 将其粘贴到现OEP


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

最后于 2020-6-8 17:26 被灵幻空间编辑 ,原因: 排版
收藏
免费 4
支持
分享
最新回复 (17)
雪    币: 25
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
可以啊
2020-6-8 18:22
4
雪    币: 26245
活跃值: (63302)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
3
带壳程序能否上传一下?
2020-6-8 18:25
0
雪    币: 26245
活跃值: (63302)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
4
看 雪 可以啊

能否改一下用户名?这个用户名会让误解你是看雪官方



https://bbs.pediy.com/thread-71978.htm

第25条 论坛ID归论坛所有,禁止作任何交换、买卖。
       ①严禁注册雷同ID、广告性质ID、某些怪异ID。严禁注册与国家领导人或相关有影响人物的同名ID或同音ID。
       ②各会员的注册的ID名必须文明,不得有促意抵毁、旁诽、庸俗的成分或有某些暗示性而影响论坛气氛的。


2020-6-8 18:27
0
雪    币: 25
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
Editor 能否改一下用户名?这个用户名会让误解你是看雪官方https://bbs.pediy.com/thread-71978.htm第25条 论坛ID归论坛所有,禁止作任何交换、买卖。  & ...
不好意思 可是系统不能更改了 版主大佬能不能替我改下
2020-6-8 18:35
0
雪    币: 26245
活跃值: (63302)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
6
看 雪 不好意思 可是系统不能更改了 版主大佬能不能替我改下
可以的,你提供几个候选用户名
2020-6-8 18:39
0
雪    币: 25
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
Editor 可以的,你提供几个候选用户名
GIao 或者    GIaoGiao
2020-6-8 20:11
0
雪    币: 26245
活跃值: (63302)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
8
GIaoGiao GIao 或者 GIaoGiao
第一个被用了,第二个好了。
2020-6-8 21:04
0
雪    币: 73
活跃值: (923)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
OD用的很6
2020-6-9 11:32
0
雪    币: 209
活跃值: (226)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
2020-6-9 19:35
0
雪    币: 259
活跃值: (283)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
有个问题 你咋知道 它发生oep窃取 你怎么看出来的 oep不正常 通过分析跟踪 你怎么知道哪些指令就是oep指令 
2020-6-10 12:02
0
雪    币: 525
活跃值: (667)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
12
壳程序可以上传一下吗?
2020-6-11 14:09
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
13
求程序!万分感谢!!!
2020-6-12 14:10
0
雪    币: 6096
活跃值: (5515)
能力值: ( LV5,RANK:65 )
在线值:
发帖
回帖
粉丝
14
感谢分享!
2020-6-12 16:53
0
雪    币: 8764
活跃值: (5240)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
15
能否提供一下文章中所说的未知程序
2020-6-30 11:30
0
雪    币: 2509
活跃值: (151)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
感谢分享
2020-7-21 12:04
0
雪    币: 66
活跃值: (2746)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
上传下 带壳程序 吧 大家可以跟着练习下
2020-7-27 18:55
0
雪    币: 5895
活跃值: (2717)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
写的很详细,学习了。
2020-7-30 16:28
0
游客
登录 | 注册 方可回帖
返回
//