(개로 ZeroWiki는 http://www.dasomnetwork.com/~leedw/ 개 곳보다 보가 다. 말 다.)
게 : 노기(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 들가. -_-^
각. ZeroWiki란 로 를 말는 것겠? 로 는 보가 많 곳 되 다. 그리고 모놓 보를 가다듬는 따라 말로 과가 것다. 는 를 관리 . 그리고 까는 람 로 를 돌다며 가꾸 다.
로 글 많데 료는 는 는 가다듬는 나라고 봅다. 를 들면 복되는 내 담 , 관련된 내데 로 다른 과 류 래 된 , 미를 는 가 , 무 날 료라 는 미는 내 담고 는 따다. 만든 는 구보다 글 가다듬 것다. 때문 만든 부 가다듬는 것 보를 많 는 를 만드는 길라고 각다. 더 방법 까? -- Leonardong
게 Cracking 려고 더 nProtect 녀 디그 되는 것 방고 다.
로 글 많데 료는 는 는 가다듬는 나라고 봅다. 를 들면 복되는 내 담 , 관련된 내데 로 다른 과 류 래 된 , 미를 는 가 , 무 날 료라 는 미는 내 담고 는 따다. 만든 는 구보다 글 가다듬 것다. 때문 만든 부 가다듬는 것 보를 많 는 를 만드는 길라고 각다. 더 방법 까? -- Leonardong
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 들가. -_-^