首页
论坛
课程
招聘
[原创]看雪论坛2007逆向分析挑战赛[第二阶段◇第三题]脱壳机分析(附原码)
2007-9-7 19:40 8355

[原创]看雪论坛2007逆向分析挑战赛[第二阶段◇第三题]脱壳机分析(附原码)

2007-9-7 19:40
8355
挺简单的一个壳。
1:
首先, 在最后petite追加的sfx节中, 把自己的后续处理代码, 以及原来的压缩
的节都解出来, 这里他一共用了2个算法。
0压缩 是zlib库的inflate, 应该是113版的, 因为压缩代码中可以看到这个版本号,
     根据代码的对比也知道是113版的, 网上流行的是123的最新版, 所以用123的
     www.zlib.net,  其实他是有点修改, 关键在于inflateblock函数中,
     他没有case 1的fix table, 而是case 1是原来2的dynamic table,
     所以改了一下, 另, 他是一个raw stream, 所以需要在inflateInit2调用的bitwidth中
     填写-15。
1~9压缩是aplib的一种变形, 为什么这么说呢, 因为几个关键子, d00, 500, 80太熟了。
     但是他有另几种比较值, 而且比aplib要简单, 但有雏形, 包括getbit以及getrepeat等
     还有, 他每次src->dest的时候, 都需要xor一下当时的留下size.
       算法都比较简单, 就不多说.
所以: 注定有2个stub,   所以: 需要定义2中偏移量.

2:
所有的节都解出来了后, 就构造一个异常, 跑到程序开始设置的seh去执行,
也就是第一次解出来的SMC代码.  这里, 需要修复下e8e9,  还有一个操作, 就是padding zero.
其实: 这里能知道原来的节的信息, 包括为了section align所需要的0都有,
但是我这并没优化, 因为一般样本, 这样效率不高... 说远了.
e8e9的修复是壳经常用的手段, 因为跳的地方相对与自己的地方这个查值一般比较小.
有助于后面的压缩.  其实还包括f0这样的长跳.  代码很段. 自己看原代码吧.
再次构造一个jmp eax(eax=0)的seh, 去执行3. 同时把sfx给清楚.
把自己拷贝一点自己给原来的入口, 以给以后做变换.

3:
这里给代码进行自效验. 包括pe头的, 包括smc的. 同时需要
得到xorkey, 这个就是把smc的代码的某些字节进行一下hash,
那个fs:12, fs:2c(没记错的话), 其实就是一个0和一个1起作用. 估计是反虚拟机的..
然后不停的xor那个buf然后循环移位, 每次移动前都把自己最低位置上
这个算出来的xorkey, 跟原来的entrypoint的旁边的16个字节xor后, 这样
如果没出问题, entrypoint就是一个e9.... jmp xxxxxxxx(记错maigc x)
恢复导入表, 始终没看到重定位的信息.. 不知道他怎么敢加dll....
导入表的位置,函数名字位置跟原来没变, 只是把原来的5*4一条的导入表信息用一个4字的
firstthunk代替了.直接的dllname被拷贝到pe头去了.  因为5*4比4大嘛,  所以他敢这么放.
我这简单的把他放回去..  0000 0000 0000 pe头的名 原来的thunk.
然后2次循环, 一次是dll的, 一次是函数的, 把函数的thunk填对就ok了。
值得注意的是name和序号是不一样的, 如果是序好, 那么不走流程x.
名字就要走流程x
流程x: 每次走的时候, 每次计数值都减1, 看是否比0大, 如果没有, 那么就hook掉这个api,
并且把hook后的地址的地方&7做下一次计数值, 计数值的初史值需要从exe中读,
可能是0,1等...
最后, 把入口magic x跟api数量进行变换.
如果hook了, 就 x = ror(x-2,3) 否则就x = ror(x-1,3)
这样能算出入口来,
修正pe头, entrypoint,  imagesize, 取掉最后一个节,  然后dump就完了.

看下原代码就什么都清楚了.
这里没有idb, 所以很多东西都是凭记忆写的, 难免有失误, 见谅.

vc7工程

[2022冬季班]《安卓高级研修班(网课)》月薪两万班招生中~

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (20)
雪    币: 1655
活跃值: 活跃值 (267)
能力值: (RANK:450 )
在线值:
发帖
回帖
粉丝
linxer 活跃值 11 2007-9-7 19:42
2
0
崇拜~~~~
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
芭蕉小筑 活跃值 2007-9-7 19:43
3
0
支持

学习
雪    币: 1876
活跃值: 活跃值 (21)
能力值: (RANK:550 )
在线值:
发帖
回帖
粉丝
hawking 活跃值 12 2007-9-7 19:49
4
0
学习~~
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
四个汉字 活跃值 2007-9-7 19:54
5
0
膜拜ing。。。
雪    币: 200
活跃值: 活跃值 (13)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
shoooo 活跃值 16 2007-9-7 20:21
6
0
我也来加入膜拜大军
雪    币: 179
活跃值: 活跃值 (38)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
不懂算法 活跃值 2 2007-9-7 20:27
7
0
学海无涯,学习了
雪    币: 931
活跃值: 活跃值 (975)
能力值: (RANK:50 )
在线值:
发帖
回帖
粉丝
backer 活跃值 1 2007-9-7 20:54
8
0
榜样级的Cracker,本来只想潜水的,实在忍不住了
雪    币: 584
活跃值: 活跃值 (11132)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 活跃值 8 2007-9-7 20:58
9
0
jjnet对压缩引擎很熟悉
雪    币: 205
活跃值: 活跃值 (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
okdodo 活跃值 2 2007-9-7 22:28
10
0
继续学习  
雪    币: 211
活跃值: 活跃值 (15)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
十三少 活跃值 2 2007-9-7 23:11
11
0
连做了5天,结果99%的时候12点了。
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
【BiNg】 活跃值 2007-9-8 00:32
12
0
连续3头大牛发了这个文章
严重学习加支持
雪    币: 203
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
benzeng 活跃值 2007-9-8 10:32
13
0
下了,感觉差距太大了,自己要严重补课。谢谢
雪    币: 443
活跃值: 活跃值 (63)
能力值: ( LV5,RANK:75 )
在线值:
发帖
回帖
粉丝
wyfe 活跃值 2007-9-8 10:35
14
0
楼主分析能力好强
雪    币: 10880
活跃值: 活跃值 (3317)
能力值: ( LV15,RANK:2338 )
在线值:
发帖
回帖
粉丝
ccfer 活跃值 16 2007-9-8 10:49
15
0
赞,很强大

不过好像缺少重定位的处理
雪    币: 59
活跃值: 活跃值 (12)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
jjnet 活跃值 5 2007-9-8 11:10
16
0
是的.. 下了shoooo的代码看才知道.
当时没给dll加了做实验.
雪    币: 10880
活跃值: 活跃值 (3317)
能力值: ( LV15,RANK:2338 )
在线值:
发帖
回帖
粉丝
ccfer 活跃值 16 2007-9-8 12:15
17
0
我爱吃猪肉,但是长不胖,为什么??
雪    币: 59
活跃值: 活跃值 (12)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
jjnet 活跃值 5 2007-9-8 13:06
18
0

google真不是好东西
雪    币: 10880
活跃值: 活跃值 (3317)
能力值: ( LV15,RANK:2338 )
在线值:
发帖
回帖
粉丝
ccfer 活跃值 16 2007-9-8 13:09
19
0
果然呢,下面的资料都有了
姓名:hjj
出生年月日:
qq号码:
雪    币: 1298
活跃值: 活跃值 (63)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
yijun8354 活跃值 12 2007-9-8 16:54
20
0
支持哈~~~
雪    币: 200
活跃值: 活跃值 (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wywengyu 活跃值 2007-9-8 21:21
21
0
痛苦中的,幻影的壳不知道怎么自动脱不了???

找高手:::QQ 271178066
游客
登录 | 注册 方可回帖
返回