Can you share at least the links where did you learn making the compiler? Please accept me as your guest
I code the compiler in Visual Basic with VS.
For learning how to read assembler I just google "How to read ASM" and found a lot tutos, and for the C++ instructions I used Microsoft MSDN.
@
Avara As you can see there, it is not just one line but, the entire argument.
REMOVED
What you are showing here is a call to a function/method that have 1 parameter (Arg1), you are not in the function, you are just on the call. If you want my advise, just find the switch that is called when you send the request to server, go to that switch and read the first lines of that code, then on the first lines you will see server compares with a value and jump depending on it, that value is the clue and was the value that i changed.
As an example of what i'm talking
The first line is the start of the switch
2do line compares the value you selected on the swict with 7
3rd and 4th goes to corresponding function depending on the result of the compare.
in high code language that is same as:
var EAX= value you selected
if(EAX >7)
{ xfunct()}
else
{yfunct()}
in that case if EAX have any value above 7 (8,9,10.....), xfuntion will be called and below or equal 7 yfunction will be called
now just suppose that yfunction is the one you want to call when you send 7 or above, then you just need to change 1 line of that code, for example JA for JB and thats all.
if(EAX >7) ----> if(EAX <7) JA=jump if above, JB= jumps if below
Of course this is just an example code, it is not the code you have to change on server for rejecting rupiah drop.
ADVISE: to change a program behavior, first you need to well know how program behaves. Changing code just as crazy with out knowing what that code does is not recomended and can lead your program to bugs. For example: on the code above, first you need to know what xfunction and yfunction does and what parameters they need to execute correctly, if you NOP your code w/o knowin who other function use what you NOP, for sure at some point your program will crash. so again on the above example, before changing JA for JB, you need to know who else use that switch, and if their code will not be compromised with that change etc etc etc,
I don't have any reason to lie when i say that i only changed 1 line of code.
Regards
I want to mention some of your screen.
on your screen you are just selecting 3 lines of opcodes, so lets say that you NOP those 3 lines, then what about the previous one? where code moves to the register ECX what is stored on the data segment at EBX+C, to be used as a parameter of the function called on the line 3rd of your selection? do you know what is returned on the ECX register after calling that function that you will NOP? what will happend with the rest of the code (below what you NOP) if they use ECX or any of the general registers (EAX, ECX, EDX....) w/o been updated because you NOPed the function? (EAX always stores the return value of a function call, for the other registers you can check their use at
You must be registered to see links
) is any opcode below that use those general registers before updating them? for example the returned value on EDX register was cleared with XOR EDX,EDX but what about the rest?
to be brief i will just talk about EAX:
EAX = 5 before function is called
EAX = 1 after function returns
so lets say that in any of the next lines you have some like this:
DEC EAX (means: decrements by 1, so EAX=0 if you don't NOP, EAX=4 if you NOP)
TEST EAX,EAX (means: is EAX==0?, is YES if you don't NOP, is NO if you NOP)
JE HTLaun..... (means that will jump to that code if the result of TEST was YES)
meaning that if you just NOP then all your below code breaks.