3DMGAME论坛

标题: 3DM的人进来看,告诉你们为什么破解的CH修改器不能用。 [打印本页]

作者: LingDi    时间: 2008-7-12 01:05
标题: 3DM的人进来看,告诉你们为什么破解的CH修改器不能用。
只说方法,不发结果。 省的被说是XXX的马甲。
跟了一下你们破解的修改器。 会崩溃的原因为。 Hook地址的代码被不停的改写。

修改器一共修改了游戏的两个地方 Jmp到 CH.dll这个里面。   Hook代码是被动态写入的。
Hook point 1
004FF282    E8 0A1EF803                           call    CH.04481091
004FF287    90                                    nop
004FF288    90                                    nop
004FF289    90                                    nop

Hook Point 2
00500685    E8 470AF803                           call    CH.044810D1
0050068A    90                                    nop


对应的代码是:
04481091   .  9C                                  pushfd
04481092   .  60                                  pushad
04481093   .  833D 003F4804 01                    cmp     dword ptr [4483F00], 1
0448109A   .  75 0C                               jnz     short 044810A8
0448109C   .  8B85 D0150000                       mov     eax, dword ptr [ebp+15D0]
044810A2   .  8985 CC150000                       mov     dword ptr [ebp+15CC], eax
044810A8   >  61                                  popad
044810A9   .  9D                                  popfd
044810AA   .  F3:0F1085 CC150000                  movss   xmm0, dword ptr [ebp+15CC]
044810B2   .  C3                                  retn
044810D1   .  9C                                  pushfd
044810D2   .  60                                  pushad
044810D3   .  833D 043F4804 01                    cmp     dword ptr [4483F04], 1
044810DA   .  75 18                               jnz     short 044810F4
044810DC   .  90                                  nop
044810DD   .  90                                  nop
044810DE   .  90                                  nop
044810DF   .  90                                  nop
044810E0   .  8180 14010000 E8030000              add     dword ptr [eax+114], 3E8
044810EA   .  C705 043F4804 00000000              mov     dword ptr [4483F04], 0
044810F4   >  61                                  popad
044810F5   .  9D                                  popfd
044810F6   .  8B80 14010000                       mov     eax, dword ptr [eax+114]
044810FC   .  C3                                  retn

但是在修改器中 有一个地方会不断的重写自身。  由于我没有原版,所以不知道是破解的问题,还是原版就有这个问题。但是我想既然他们是收费的 应该可以正常使用才对。地址如下:
00402EEB   .  A3 F0945300   mov     dword ptr [5394F0], eax
00402EF0   .  FF35 D0955300 push    dword ptr [5395D0]                          ; /pBytesWritten = NULL
00402EF6   .  68 01000000   push    1                                           ; |BytesToWrite = 1
00402EFB   .  FF35 54955300 push    dword ptr [539554]                          ; |Buffer = 019F07C8
00402F01   .  8B1D C0955300 mov     ebx, dword ptr [5395C0]                     ; |
00402F07   .  031D E8955300 add     ebx, dword ptr [5395E8]                     ; |
00402F0D   .  81C3 91100000 add     ebx, 1091                                   ; |
00402F13   .  53            push    ebx                                         ; |Address
00402F14   .  FF35 CC955300 push    dword ptr [5395CC]                          ; |hProcess = 00000290 (window)
00402F1A      E8 AF310000   call    <jmp.&KERNEL32.WriteProcessMemory>
猜测应该是由于修改了程序或者脱壳了 导致这个地方不断写入垃圾代码。

Nop之后 修改器既工作正常。

改好的程序不发了。  只做技术交流。  能看懂这个帖子的玩家也可以照着我的方法改。




欢迎光临 3DMGAME论坛 (https://bbs.3dmgame.com/) Powered by Discuz! X3.2