首页
社区
课程
招聘
[旧帖] [原创]一个Skype录音软件的手动脱壳及修复过程 0.00雪花
发表于: 2009-8-21 16:16 2913

[旧帖] [原创]一个Skype录音软件的手动脱壳及修复过程 0.00雪花

2009-8-21 16:16
2913

刚迈入破解的殿堂,菜鸟级,第一篇技术文章,难免有不足之处,请各位前辈们指点。

原程序:请见附件(是一个安装程序,安装完只有一个主程序RSkype.exe,一个放录音文件的空文件夹,还有一个空插件文件夹---在主程序第一次运行时才出现)

操作步骤:查壳、脱壳、修复

所用工具:PEiD,OllyDBG 汉化第三版,ImportREC 1.7汉化版

1.查壳用PEiD:

          把主程序拖入用PEiD窗口中,得到壳的信息
           
          PECompact 2.x -> Jeremy Collake

2.脱壳用OllyDBG :

         在OllyDBG中载入主程序RSkype.exe

00401000  > B8 54E37000          mov     eax, 0070E354   //OD载入,停到这里,F8单步

00401005     50                   push    eax
00401006     64:FF35 00000000     push    dword ptr fs:[0]
0040100D     64:8925 00000000     mov     dword ptr fs:[0], esp  //F8单步到这里,使用ESP定律,按F9

00401014     33C0                 xor     eax, eax
00401016     8908                 mov     dword ptr [eax], ecx   //异常暂停在这里,按Shift+F9继续

00401018     50                   push    eax
00401019     45                   inc     ebp
0040101A     43                   inc     ebx
0040101B     6F                   outs    dx, dword ptr es:[edi]    ; I/O 命令
0040101C     6D                   ins     dword ptr es:[edi], dx    ; I/O 命令

按Shift+F9之后跳到这里

0070E377     B8 D9D070F0          mov     eax, F070D0D9  
0070E37C     64:8F05 00000000     pop     dword ptr fs:[0]   
0070E383     83C4 04          add     esp, 4   //ESP定律后,暂停到这里,向下找关键跳转,F8单步走

0070E386     55                   push    ebp
0070E387     53                   push    ebx
0070E388     51                   push    ecx
0070E389     57                   push    edi
0070E38A     56                   push    esi
0070E38B     52                   push    edx
0070E38C     8D98 57120010        lea     ebx, dword ptr [eax+10001>

…………中间代码省略

0070E40B     57                   push    edi
0070E40C     FF11                 call    dword ptr [ecx]
0070E40E     8BC6                 mov     eax, esi
0070E410     5A                   pop     edx
0070E411     5E                   pop     esi
0070E412     5F                   pop     edi
0070E413     59                   pop     ecx
0070E414     5B                   pop     ebx
0070E415     5D                   pop     ebp
0070E416   - FFE0                 jmp     eax                    ; RSkype.005CC464   //关键跳,应该是跳向OEP,按F8

F8后,跳到

005CC464     55                   push    ebp   //跨段跳转,到达EOP,记下OEP值,修复时需要用到

005CC465     8BEC                 mov     ebp, esp
005CC467     83C4 F0              add     esp, -10
005CC46A     B8 0CBD5C00          mov     eax, 005CBD0C
005CC46F     E8 C4ABE3FF          call    00407038
005CC474     A1 08225E00          mov     eax, dword ptr [5E2208]
005CC479     C600 01              mov     byte ptr [eax], 1
005CC47C     A1 AC265E00          mov     eax, dword ptr [5E26AC]
005CC481     8B00                 mov     eax, dword ptr [eax]
005CC483     E8 C81AECFF          call    0048DF50

找到EOP后,开始脱壳,用OB的Dump插件,Dump程序

插件---OllyDump---脱壳在当前调试的进程,启动窗口:

脱壳---方式1命名为:dump111.exe
          方式2命名为:dump222.exe

进入文件夹,测试脱壳的文件,方式1的dump111.exe能直接运行,而方式2的dump222.exe无法运行,看来需要修复其输入表。

3.修复用ImportREC:

    打开ImportREC 1.7汉化版,在“附加一个活动进程”里选择“rskype.exe”进程,在OEP里输入=005CC464-0400000(基址)=001CC464,分别点“自动搜索”,“获取输入表”,输入表大小=000009BC,ImportREC能找到所需的所有输入表函数,说明其大小正确,如果大小不正确,还需要手动来确定程序的IAT输入表函数的大小。在确定输入表函数正确之后,点“修复转存文件”,找到刚才dump方式2的命名为dump222.exe的文件,点击选种,并点击窗口上的“打开”按扭,dump222.exe文件的输入表修复完成。

   我们来看看修复的是否成功?进入程序文件夹,打开修复后的dump222_.exe测试,发现其能正确运行,看来起修复输入表的过程是成功的。

写在后面的话:接触了这方面的知识有段时间,但写技术行的帖子还是第一次。对软件的破解有很高的热情,我会在以后的日子里更加的努力,望自己也能成为一名高手。


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

上传的附件:
收藏
免费 7
支持
分享
最新回复 (19)
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不错,讲解得很详细,支持一下
2009-8-21 17:53
0
雪    币: 60
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
谢谢  楼上的鼓励  但不知道能不能真的给大家帮助?
2009-8-22 15:06
0
雪    币: 60
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
哈哈  自己再顶下,现在在继续深入中,期待以后能给大家带来更高深,更有技术含量的文章。
2009-8-23 12:22
0
雪    币: 60
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
不知道有没有调试不成功的?请各位在调试过程中有什么问题给我留言?谢谢
2009-8-24 08:48
0
雪    币: 234
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
LZ调试的是那个有名的流氓软件么?
脱得不错,看来我也得努力了
2009-8-24 12:29
0
雪    币: 60
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
LS上的说的是哪个软件?貌似不是我这个。
2009-8-24 14:55
0
雪    币: 60
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
今天终于成为了正式会员,我会珍惜这来之不易的学习机会,努力耕耘,希望将来的某一天能为看雪的发展尽一份力。
2009-8-26 11:49
0
雪    币: 83
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
9
davidyog
恭喜你啊!!我今天也获得邀请码了!!
但,遇到了一个问题,这个标题怎么修改啊??惭愧啊!!不会用
2009-8-26 13:02
0
雪    币: 96
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
点“编辑”,然后选“进入高级模式”便有修改标题的功能了。
2009-8-26 14:17
0
雪    币: 82
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
不错。。很好的东西
2009-8-26 15:12
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
Very Good For Me!
2009-11-9 23:35
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
看不懂呀 没有基础
2009-11-11 12:34
0
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
你在设置里把非法访问内存忽略勾上就不会停在00401016 上了。
2009-11-11 23:07
0
雪    币: 16
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
看来汇编还要加强,没看懂多少.....
2009-11-11 23:16
0
雪    币: 173
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
继续学习学习
2009-11-12 00:24
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
好东西,楼主强悍
2009-11-13 16:52
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
正在学汇编
2009-11-13 16:56
0
雪    币: 173
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
再进来看看。
2009-11-14 14:30
0
雪    币: 47
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
谢谢 学习学习
2009-11-14 14:40
0
游客
登录 | 注册 方可回帖
返回
//