【转】xx弈城围棋不能重复登录的限制_the life_百度空间

[ 晴 2006-5-7 13:22 | by ]
| |

弈城围棋客户端和TOM围棋同出一宗,都是用得韩国TYGEM围棋客户端代码。我比较喜欢这个界面,但是比较头疼的是,每次登录了TOM,便不能再登录弈城,反之亦然,更不用说登录两个TOM或者两个弈城了。
可是我的朋友分布甚广,我却只能每次从两个地方跑来跑去,以前也想着xx了这个限制,可都没空闲。这次放假来了机会。
昨天晚上我试着弄了一下,不行,困倦的我,脑袋已经麻木了,只好在xx论坛发贴求助。但一上午也没见人回帖,只好又亲自操刀解剖这冬冬。
好了,废话不多说,谈谈步骤。

由于是要xx不能同时登录两个客户端的限制,所以先打开一个弈城TYGEM对弈客户端。
因为客户端的出错提示都是加过密的,所以使用静态反汇编看不到关键点,只好用ollydbg再加载一遍。

客户端没有加壳,可以直接调试。
加载完毕后停在入口点,下面是入口点代码:

0050ACAA >/$ 55            PUSH EBP
0050ACAB |. 8BEC          MOV EBP,ESP
0050ACAD |. 6A FF         PUSH -1
0050ACAF |. 68 F8925300   PUSH LiveBadu.005392F8
0050ACB4 |. 68 36AE5000   PUSH <JMP.&MSVCRT._except_handler3>      ; SE 处理程序安装
0050ACB9 |. 64:A1 0000000>MOV EAX,DWORD PTR FS:[0]
0050ACBF |. 50            PUSH EAX
0050ACC0 |. 64:8925 00000>MOV DWORD PTR FS:[0],ESP
0050ACC7 |. 83EC 68       SUB ESP,68
0050ACCA |. 53            PUSH EBX
0050ACCB |. 56            PUSH ESI
0050ACCC |. 57            PUSH EDI

忽略所有异常,然后设置断点:bp MessageBoxA(注意:OD大小写敏感)
然后按F9运行,被Olldbg断下。

此处代码是:

77D3E824 > 833D D0D3D677 0>CMP DWORD PTR DS:[77D6D3D0],0
77D3E82B    0F85 542C0100   JNZ USER32.77D51485
77D3E831    6A 00           PUSH 0
77D3E833    FF7424 14       PUSH DWORD PTR SS:[ESP+14]
77D3E837    FF7424 14       PUSH DWORD PTR SS:[ESP+14]
77D3E83B    FF7424 14       PUSH DWORD PTR SS:[ESP+14]
77D3E83F    FF7424 14       PUSH DWORD PTR SS:[ESP+14]
77D3E843    E8 03000000     CALL USER32.MessageBoxExA
77D3E848    C2 1000         RETN 10
77D3E84B > 55              PUSH EBP
77D3E84C    8BEC            MOV EBP,ESP
77D3E84E    6A FF           PUSH -1
77D3E850    FF75 18         PUSH DWORD PTR SS:[EBP+18]
77D3E853    FF75 14         PUSH DWORD PTR SS:[EBP+14]
77D3E856    FF75 10         PUSH DWORD PTR SS:[EBP+10]
77D3E859    FF75 0C         PUSH DWORD PTR SS:[EBP+C]
77D3E85C    FF75 08         PUSH DWORD PTR SS:[EBP+8]
77D3E85F    E8 04000000     CALL USER32.MessageBoxTimeoutA
77D3E864    5D              POP EBP
77D3E865    C2 1400         RETN 14

此时的堆栈窗口显示:

0012D6E4   0047EE71 /CALL 到 MessageBoxA 来自 LiveBadu.0047EE6B
0012D6E8   00000000 |hOwner = NULL
0012D6EC   0055A8D4 |Text = "一个对弈程序正在运行。(不能同时运行一个以上的对弈程序。)
如果没有正在运行的程序,那么可能是系统正在下载中。
如果长时间运行对弈程序,请重新启动计算机,再次进行连接。"
0012D6F0   00E54A80 |Title = "弈城TYGEM对弈"
0012D6F4   00000030 Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL
0012D6F8   0055EBC0 LiveBadu.0055EBC0
0012D6FC   0055EBC0 LiveBadu.0055EBC0

打开W32DASM,找到地址0047EE71,正是此处。
向上翻,来到0047EE3A处,有一个跳转:
:0047EE3A 743A     je 0047EE76
这个地方就是爆破点了,很简单吧:)

工作已经结束了。看W32Dasm下面显示的偏移地址@Offset 0007EE3Ah in File:LiveBaduk.exe
用UltraEdit打开,找到偏移地址0007EE3A处,看到它所对应的机器码是74,也就是je的机器码。将它修改成jne的机器码75,存盘退出。
再运行一下,已经能同时进若干个对弈客户端了。

拿去分享,结果发现修改过的客户端不能显示服务器人数,大概是爆破点选的不合适,不过不影响使用。

想再一举爆破不能进韩国高手房I的限制,弄了半天才发现,这个限制是设置在服务器上的,除非入侵服务器了。。。。faint,不玩了。



郑重声明:资讯 【【转】xx弈城围棋不能重复登录的限制_the life_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——