首页
社区
课程
招聘
[原创]一个外挂脱壳的全过程(附加数据处理+自校验修复)
发表于: 2007-3-18 22:18 15838

[原创]一个外挂脱壳的全过程(附加数据处理+自校验修复)

2007-3-18 22:18
15838
⑴脱壳:
  该外挂的壳是NsPack 1.4,这是比较少见的,呵呵。ESP定律3秒搞定。
⑵附加数据处理:
  用Stud_PE抓取原程序的附加数据,然后用WinHex将其复制,并粘贴到脱壳后的程序尾部。幸运的是,该程序全部是从end开始读取数据,不用修复指针。附加数据处理完毕,大概1分钟。运行,程序界面没显示,估计应该有自校验。
⑶自校验处理:
  查看进程目录,没有发现我们刚才运行的程序,说明该程序并不是出现内存方面的错误,应该是已经自动退出了。于是用OD装载脱壳后的程序,bp ExitProcess,F9运行,断在这里:
7C81CAA2 >  8BFF            MOV EDI,EDI
7C81CAA4    55              PUSH EBP
7C81CAA5    8BEC            MOV EBP,ESP
7C81CAA7    6A FF           PUSH -1
7C81CAA9    68 B0F3E877     PUSH 77E8F3B0
7C81CAAE    FF75 08         PUSH DWORD PTR SS:[EBP+8]
7C81CAB1    E8 46FFFFFF     CALL kernel32.7C81C9FC
7C81CAB6    E9 29CF0100     JMP kernel32.7C8399E4
堆栈:
0012FA80   100298AD  /CALL 到 ExitProcess 来自 krnln.100298A7
0012FA84   00000000  \ExitCode = 0
看到krnln了,原来是易语言程序。
我们转到100298A7这里去(在堆栈处按回车):
10029892    55              PUSH EBP
10029893    8BEC            MOV EBP,ESP
10029895    8B45 08         MOV EAX,DWORD PTR SS:[EBP+8]
10029898    50              PUSH EAX
10029899    B9 10DB0E10     MOV ECX,krnln.100EDB10
1002989E    E8 4DC40200     CALL krnln.10055CF0
100298A3    8B4D 08         MOV ECX,DWORD PTR SS:[EBP+8]
100298A6    51              PUSH ECX
100298A7    FF15 D4230C10   CALL DWORD PTR DS:[100C23D4]             ; kernel32.ExitProcess         (这里)
100298AD    5D              POP EBP
100298AE    C3              RETN
我们在10029892    55              PUSH EBP下硬件执行断点。
重新开始,F9,停在这里:
10029892    55              PUSH EBP
10029893    8BEC            MOV EBP,ESP
10029895    8B45 08         MOV EAX,DWORD PTR SS:[EBP+8]
10029898    50              PUSH EAX
10029899    B9 10DB0E10     MOV ECX,krnln.100EDB10
1002989E    E8 4DC40200     CALL krnln.10055CF0
100298A3    8B4D 08         MOV ECX,DWORD PTR SS:[EBP+8]
100298A6    51              PUSH ECX
100298A7    FF15 D4230C10   CALL DWORD PTR DS:[100C23D4]             ; kernel32.ExitProcess         
100298AD    5D              POP EBP
100298AE    C3              RETN
为了知道程序是从哪里CALL到这里的(观察堆栈也行),我们把这两句
100298A6    51              PUSH ECX
100298A7    FF15 D4230C10   CALL DWORD PTR DS:[100C23D4]             ; kernel32.ExitProcess
nop掉。接着我们按F8,由于那两句被nop掉了,程序并不会退出,程序会返回到这里:
0042B2AE      EB 01         JMP SHORT 3.0042B2B1
0042B2B0      0FF972 01     PSUBW MM6,QWORD PTR DS:[EDX+1]
0042B2B4      8A83 7DF4FF0F MOV AL,BYTE PTR DS:[EBX+FFFF47D]
0042B2BA      8411          TEST BYTE PTR DS:[ECX],DL
0042B2BC      0000          ADD BYTE PTR DS:[EAX],AL
0042B2BE      00EB          ADD BL,CH
0042B2C0      0178 F8       ADD DWORD PTR DS:[EAX-8],EDI
0042B2C3      73 01         JNB SHORT 3.0042B2C6
0042B2C5      0F6A00        PUNPCKHDQ MM0,QWORD PTR DS:[EAX]
0042B2C8      E8 DC0C0200   CALL 3.0044BFA9
0042B2CD      83C4 04       ADD ESP,4             (返回到这里)
上面的代码显然是花指令,我们处理一下后,得到如下代码:
0042B2AE     /EB 01         JMP SHORT 3.0042B2B1
0042B2B0     |90            NOP
0042B2B1     \F9            STC
0042B2B2      72 01         JB SHORT 3.0042B2B5
0042B2B4      90            NOP
0042B2B5      837D F4 FF    CMP DWORD PTR SS:[EBP-C],-1
0042B2B9      0F84 11000000 JE 3.0042B2D0
0042B2BF      EB 01         JMP SHORT 3.0042B2C2
0042B2C1      90            NOP
0042B2C2      F8            CLC
0042B2C3      73 01         JNB SHORT 3.0042B2C6
0042B2C5      90            NOP
0042B2C6      6A 00         PUSH 0
0042B2C8      E8 DC0C0200   CALL 3.0044BFA9
0042B2CD      83C4 04       ADD ESP,4            (返回到这里)
显然这一句0042B2B9      0F84 11000000 JE 3.0042B2D0可以跳过0042B2C8      E8 DC0C0200   CALL 3.0044BFA9(这个CALL导致程序退出),于是我们把JE改成JNZ即可!修复保存,运行,一切OK!

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (23)
雪    币: 337
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
顶一个
不错,支持,人人都这么写就没菜鸟了!
2007-3-18 22:20
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
支持,多写点带说明的,偶这样菜鸟好学很多
2007-3-18 22:44
0
雪    币: 9
活跃值: (137)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
4
顶你一下,别叫痛~~~~~~~~~
2007-3-18 23:43
0
雪    币: 146
活跃值: (72)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
学习了!

没有地址的话,传到我的空间吧:ftp://sub:1231@61.139.55.82:7777
大家也好练习练习.
2007-3-18 23:52
0
雪    币: 144
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
怎么去花的啊 如果给个地址,练习下就好了
2007-3-19 13:21
0
雪    币: 235
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
7
nop掉某些字节,就可以了去花了。
2007-3-19 13:45
0
雪    币: 235
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
8
文件有6M,传不上来!
2007-3-19 13:46
0
雪    币: 144
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
下载地址而已,不是要你传上来
2007-3-19 13:59
0
雪    币: 235
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
10
没地址啊,是一个朋友写的外挂!我想办法传到一个空间吧!
2007-3-19 14:11
0
雪    币: 144
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
最初由 iamcrackin 发布
没地址啊,是一个朋友写的外挂!我想办法传到一个空间吧!


支持,主要想练习下....感觉你思路真不错..把我的捆饶解决了一半了 哈哈
2007-3-19 14:22
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
有下载地址吗  我要下一个试一下
2007-3-19 14:56
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
不错,顶一下。
2007-3-21 09:54
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
写的好啊  我也想成为高手
2007-3-21 16:59
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
不错。就是没声色并茂。
2007-4-12 18:35
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
希望做个录像出来
2007-4-12 18:36
0
雪    币: 14
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
学习了,谢谢
2007-4-12 18:34
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
学习&&收藏
2007-4-13 13:56
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
支持~!!!!!
2007-4-15 15:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
向大虾们请教个问题!我用 ResHacker 3.5 编辑工具,编辑一个外挂内容,然后有一个文件编辑不了,出现: 文件有非标准资源 它可能被"exe 压缩器"压缩了。 这个内容,请问是不是加壳了,我该用什么办法脱壳,谢谢!最好是有朋友帮我脱,我一点都不会- -!
2007-4-15 16:10
0
雪    币: 209
活跃值: (250)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
就算脱了壳有时也会提示压缩的,去主页下个修复软件
2007-4-28 12:42
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
学习一下了。。
2007-4-28 12:58
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
各们高手们,你们好!!!  
  小弟有一事相求,这是网游《仙界传》外挂——仙界幽灵,点“仁”自动生成机器,然后向楼主每月更新费用40WXJB(游戏币)索取ID码。让大家很感不畅,麻烦大侠们费心再破解一下!!!  我是新注册不能上传,请下载网址:  http://xiaochong.siteem.com/  点击“请大家下载更新,然后索取新授权号!”下载外挂。
    十分希望,百分肯求,千分感激,万分感谢,帮帮忙吧~~~

                                                     秋凤儿 邮箱  lbw123@avl.com.cn
                                                              2007.4.28
2007-4-28 13:32
0
雪    币: 325
活跃值: (97)
能力值: ( LV13,RANK:530 )
在线值:
发帖
回帖
粉丝
24
易语言的程序不用ECE。高人。
2007-4-28 19:54
0
游客
登录 | 注册 方可回帖
返回
//