Hello, i was checking how to bypass server.dat and i found this :
Quote:
Removing the "server.dat is damaged" message so we can connect to private servers/proxies.
Do it manually rather than downloading those patched binaries.
1. Open Conquer in OllyDbg, then load the conquer module into the main CPU window.
2. Right click->Search for->All intermodular calls
3. Click the Destination header to sort alphabetically, then scroll down till you see WS2_32.inet_addr in the destination column (There should be more than one instance of it.)
4. Click on each instance and look at the code. In my version, there 3 are calls to inet_addr, but we only need 2 of those.
Code:
00432A16 |. FF15 50375200 CALL DWORD PTR DS:[<&WS2_32.#11>]; inet_addr
00432A1C |. 83F8 FF CMP EAX,-1
00432A1F |. 74 08 JE SHORT Conquer.00432A29
00432A21 3C 7F CMP AL,7F
00432A23 |. 75 04 JNZ SHORT Conquer.00432A29
00432A25 |. 6A 01 PUSH 1
00432A27 |. 58 POP EAX
00432A28 |. C3 RETN
Code:
004E251C . E8 6BCCF9FF CALL <JMP.&WS2_32.#11>; inet_addr
004E2521 . 83F8 FF CMP EAX,-1
004E2524 . 74 79 JE SHORT Conquer.004E259F
004E2526 3C 7F CMP AL,7F
004E2528 . 74 75 JE SHORT Conquer.004E259F
004E252A . 8B86 04040000 MOV EAX,DWORD PTR DS:[ESI+404]
004E2530 . 8BCB MOV ECX,EBX
004E2532 . FF70 1C PUSH DWORD PTR DS:[EAX+1C]The inet_addr function converts an IP string into a 32-bit integer, for example, 127.0.0.1 becomes 7f 00 00 01.
In the above code, the comparison to localhost is done on the highlighted line, CMP AL,7F. To skip this comparison we can just replace this code with NOP (no operation). Make sure you check "Fill with NOPs" in Olly, because the original instruction is 2 bytes, and thus you need to place 2 NOP instructions there to cover it.
The new code will look like this:
Code:
00432A16 |. FF15 50375200 CALL DWORD PTR DS:[<&WS2_32.#11>]; inet_addr
00432A1C |. 83F8 FF CMP EAX,-1
00432A1F |. 74 08 JE SHORT Conquer.00432A29
00432A21 90 NOP
00432A22 90 NOP
00432A23 |. 75 04 JNZ SHORT Conquer.00432A29
00432A25 |. 6A 01 PUSH 1
00432A27 |. 58 POP EAX
00432A28 |. C3 RETNDo the same for the second one. Job done.
|
Anyway , i tried to do it , and well i did exactly what it's told, but i still get the server.Dat is damaged problem.
I am using 5065 version client. I found another guide where it's written to put JMP instead of JNZ , but still .. i have the problem of server.dat is damaged , so i was wondering if someone could help me to solve this problem? because the conquerloader and all extern loader are a pain in the ass for the antivirus. Most people don't know how to able it so.. well i really would like a hand to edit this conquer.exe and have the server.dat bypass ( i did many edit to the conquer.exe and all worked , but not this ) Anyway ! thanks a lot.