Register for your free account! | Forgot your password?

You last visited: Today at 07:14

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



ASM doubt

Discussion on ASM doubt within the CO2 Programming forum part of the Conquer Online 2 category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Nov 2018
Posts: 7
Received Thanks: 7
ASM doubt

#Managed to do it, check edits at bottom if interested

Hi (?

Have been trying to learn some RE using CO client (around patch 6603), this time i was trying to open Conquer.exe directly. Since the message "Open play.exe etc..." doesn't appear in the Conquer.exe, tried checking for intermodular calls to MessageBox, since it's known that the argument "blacknull is required (could not figure where to begin without knowing that).
there, i found this:




wich calls strcmp between "blacknull" and another argument, then calls
TEST EAX, EAX
JNZ Conquer.ADRESS

wich i understand as something similar to this:

Code:
int a = strcmp("blacknull", arg)
if(a == 0){
     LEA EAX, DWORD....
     ...
}
else{
     JNZ Conquer.ADDRESS
     ...
}
Here is my doubt, since strcmp returns 0 when both strings are equal, i tried to make the return value to 0 changing
TEST EAX, EAX // wich sets ZF if EAX == 0
to
XOR EAX, EAX // wich sets ZF always afaik.

But the message "Open play.exe" still pops up, what would be the process to make it work?
btw, also tried to just set EAX to 0 instead of calling stcmp and "noping" the remaining bytes.

Any idea what i'm doing wrong? and hints to make this work would be appreciated.

#Edit 1:
- Placed a breakpoint at both, stcmp and MessageBoxA calls and strcmp and it's the second one that is pausing the execution.

#Edit 2:
- After some sleeping, it was actually quite simple lol, only reason strcmp wasn't being called was because of another jmp, since there was only one argument in the main instead of the 2 expected, just needed to find who called the strcmp, searching for references to the instruction where it loads the string ptr to EAX; doing so, the following code will be found

Code:
CMP EAX,1
MOV BYTE PTR DS:[CE7F78],CL
JGE SHORT Conquer2.006C6A40
so the code was something like
Code:
exitCode(); // not real
loadClient(); // neither this one

if(argc <= 1)
{
   exitCode();
}
else
{
    if(strcmp(argv[1], "blacknull" != 0)
   {
       exitCode();
   }
   loadClient();
}
the XOR only patched the strcmp if statement, when just patching the argc check is enough, changing the JGE to a JMP makes the first if statement useless and will always jump to the "continueLoading
2Explosions is offline  
Thanks
1 User
Old 09/30/2019, 15:13   #2


 
KraHen's Avatar
 
elite*gold: 0
Join Date: Jul 2006
Posts: 2,216
Received Thanks: 794
This post is an excellent example on how to ask the right questions and provide the right amount of information. Glad you got it working!
KraHen is offline  
Reply


Similar Threads Similar Threads
WarRock Direct3D [16.05.2012] ( ASM Bullets, ASM, OPK / SVP , ASM UNL AMMO )
05/17/2012 - WarRock Hacks, Bots, Cheats & Exploits - 8 Replies
Direct3D Hook 85% Credits to BlackLegend - helping me alot. Viva la Revolución http://www.abload.de/img/wr31lmaex.png http://www.abload.de/img/wr3253bzf.png Virustotal ( Packed / Compressed ) Click
2.9|Incredible-Hax VIP| Fully Bypassed Hack|ASM|RadarGPS;MAPGPS;WTW|&lots of more ASM
09/02/2011 - WarRock Hacks, Bots, Cheats & Exploits - 14 Replies
http://www.bilderkiste.org/show/original/313149758 4796/PublicHack.png This hack is now packed, and unpacking is not working ;) This hack is public and free for a little time! :D http://ind01.bilderkiste.org/3131497451181/Hack.p ng Virustotal (packed with Themida) Download
|||KingClem Public D3D | Full ASM Bypassed| Enough ASM Functions! | BIg Public! | |||
08/03/2011 - WarRock Hacks, Bots, Cheats & Exploits - 27 Replies
Screenshot: http://kingclem.co.de/uploads/screen.png Crediting: -KingClem™ -KitoKid -Cracken



All times are GMT +1. The time now is 07:14.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.