首页
社区
课程
招聘
[原创][传奇3G大补帖2.02版 脱壳+破解]
发表于: 2006-1-14 00:35 8357

[原创][传奇3G大补帖2.02版 脱壳+破解]

2006-1-14 00:35
8357
【传奇3G大补帖2.02版 脱壳+破解】

【破解作者】 RegKiller
【作者邮箱】 [email]RegKiller2002@yahoo.com.cn[/email]
【作者主页】 无
【使用工具】 OllyDBG 汉化第二版 LordPE Deluxe 增强版 ImportREC v1.6F PEiD v0.94 箫心汉化 UltraEdit-32 v11.20a
【破解平台】 XP SP2
【软件名称】 传奇3G大补帖2.02版
【下载地址】 http://dx.gameswg.net/dbt202.exe
【软件简介】 适用传奇3G 2005版

【软件大小】 636KB
【加壳方式】 Upack 2.x - 3.x Heuristic Mode -> Dwing
【破解声明】 既然作者已经说:考虑到使用辅助程序可能会导致封号,为广大玩家利益考虑,大补帖从即日起暂停更新!
             现在把这篇文章献给初学者
--------------------------------------------------------------------------------
【破解内容】

下载后用RAR解压得到2个文件。
用PEiD查壳为Upack 2.x - 3.x Heuristic Mode -> Dwing 这壳俺第一次碰到,手脱。
用OD载入Dbt3G.exe

00401030 > $- E9 7DCE0F00   JMP Dbt3G.004FDEB2                       ; 入口点,F8向下走
00401035   .  42 79 44 77 6>ASCII "ByDwing@",0
0040103E      00            DB 00
0040103F      00504500      DD Dbt3G.00455000

004FDEB2    BE 88014000     MOV ESI,Dbt3G.00400188                   ; F8 一直向下走
004FDEB7    AD              LODS DWORD PTR DS:[ESI]
004FDEB8    8BF8            MOV EDI,EAX

004FDEF1    B0 01           MOV AL,1
004FDEF3    E3 29           JECXZ SHORT Dbt3G.004FDF1E               ; 继续向下走会跳转
004FDEF5    8BD7            MOV EDX,EDI
004FDEF7    2B55 0C         SUB EDX,DWORD PTR SS:[EBP+C]

004FDF1E    B5 01           MOV CH,1                                 ; 继续向下走
004FDF20    FF56 08         CALL DWORD PTR DS:[ESI+8]
004FDF23    33C9            XOR ECX,ECX
004FDF25    FF66 24         JMP DWORD PTR DS:[ESI+24]                ; 跳

004FE027    AA              STOS BYTE PTR ES:[EDI]
004FE028    3B7E 2C         CMP EDI,DWORD PTR DS:[ESI+2C]
004FE02B    73 03           JNB SHORT Dbt3G.004FE030
004FE02D    FF66 28         JMP DWORD PTR DS:[ESI+28]
004FE030    58              POP EAX                                  ; F4运行到这
004FE031    8B4E 30         MOV ECX,DWORD PTR DS:[ESI+30]
004FE034    5F              POP EDI
004FE035    E3 1B           JECXZ SHORT Dbt3G.004FE052
004FE037    8A07            MOV AL,BYTE PTR DS:[EDI]
004FE039    47              INC EDI
004FE03A    04 18           ADD AL,18
004FE03C    3C 02           CMP AL,2
004FE03E  ^ 73 F7           JNB SHORT Dbt3G.004FE037
004FE040    8B07            MOV EAX,DWORD PTR DS:[EDI]               ; F4运行到这
004FE042    3C 16           CMP AL,16
004FE044  ^ 75 F1           JNZ SHORT Dbt3G.004FE037
004FE046    B0 00           MOV AL,0
004FE048    0FC8            BSWAP EAX
004FE04A    0346 1C         ADD EAX,DWORD PTR DS:[ESI+1C]
004FE04D    2BC7            SUB EAX,EDI
004FE04F    AB              STOS DWORD PTR ES:[EDI]
004FE050  ^ E2 E5           LOOPD SHORT Dbt3G.004FE037
004FE052    8B5E 34         MOV EBX,DWORD PTR DS:[ESI+34]            ; F4运行到这
004FE055    8B76 38         MOV ESI,DWORD PTR DS:[ESI+38]
004FE058    46              INC ESI
004FE059    AD              LODS DWORD PTR DS:[ESI]
004FE05A    85C0            TEST EAX,EAX
004FE05C  - 0F84 5EB4F8FF   JE Dbt3G.004894C0                        ; 此处F2下断,按15次F9后寄存器中EAX值为0同时此处跳转也已实现。跳到光明之处。

004894C0    55              PUSH EBP                                 ; CHAR 'U' 光标停到这。右键->分析->从模块中删除分析,真正代码出现后就可以脱壳了
004894C1    8BEC            MOV EBP,ESP
004894C3    83C4 F0         ADD ESP,-10
004894C6    B8 28914800     MOV EAX,Dbt3G.00489128
004894CB    E8 68D2F7FF     CALL Dbt3G.00406738
004894D0    6A 00           PUSH 0
004894D2    68 3C954800     PUSH Dbt3G.0048953C                      ; ASCII "Mir3G_Plugin_DBT3G"
004894D7    E8 3CDAF7FF     CALL Dbt3G.00406F18                      ; JMP 到 USER32.FindWindowA

修复IAT

运行未脱壳的 Dbt3G.exe 然后打开 ImportREC v1.6F 在"附加到一个活动进程"下拉列表框里选择 Dbt3G.exe,然后在下面的"需要的 IAT 信息"中的OEP处把 00001030 修改为 000894C0 然后选择"自动查找 IAT"然后再点"获取输入表",看到上面"找到的输入表函数"列表框里没有无效的函数名就可以转存了。按下面的"修复转存文件"然后选择脱壳后的那个EXE文件修复。修复完后文件夹里多出个_.exe的文件。这个就是修复好的。

用OD从新载入修复IAT后的文件,F9运行程序。然后在程序中选"记次方式",账号和密码随便填.然后登陆,这时程序弹出"输入的大补帖用户名称或密码有误"此时在OD中点右键,超级字串参考+ -> 1 查找 ASCII

超级字串参考+        , 条目 761
 地址=00486691
 反汇编=MOV EDX,2修复IAT.00486894
 文本字串=登录成功!

在表中找到"登录成功"并在上面双击鼠标

0048668E  |.  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
00486691  |.  BA 94684800   MOV EDX,2修复IAT.00486894                  ;  登录成功!
00486696  |.  E8 29DFF7FF   CALL 2修复IAT.004045C4
0048669B  |.  8B83 54030000 MOV EAX,DWORD PTR DS:[EBX+354]

我们来到 00486691 在这向上找

00486627  |.  33F6          XOR ESI,ESI
00486629  |>  85F6          TEST ESI,ESI
0048662B  |. /0F8C 64010000 JL 2修复IAT.00486795                       ;  关键跳 在此处下断,从新点登陆
00486631  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]

程序停在0048662B,把这句NOP掉。F8向下走。一直走到 0048672C 把这句NOP掉

0048672C  |. /75 32         JNZ SHORT 2修复IAT.00486760                ;  把这句NOP掉
0048672E  |. |8D45 C4       LEA EAX,DWORD PTR SS:[EBP-3C]
00486731  |. |50            PUSH EAX                                 ; /Arg1
00486732  |. |8B45 F4       MOV EAX,DWORD PTR SS:[EBP-C]             ; |
00486735  |. |8945 CC       MOV DWORD PTR SS:[EBP-34],EAX            ; |
00486738  |. |C645 D0 0B    MOV BYTE PTR SS:[EBP-30],0B              ; |
0048673C  |. |8975 D4       MOV DWORD PTR SS:[EBP-2C],ESI            ; |
0048673F  |. |C645 D8 00    MOV BYTE PTR SS:[EBP-28],0               ; |
00486743  |. |8D55 CC       LEA EDX,DWORD PTR SS:[EBP-34]            ; |
00486746  |. |B9 01000000   MOV ECX,1                                ; |
0048674B  |. |B8 CC684800   MOV EAX,2修复IAT.004868CC                  ; |%s\n\n大补帖帐户还剩 %d 次
00486750  |. |E8 4733F8FF   CALL 2修复IAT.00409A9C                     ; \2修复IAT.00409A9C

通过把 0048662B 和 0048672C 改成NOP后程序的包月方式和记次方式都已经破解了。

现在运行程序

包月方式登陆后程序显示为:
登录成功!

大补帖帐户还剩 0 天

记次方式登陆后程序显示为:
登录成功!

大补帖帐户还剩 -11 次

这里的0天和-11次看着不爽,我们继续修改。

用UE查找ASCII字符串
大补帖帐户还剩 %s 天
大补帖帐户还剩 %d 次

改成
大补帖帐户可用无数天
大补帖帐户可用无数次

完成

如果有看不明白的地方可以与我联系
QQ:14403147
--------------------------------------------------------------------------------
【破解总结】

这个壳不难脱,至于为什么我知道应该让程序怎么走原因是我脱壳的时候手动单步跟踪后才明白什么地方应该怎么走的,大家多多练习才行,这个没什么好解释的。

程序中的:大补帖帐户还剩 %s 天 和 大补帖帐户还剩 %d 次 中的%后跟的是变量,这个变量是从网络上读取回来的,我们不是正式用户,所以程序读回来的是错误的数值。
--------------------------------------------------------------------------------
【爆破地址】

0048662B
0048672C
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
本代码由xTiNt自动着色 http://kbadboy.yeah.net

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 212
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
不错,说得很详细,向你学习!
好像论坛里有一个DWING挺厉害的
2006-1-14 08:20
0
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
最初由 RegKiller 发布
【传奇3G大补帖2.02版 脱壳+破解】

【破解作者】 RegKiller
【作者邮箱】 [email]RegKiller2002@yahoo.com.cn[/email]
【作者主页】 无
........


你确信这样可以激活?我记得传奇3大补帖,这段代码是内存生成的。
2006-1-14 10:42
0
雪    币: 817
活跃值: (1927)
能力值: ( LV12,RANK:2670 )
在线值:
发帖
回帖
粉丝
4
最初由 RegKiller 发布
【传奇3G大补帖2.02版 脱壳+破解】

【破解作者】 RegKiller
【作者邮箱】 [email]RegKiller2002@yahoo.com.cn[/email]
【作者主页】 无
........


你确定可以用么?

爆破不是那么容易滴~~~
呵呵~~象 蛋蛋 说的一样,你还需多研究下~!!软件有暗桩的,是通过网络验证的!
2006-1-14 12:12
0
雪    币: 214
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
肯定没有完全搞定
2006-1-14 19:10
0
雪    币: 223
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
一群大人在这里欺负一个小弟
2006-1-14 19:58
0
雪    币: 236
活跃值: (35)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
楼主 不是我不明白是我告诉你 你这样外挂是没破解的 不相信你进游戏看看 这个的验证我都跟过 它在DLL文件中有验证的!!!爆的进游戏不到 20秒就挂掉!!辅助功能全用不上的
2006-1-14 20:30
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
最初由 误入楼台 发布
楼主 不是我不明白是我告诉你 你这样外挂是没破解的 不相信你进游戏看看 这个的验证我都跟过 它在DLL文件中有验证的!!!爆的进游戏不到 20秒就挂掉!!辅助功能全用不上的


我是菜鸟,才学破解不到一个月,对游戏外挂很感兴趣,想学习怎么做的,不小心也爆了一个外挂。但有一问题,进入若干分钟后,不能自动吃药,其它功能全都可以用。哪位知道自动吃药是怎么处理的,请告诉我。
2006-1-17 02:48
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
爆破网络验证 到现在我还没有掌握!!    汗一个啊!
2006-1-17 23:14
0
雪    币: 313
活跃值: (440)
能力值: ( LV12,RANK:530 )
在线值:
发帖
回帖
粉丝
10
最初由 RegKiller 发布
004FE05C - 0F84 5EB4F8FF JE Dbt3G.004894C0 ; 此处F2下断,按15次后寄存器中EAX值为0同时此处跳转也已实现。跳到光明之处。

004894C0 55 PUSH EBP ; CHAR 'U' 光标停到这。右键->分析->从模块中删除分析,真正代码出现后就可以脱壳了

可以在004FE05C按回车,然后在004894C0下硬件执行断点就不用15次F9了
2006-1-18 11:28
0
游客
登录 | 注册 方可回帖
返回
//