首页
社区
课程
招聘
脱ASProtect 2.1x SKE -> Alexey Solodovnikov瑞星升级保姆的程序的壳[原创]
发表于: 2006-11-17 20:37 13442

脱ASProtect 2.1x SKE -> Alexey Solodovnikov瑞星升级保姆的程序的壳[原创]

2006-11-17 20:37
13442
【文章标题】: 脱ASProtect 2.1x SKE -> Alexey Solodovnikov瑞星升级保姆的程序的壳
【作者邮箱】: cxh852456@163.com
【作者主页】:
【作者QQ号】: 290019543
【软件名称】: 瑞星升级保姆的程序
【下载地址】: 自己搜索下载
【加壳方式】: ASProtect 2.1x SKE -> Alexey Solodovnikov
【使用工具】: od 等等
【操作平台】: XP
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
  一.脱壳
    用OD载入,看到熟悉的入口
    00401000 >  68 01104300     PUSH RSUpper.00431001
  00401005    E8 01000000     CALL RSUpper.0040100B
  0040100A    C3              RETN
  0040100B    C3              RETN
  0040100C    FF77 FC         PUSH DWORD PTR DS:[EDI-4]
  0040100F    47              INC EDI
  00401010    66:AE           SCAS BYTE PTR ES:[EDI]
  
  本人比较懒,就先拿高手门的东西用一下
  用iatfixer_2[1][1].2s脚本跑一下,一会儿就到程序的入口拉,而且已经被DUMP下来拉
  脚本提示有STOLEN CODE
  
  二修复IAT
  脚本全帮我高定拉,这个脚本还真是强,在这里不的不感叹大虾门无私的奉献精神
  ALT+L
  看到记录数据,
             iatstartaddr: 00401000 | RSUpper.<模块入口点>
             iatstart_rva: 00001000
             iatsize: 000002E0
  0114022F   断点位于 0114022F
             OEP_rva: 0000254C
  拿出SuperImportREC,选择瑞星升级保姆的进程
  OEP输入0000254C
  RAV输入1000
  大小输入1000
  获取输入表,剪切掉无效的指针,抓取文件,修复后保存
  
  三,修复STOLEN CODE
  还是用补区段大法,ALT+M打开内存镜象
  在00E70000-----04C60000全部下断点,SHIFT+F9知道程序运行
  发现程序用到下面几个段
  00E70000-00E8B000
  00F00000-00F43000
  00F50000-00F6C000
  01110000-01111000
  01140000-01141000
  04C30000-04C31000
  04C40000-04C41000
  全部用LORDPE抓出来,添加到修复后的程序的末尾并重建PE
  
  四 搞定自效验
  打开内存镜象,在补的区断上全部下断,F9三次后单步到
  00F28A5B    8B73 30         MOV ESI,DWORD PTR DS:[EBX+30]            ; un_RSUpp.01140D64
  00F28A5E    8B7B 14         MOV EDI,DWORD PTR DS:[EBX+14]
  00F28A61    A1 F037F300     MOV EAX,DWORD PTR DS:[F337F0]
  00F28A66    8B40 34         MOV EAX,DWORD PTR DS:[EAX+34]             ***********NOP
  00F28A69    FFD0            CALL EAX                                  ***********NOP
  00F28A6B    2945 0C         SUB DWORD PTR SS:[EBP+C],EAX              ***********NOP
  00F28A6E    8B45 0C         MOV EAX,DWORD PTR SS:[EBP+C]              ***********NOP
  00F28A71    2B43 18         SUB EAX,DWORD PTR DS:[EBX+18]
  00F28A74    2B43 68         SUB EAX,DWORD PTR DS:[EBX+68]
  00F28A77    8945 FC         MOV DWORD PTR SS:[EBP-4],EAX
  00F28A7A    8D43 24         LEA EAX,DWORD PTR DS:[EBX+24]
  00F28A7D    8945 F8         MOV DWORD PTR SS:[EBP-8],EAX
  00F28A80    85FF            TEST EDI,EDI
  00F28A82    76 38           JBE SHORT un_RSUpp.00F28ABC
  00F28A84    EB 01           JMP SHORT un_RSUpp.00F28A87
  
  
  修改为
  00F28A5B    8B73 30         MOV ESI,DWORD PTR DS:[EBX+30]            ; 123.01140D64
  00F28A5E    8B7B 14         MOV EDI,DWORD PTR DS:[EBX+14]
  00F28A61    A1 F037F300     MOV EAX,DWORD PTR DS:[F337F0]
  00F28A66    90              NOP
  00F28A67    90              NOP
  00F28A68    8B4424 58       MOV EAX,DWORD PTR SS:[ESP+58]
  00F28A6C    83E8 05         SUB EAX,5
  00F28A6F    90              NOP
  00F28A70    90              NOP
  00F28A71    2B43 18         SUB EAX,DWORD PTR DS:[EBX+18]
  00F28A74    2B43 68         SUB EAX,DWORD PTR DS:[EBX+68]
  00F28A77    8945 FC         MOV DWORD PTR SS:[EBP-4],EAX
  00F28A7A    8D43 24         LEA EAX,DWORD PTR DS:[EBX+24]
  00F28A7D    8945 F8         MOV DWORD PTR SS:[EBP-8],EAX
  00F28A80    85FF            TEST EDI,EDI
  00F28A82    76 38           JBE SHORT 123.00F28ABC
  00F28A84    EB 01           JMP SHORT 123.00F28A87
  
  
  改完后保存,运行,一切正常,收工
  
  
--------------------------------------------------------------------------------
【经验总结】
  前辈的脚本太厉害了
  
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2006年11月17日 20:36:01

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (43)
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
2
鼓励一下
每个人都要努力学习啊
2006-11-17 20:49
0
雪    币: 287
活跃值: (102)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
能得到FLY大侠的鼓励
  真是太荣幸拉
2006-11-17 20:55
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
感谢,脚本分析的好例程!学习
2006-11-17 21:02
0
雪    币: 250
活跃值: (11)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
我有个软件,像楼主这样改
修改为
  00F28A5B    8B73 30         MOV ESI,DWORD PTR DS:[EBX+30]            ; 123.01140D64
  00F28A5E    8B7B 14         MOV EDI,DWORD PTR DS:[EBX+14]
  00F28A61    A1 F037F300     MOV EAX,DWORD PTR DS:[F337F0]
  00F28A66    90              NOP
  00F28A67    90              NOP
  00F28A68    8B4424 58       MOV EAX,DWORD PTR SS:[ESP+58]
  00F28A6C    83E8 05         SUB EAX,5
  00F28A6F    90              NOP
  00F28A70    90              NOP
  00F28A71    2B43 18         SUB EAX,DWORD PTR DS:[EBX+18]
  00F28A74    2B43 68         SUB EAX,DWORD PTR DS:[EBX+68]
  00F28A77    8945 FC         MOV DWORD PTR SS:[EBP-4],EAX
  00F28A7A    8D43 24         LEA EAX,DWORD PTR DS:[EBX+24]
  00F28A7D    8945 F8         MOV DWORD PTR SS:[EBP-8],EAX
  00F28A80    85FF            TEST EDI,EDI
  00F28A82    76 38           JBE SHORT 123.00F28ABC
  00F28A84    EB 01           JMP SHORT 123.00F28A87
  
就不能去校验,是ASPR2.3   4.26版的,改了好几次,都不行,到
00F28A82    76 38           JBE SHORT 123.00F28ABC
就跳实现了,不知道如何去这个校验
2006-11-17 21:31
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
   强!  
 
   学习 学习!
疑问:

看到记录数据,
             iatstartaddr: 00401000 | RSUpper.<模块入口点>
             iatstart_rva: 00001000
             iatsize: 000002E0
  0114022F   断点位于 0114022F
             OEP_rva: 0000254C
  拿出SuperImportREC,选择瑞星升级保姆的进程
  OEP输入0000254C
  RAV输入1000
  大小输入1000  
  获取输入表,剪切掉无效的指针,抓取文件,修复后保存

  大小输入1000   好像上面这个iatsize: 000002E0  大小 是不是iat的大小哦?  是不是 2e0 呢? 还是 怎么得到的1000??

2006-11-17 21:39
0
雪    币: 287
活跃值: (102)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
7
但是程序的确运行了
2006-11-17 21:41
0
雪    币: 287
活跃值: (102)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
8
文件已经上传到空间
  你可以下过来对照看一下
http://ys-g.ys168.com/ys168up/D4/?升级保姆11.rary71z69fd4f9f9f9b5z9q9bp9b0b2bi0f5b0f9b2b4f9b7b4f6e14z97e14e24b1bp2f9b5b0f9fc6fd3z
2006-11-17 21:48
0
雪    币: 405
活跃值: (10)
能力值: ( LV9,RANK:1130 )
在线值:
发帖
回帖
粉丝
9
最初由 backuper 发布
强!  
 
   学习 学习!
疑问:

........


我也来学习。那脚本真叼。这样看来天可能真的会有一天塔下来的。

  按ALT+L

  看到记录数据,
             iatstartaddr: 00401000 | RSUpper.<模块入口点>
             iatstart_rva: 00001000
             iatsize: 000002E0     《《-这里
ImportREC里输入
  OEP输入0000254C
  RAV输入1000
  大小输入1000

居然这么久了还看到有人问“大小为什么是1000”,其实上面明明白白的写着大小是000002E0。楼主填1000,只是给我们参考吧我想,因为填000002E0就够了,没必要这么大的。不过脱多壳你就会发现一般iat的大小一般是不会大于1000的
2006-11-18 00:28
0
雪    币: 250
活跃值: (11)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
10
楼主的这个程序,呵呵,用这个办法是可以的,去校验也没问题,可是我脱的是ASPR2.3   04.26版的,去校验用这个方法就不行了,不知道为什么~!~!
2006-11-19 10:50
0
雪    币: 287
活跃值: (102)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
11
本想看看的
从看雪上下个2.3SKE 4.26的
居然还要激活码
2006-11-19 11:42
0
雪    币: 207
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
学习了!!!谢谢斑竹
2006-11-19 11:57
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
学习这样的分析
2006-11-20 09:13
0
雪    币: 203
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
iatfixer_2[1][1].2s 是如何加到od里的啊???!!!!
新手,请指教!
我的提示要1.47版本的什么东西!
2006-11-20 13:51
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
没找到: 00E70000

。。。。。
2006-11-20 16:12
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
太帅啦,统一有破法啦
2006-11-20 21:08
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
最初由 landychun 发布
iatfixer_2[1][1].2s 是如何加到od里的啊???!!!!
新手,请指教!
我的提示要1.47版本的什么东西!


请搜索: 这个脚本的原帖,,在最后几帖里已经有人写了详细使用方法了。
2006-11-21 09:34
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
拿出SuperImportREC,选择瑞星升级保姆的进程
  OEP输入0000254C
  RAV输入1000
  大小输入1000
  获取输入表,剪切掉无效的指针,抓取文件,修复后保存

OEP和RAV为什么要输入0000254C和1000呢,不太明白,请高手指点
2006-11-21 12:24
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
iatstart_rva: 00001000中的rva是什么意思?不明白
2006-11-21 12:29
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
14楼,那是因为你的脚本插件板本太低,去下载一个1.51版本的就可以搞定了

2006-11-21 12:42
0
雪    币: 287
活跃值: (102)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
21
最初由 边城浪子 发布
拿出SuperImportREC,选择瑞星升级保姆的进程
OEP输入0000254C
RAV输入1000
大小输入1000
获取输入表,剪切掉无效的指针,抓取文件,修复后保存
........


按下ALT+L后
OD告诉我的
呵呵
2006-11-21 14:26
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
ASProtect 2.1x SKE 对我来说算是比较猛的壳了!支持!
2006-11-21 17:15
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
  我觉得还是不要做这种侵犯知识产权的事情....没必要大肆宣扬
2006-11-21 17:44
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
正在学习脱壳,第一个碰到的就是ASProtect
感谢楼主,顺便问下楼主脱的软件版本是多少
2006-11-29 00:05
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
学习了,感谢!
2006-11-29 01:04
0
游客
登录 | 注册 方可回帖
返回
//