( ZeroWiki http://www.dasomnetwork.com/~leedw/ 키 . .)
한 Cracking 하 했 nProtect 한 해하 .
: (Mabinogi)
Protector : guardcat nProtect 행하
# 1
nexon Protector 하 하 .
확 nProtect guardcat 한 할 행하 하.
( nProtect 함 hooking 하, 포함 형 하,
nProtect 하 확한 포함 Exception Handling 한 하.)
guardcat 확하 EnumServicesStatusA Process OpenProcess debug 확 하 틴 하.
패하, OpenProcess Process Hooking하 함 gc_proch.dll 확하.
=> guardcat.exe -> gc_proch.dll
행하 확 , 트 파 , 파 하 .
트 파 host patch 하 eady.sarang.net/~dark/12/Mabi/ 파 3 하
하. 행히 guardcat Packing, Enchypher 한 encoding 패 .
# 2
=> gcupdater -> guardcat.exe -> gc_proch.dll
함 하 guardcat.exe 행하 gc_proch.dll hooking 틴 .
!!! gc_proch.dll 해할 .
gc_proch.dll 파 행하 gaurdcat.exe 행 debugger 하 .
한 update . gc_proch.dll mabinogi.exe 행 .
=> mabinogi.exe -> client.exe -> gcupdater -> guardcat.exe -> gc_proch.dll
하 확하.
하 2 ...
1. mabinogi.exe( 트 크 한. createprocess client.exe 행하 한.)
2. client.exe(client 행 , gameguard 확하 틴 하. 파 . 1. 파 -확해 , . 2. Debugger Process Check.- 한. 3. gcupdater.exe . 4. createprocess gcupdater 행한. 5. 틴 행하 gcupdater IPC 할 thread .)
3. gcupdater(행 항 하 파 3 . guardcat.exe, INST.dat, gc_proch.dll wsprintf 하 한.- API . createprocess guardcat.exe 행킨.)
4. guardcat.exe(행 EnumServicesStatusA Process List gc_proch.dll 파 IPC . 파 행 Process 크하 gc_proch.dll . 한 IPC 통해 client.exe Exception 키 할 한.)
5. gc_proch.dll( 파 debugger 할 한. 하.) -> 파 dll injection 한 .
# 3
한 key client.exe .
client.exe 행 , 틴 한, updater 트 트 패 통한 protector mabinogi 화 킬 .
client.exe gcupdater.exe 한 해 . , 힘.
zeropage ( google .)
-------------------------------------
mabinogi.exe -> client.exe
CreateProcess()
|ModuleFileName = NULL
|CommandLine = ""C:\Program Files\Mabinogi\client.exe" code:1622 ver:237 logip:211.218.233.200 logport:11000 chatip:211.218.233.192 chatport:8000 setting:"file://data/features.xml=Regular, Korea""
|pProcessSecurity = NULL
|pThreadSecurity = NULL
|InheritHandles = FALSE
|CreationFlags = 0
|pEnvironment = NULL
|CurrentDir = "C:\Program Files\Mabinogi"
|pStartupInfo = 0012E4F0
|pProcessInfo = 0012E4E0
client.exe code:1622 ver:237 logip:211.218.233.200 logport:11000 chatip:211.218.233.192 chatport:8000 setting:"file://data/features.xml=Regular, Korea" 행키 .
-------------------------------------
reverse engineering 하 .
Protector cracking . -_-^
한 Cracking 하 했 nProtect 한 해하 .
Protector : guardcat nProtect 행하
nexon Protector 하 하 .
확 nProtect guardcat 한 할 행하 하.
( nProtect 함 hooking 하, 포함 형 하,
nProtect 하 확한 포함 Exception Handling 한 하.)
패하, OpenProcess Process Hooking하 함 gc_proch.dll 확하.
=> guardcat.exe -> gc_proch.dll
행하 확 , 트 파 , 파 하 .
트 파 host patch 하 eady.sarang.net/~dark/12/Mabi/ 파 3 하
하. 행히 guardcat Packing, Enchypher 한 encoding 패 .
=> gcupdater -> guardcat.exe -> gc_proch.dll
함 하 guardcat.exe 행하 gc_proch.dll hooking 틴 .
!!! gc_proch.dll 해할 .
gc_proch.dll 파 행하 gaurdcat.exe 행 debugger 하 .
한 update . gc_proch.dll mabinogi.exe 행 .
하 확하.
하 2 ...
1. mabinogi.exe( 트 크 한. createprocess client.exe 행하 한.)
2. client.exe(client 행 , gameguard 확하 틴 하. 파 . 1. 파 -확해 , . 2. Debugger Process Check.- 한. 3. gcupdater.exe . 4. createprocess gcupdater 행한. 5. 틴 행하 gcupdater IPC 할 thread .)
3. gcupdater(행 항 하 파 3 . guardcat.exe, INST.dat, gc_proch.dll wsprintf 하 한.- API . createprocess guardcat.exe 행킨.)
4. guardcat.exe(행 EnumServicesStatusA Process List gc_proch.dll 파 IPC . 파 행 Process 크하 gc_proch.dll . 한 IPC 통해 client.exe Exception 키 할 한.)
5. gc_proch.dll( 파 debugger 할 한. 하.) -> 파 dll injection 한 .
한 key client.exe .
client.exe 행 , 틴 한, updater 트 트 패 통한 protector mabinogi 화 킬 .
client.exe gcupdater.exe 한 해 . , 힘.
mabinogi.exe -> client.exe
|ModuleFileName = NULL
|CommandLine = ""C:\Program Files\Mabinogi\client.exe" code:1622 ver:237 logip:211.218.233.200 logport:11000 chatip:211.218.233.192 chatport:8000 setting:"file://data/features.xml=Regular, Korea""
|pProcessSecurity = NULL
|pThreadSecurity = NULL
|InheritHandles = FALSE
|CreationFlags = 0
|pEnvironment = NULL
|CurrentDir = "C:\Program Files\Mabinogi"
|pStartupInfo = 0012E4F0
|pProcessInfo = 0012E4E0
-------------------------------------
Protector cracking . -_-^