首页
社区
课程
招聘
VB函数速查.eXe 脱壳后附加数据的修复
发表于: 2004-7-31 17:51 20524

VB函数速查.eXe 脱壳后附加数据的修复

fly 活跃值
85
2004-7-31 17:51
20524

ASPack 2.12 -> Alexey Solodovnikov [Overlay],用AsprStripper自动脱壳,或者手动脱壳。
用WinHex把原程序偏移地址94600-末尾的附加数据复制、粘贴到脱壳后的程序末尾。

可以对原程序下断:BP SetFilePointer
看看读取哪些数据。修复很简单。
附图解1张


0058EB0C     8B45 F8               mov eax,dword ptr ss:[ebp-8]
0058EB0F     BA 4CEC5800           mov edx,VB函数速.0058EC4C; ASCII "FSJM IPD W32"
0058EB14     E8 675DE7FF           call VB函数速.00404880//比较末尾有无FSJM IPD W32字符  ★
0058EB19     0F85 E4000000         jnz VB函数速.0058EC03//没有则弹出需要IPD数据的窗口,是“搭建之星”
0058EB1F     8B03                  mov eax,dword ptr ds:[ebx]
0058EB21     8B10                  mov edx,dword ptr ds:[eax]
0058EB23     FF12                  call dword ptr ds:[edx]//取得文件长度=000CDC31
0058EB25     52                    push edx
0058EB26     50                    push eax
0058EB27     8B06                  mov eax,dword ptr ds:[esi]
0058EB29     99                    cdq
0058EB2A     290424                sub dword ptr ss:[esp],eax
//长度-C=000CDC25   "FSJM IPD W32""字符串位置
0058EB2D     195424 04             sbb dword ptr ss:[esp+4],edx
0058EB31     58                    pop eax
0058EB32     5A                    pop edx
0058EB33     83E8 08               sub eax,8
0058EB36     83DA 00               sbb edx,0
0058EB39     52                    push edx
0058EB3A     50                    push eax
0058EB3B     8B03                  mov eax,dword ptr ds:[ebx]
0058EB3D     E8 A21BE9FF           call VB函数速.004206E4
//094600处,即是附加数据的开始偏移地址 ★
//把094600修改为脱壳后的附加数据的开始偏移地址

0058EB42     8D55 F0               lea edx,dword ptr ss:[ebp-10]
0058EB45     8B03                  mov eax,dword ptr ds:[ebx]
0058EB47     B9 04000000           mov ecx,4
0058EB4C     E8 9F1DE9FF           call VB函数速.004208F0
0058EB51     8B45 F0               mov eax,dword ptr ss:[ebp-10]
//[0012FF58]=000CDC05  原版偏移0CDC1D处的数据 ★
//把000CDC05修正为脱壳后附加数据的相应偏移地址

0058EB54     99                    cdq
0058EB55     52                    push edx
0058EB56     50                    push eax
0058EB57     8B03                  mov eax,dword ptr ds:[ebx]
0058EB59     E8 861BE9FF           call VB函数速.004206E4
0058EB5E     8BD6                  mov edx,esi
0058EB60     8B03                  mov eax,dword ptr ds:[ebx]
0058EB62     B9 04000000           mov ecx,4
0058EB67     E8 841DE9FF           call VB函数速.004208F0
0058EB6C     8B06                  mov eax,dword ptr ds:[esi]
0058EB6E     3B45 F0               cmp eax,dword ptr ss:[ebp-10]
0058EB71     74 37                 je short VB函数速.0058EBAA
0058EB73     8D45 F8               lea eax,dword ptr ss:[ebp-8]
0058EB76     8B16                  mov edx,dword ptr ds:[esi]
0058EB78     E8 435FE7FF           call VB函数速.00404AC0
0058EB7D     8B55 F8               mov edx,dword ptr ss:[ebp-8]
0058EB80     8B03                  mov eax,dword ptr ds:[ebx]
0058EB82     8B0E                  mov ecx,dword ptr ds:[esi]
0058EB84     E8 671DE9FF           call VB函数速.004208F0
0058EB89     8BD6                  mov edx,esi
0058EB8B     8B03                  mov eax,dword ptr ds:[ebx]
0058EB8D     B9 04000000           mov ecx,4
0058EB92     E8 591DE9FF           call VB函数速.004208F0
0058EB97     A1 48685900           mov eax,dword ptr ds:[596848]
0058EB9C     8B00                  mov eax,dword ptr ds:[eax]
0058EB9E     8B0E                  mov ecx,dword ptr ds:[esi]
0058EBA0     8B55 F8               mov edx,dword ptr ss:[ebp-8]
0058EBA3     8B38                  mov edi,dword ptr ds:[eax]
0058EBA5     FF57 3C               call dword ptr ds:[edi+3C]
0058EBA8     EB B4                 jmp short VB函数速.0058EB5E
0058EBAA     8D55 E4               lea edx,dword ptr ss:[ebp-1C]
0058EBAD     A1 A8675900           mov eax,dword ptr ds:[5967A8]
0058EBB2     8B00                  mov eax,dword ptr ds:[eax]
0058EBB4     E8 DF52F0FF           call VB函数速.00493E98
0058EBB9     8B45 E4               mov eax,dword ptr ss:[ebp-1C]
0058EBBC     8D55 E8               lea edx,dword ptr ss:[ebp-18]
0058EBBF     E8 08ABE7FF           call VB函数速.004096CC
0058EBC4     8B55 E8               mov edx,dword ptr ss:[ebp-18]
0058EBC7     A1 44665900           mov eax,dword ptr ds:[596644]
0058EBCC     E8 F758E7FF           call VB函数速.004044C8
0058EBD1     8D4D DC               lea ecx,dword ptr ss:[ebp-24]
0058EBD4     A1 48685900           mov eax,dword ptr ds:[596848]
0058EBD9     8B00                  mov eax,dword ptr ds:[eax]
0058EBDB     33D2                  xor edx,edx
0058EBDD     8B18                  mov ebx,dword ptr ds:[eax]
0058EBDF     FF53 0C               call dword ptr ds:[ebx+C]
0058EBE2     8B55 DC               mov edx,dword ptr ss:[ebp-24]
0058EBE5     8D4D E0               lea ecx,dword ptr ss:[ebp-20]
0058EBE8     A1 44665900           mov eax,dword ptr ds:[596644]
0058EBED     8B00                  mov eax,dword ptr ds:[eax]
0058EBEF     E8 1026F2FF           call VB函数速.004B1204
0058EBF4     8B55 E0               mov edx,dword ptr ss:[ebp-20]
0058EBF7     8B45 FC               mov eax,dword ptr ss:[ebp-4]
0058EBFA     E8 C958E7FF           call VB函数速.004044C8
0058EBFF     B3 01                 mov bl,1
0058EC01     EB 0D                 jmp short VB函数速.0058EC10
0058EC03     8B03                  mov eax,dword ptr ds:[ebx]
0058EC05     E8 564AE7FF           call VB函数速.00403660
0058EC0A     33C0                  xor eax,eax
0058EC0C     8903                  mov dword ptr ds:[ebx],eax
0058EC0E     33DB                  xor ebx,ebx
0058EC10     33C0                  xor eax,eax
0058EC12     5A                    pop edx
0058EC13     59                    pop ecx
0058EC14     59                    pop ecx
0058EC15     64:8910               mov dword ptr fs:[eax],edx
0058EC18     68 3AEC5800           push VB函数速.0058EC3A
0058EC1D     8D45 DC               lea eax,dword ptr ss:[ebp-24]
0058EC20     BA 05000000           mov edx,5
0058EC25     E8 6E58E7FF           call VB函数速.00404498
0058EC2A     8D45 F8               lea eax,dword ptr ss:[ebp-8]
0058EC2D     E8 4258E7FF           call VB函数速.00404474
0058EC32     C3                    retn

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

收藏
免费 7
支持
分享
最新回复 (28)
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
2
把这个关于附加数据处理的主题分离独立出来
2004-12-22 13:25
0
雪    币: 241
活跃值: (175)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
应该给个原程序,让大家试试,或者给个连接如何?
2004-12-22 19:26
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
4
2004-12-22 20:50
0
雪    币: 98745
活跃值: (201039)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
5
支持!!!
2004-12-22 22:42
0
雪    币: 241
活跃值: (175)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
6
最初由 fly 发布
N久了

原版可以在这个帖子里面下载
http://bbs.pediy.com/showthread.php?s=&threadid=3314&highlight=%B4%EE%BD%A8%D6%AE%D0%C7


谢了

最初由 linhanshi 发布
支持!!!


你咋什么都支持?看你最多的就是支持.:D
2004-12-22 23:32
0
雪    币: 303
活跃值: (476)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
0058EB3B     8B03                  mov eax,dword ptr ds:[ebx]
0058EB3D     E8 A21BE9FF           call VB函数速.004206E4
//094600处,即是附加数据的开始偏移地址 ★
//把094600修改为脱壳后的附加数据的开始偏移地址

0058EB42     8D55 F0               lea edx,dword ptr ss:[ebp-10]
0058EB45     8B03                  mov eax,dword ptr ds:[ebx]
0058EB47     B9 04000000           mov ecx,4
0058EB4C     E8 9F1DE9FF           call VB函数速.004208F0
0058EB51     8B45 F0               mov eax,dword ptr ss:[ebp-10]
//[0012FF58]=000CDC05  原版偏移0CDC1D处的数据 ★
//把000CDC05修正为脱壳后附加数据的相应偏移地址

问题1:使用OD调试脱壳后的程序吗?
       好象OD调试脱壳后的程序(由于没有附加数据)是不正常的!
多谢
2004-12-24 22:11
0
雪    币: 212
活跃值: (105)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
8
辛苦了,圣诞节快乐 fly. :)
2004-12-24 22:49
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
9
TO liuyilin :

看图片中的红字部分
脱壳后附加数据相应偏移地址就是你转贴的开始地址
2004-12-24 23:07
0
雪    币: 303
活跃值: (476)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
最初由 fly 发布
TO liuyilin :

看图片中的红字部分
脱壳后附加数据相应偏移地址就是你转贴的开始地址

谢谢FLY
2004-12-25 12:07
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
11
脱壳后你粘贴附加数据的地址

比如你贴在060000后面,094600就改成060000
000CDC05则要看相应的偏移地址确定
2004-12-25 18:01
0
雪    币: 303
活跃值: (476)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
谢谢fly,已经搞定了!谢谢!!!!!
2004-12-26 10:08
0
雪    币: 303
活跃值: (476)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
wait fly
2004-12-26 11:35
0
雪    币: 221
活跃值: (2391)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
谢谢fly,已经搞定了!谢谢!!!!!
2004-12-26 15:19
0
雪    币: 303
活跃值: (476)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
谢谢fly,已经搞定了!谢谢!!!!!
2004-12-26 16:20
0
雪    币: 224
活跃值: (100)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
16
是不是用“易语言”编写的哦,里面在解释执行中文的命令
2004-12-26 16:50
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
17
看样子你少贴了部分数据
你做的程序还是这个VB函数速查.eXe吧
2004-12-26 17:24
0
雪    币: 303
活跃值: (476)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
最初由 fly 发布
看样子你少贴了部分数据
你做的程序还是这个VB函数速查.eXe吧

是VB函数速查.eXe呀!
FLY能否把脱完的给我一个,我比较一下吧?
这个问题困饶了我很长时间
多谢了email: [email]liuyilin@eyou.com[/email]
原文件:
http://5dai.nease.net/soft/vb/vbhssc.rar
2004-12-26 17:35
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
19
我的资料在以前的电脑里面
你可以先看一下教程所用的例子

在第4楼所提的链接里
2004-12-26 17:39
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
20
UnPacked_VB函数速查.exe
已经mail给你
你自己比较查看吧
2004-12-26 17:52
0
雪    币: 303
活跃值: (476)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
FLY兄弟不好意思,上回是丢失了代码,改正如下:

再次请问:
这个094600和000CDC05改成什么值
万分感谢
2004-12-26 18:13
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
22
试试:
004609->00101E
05DC0C->058821

祝好运  :D
2004-12-26 18:25
0
雪    币: 303
活跃值: (476)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
已经搞定
忠心感谢FLY兄弟
2004-12-26 19:01
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
最初由 liuyilin 发布
FLY兄弟不好意思,上回是丢失了代码,改正如下:

......晕.
我还没弄明白.

有没有朋友再深入浅出地解释一下?
2004-12-26 19:53
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
呵,我发了mail给你。
希望能帮下。
谢谢了。
2004-12-26 22:10
0
游客
登录 | 注册 方可回帖
返回
//