Solved Change Opcode with WPM

Hexui Undetected CSGO Cheats Sinkicheat PUBG Cheat

CallofCode

Newbie
Silenced
Apr 9, 2016
5
31
0
Hello GH!

I need some help with changing an Opcode of an address! Only works in CE so far...

In Cheat Engine I type in the new Code ... Cheat Engine ask to change it.


We go for it and tada!


It works in CE! So my Problem now is not working with WPM :(

C++:
BYTE MyBytes[] = { 0x30, 0xB8, 0xFF000000, 0x90, 0x90};         // xor [eax+0000000FF],bh     // 6 Bytes Long CE Told Me
C++:
WriteProcessMemory(phandle, (LPVOID)(BaseAddress + Pointer), &MyBytes, sizeof(MyBytes), NULL);
The game just crash..
 
Last edited:

Rake

Cesspool Admin
Administrator
Jan 21, 2014
12,061
78,998
2,370
C++:
BYTE MyBytes[] = { 0x30, 0xB8, 0xFF, 0x00, 0x00, 0x00, 0x90, 0x90};
WriteProcessMemory(phandle, (LPVOID)(BaseAddress + Pointer), &MyBytes, sizeof(MyBytes), NULL);
C++:
void PatchEx(HANDLE hProcess, BYTE* dst, BYTE* src, unsigned int size)
{
    DWORD oldprotect;
    VirtualProtectEx(hProcess, dst, size, PAGE_EXECUTE_READWRITE, &oldprotect);
    WriteProcessMemory(hProcess, dst, src, size, NULL);
    VirtualProtectEx(hProcess, dst, size, oldprotect, &oldprotect);
}


Full screenshots of entire window of this instruction and an explanation of what you're doing will be very helpful
 
Last edited:

MasterG

Coder
Dank Tier Donator
Nobleman
Mar 14, 2015
102
888
1
hello gh!

I need some help with changing an opcode of an address! Only works in ce so far...

In cheat engine i type in the new code ... Cheat engine ask to change it.


we go for it and tada!


it works in ce! So my problem now is not working with wpm :(

C++:
byte mybytes[] = { 0x30, 0xb8, 0xff, 0x00, 0x00, 0x00, 0x90, 0x90};         // xor [eax+0000000ff],bh     // 6 bytes long ce told me
C++:
writeprocessmemory(phandle, (lpvoid)(baseaddress + pointer), &mybytes, sizeof(mybytes), null);
the game just crash... I even tried to nop the adresses xeb6 xeb7 before but this was no good idea still crash it hard.
:c that will write the bytes as you want to
C++:
writeprocessmemory(phandle, (lpvoid)(baseaddress + pointer),  817430272 , 4, null);
writeprocessmemory(phandle, (lpvoid)(baseaddress + pointer + 4),  37008, 4, null);  //add 4 to this address
 
Last edited:

CallofCode

Newbie
Silenced
Apr 9, 2016
5
31
0
:c that will write the bytes as you want to
.
C++:
writeprocessmemory(phandle, (lpvoid)(baseaddress + pointer),  817430272 , 4, null);                                    writeprocessmemory(phandle, (lpvoid)(baseaddress + pointer),  37008, 4, null);

GH or my Browser is bugged right now. I can not see my First post. Anyways Where do you get this crazy values from 817430272 + 37008 and why write 4 bytes ? Ce Told me its 6 Bytes Long

Ah its the Deci Value I will try this :)


BUT is 817430272 = 30B8FF00
Should it be ??????? = 30B8FF000000
 
Last edited:

MasterG

Coder
Dank Tier Donator
Nobleman
Mar 14, 2015
102
888
1
they are opcodes in form of 30 B8 FF 00 and 00 00 90 90 just written as decimals



You basically convert bytes in integer addresses, its good for writing 4 bytes aligned addresses

btw writing 6 bytes decimals is complete cancer
 
Last edited:

CallofCode

Newbie
Silenced
Apr 9, 2016
5
31
0
there are opcodes in form of 30 B8 FF 00 and 00 90 90 90



You basically convert bytes in integer addresses, its good for writing 4 bytes aligned addresses

btw writing 6 bytes decimals is complete cancer
Thanks man for your help so far!! But opcode is 30B8FF000000 or does it make no difference ? with the 0000.

C++:
	int Value1 = 817430272;
	int Value2 = 9474192;
	
	WriteProcessMemory(phandle, (LPVOID)(BaseAddress + 0x1CCEB0), &Value1, 4, NULL);
	WriteProcessMemory(phandle, (LPVOID)(BaseAddress + 0x1CCEB4), &Value2, 4, NULL);
Game crash now with " Illegal Instruction"
 

MasterG

Coder
Dank Tier Donator
Nobleman
Mar 14, 2015
102
888
1
Rake;41803 said:
C++:
// xor [eax+0000000FF],bh 

BYTE MyBytes[] = { 0x30, 0xB8, 0xFF, 0x00, 0x00, 0x00, 0x90, 0x90};

WriteProcessMemory(phandle, (LPVOID)(BaseAddress + Pointer), &MyBytes, sizeof(MyBytes), NULL);
Full screenshots of entire window of this instruction and an explanation of what you're doing will be very helpful
btw he wrote a byte as 0xFF000000 in the MyBytes[] array, does this affect the WPM( ) ?
I separated them in the quote
C++:
BYTE MyBytes[] = { 0x30, 0xB8, 0xFF000000, 0x90, 0x90};
Before it was like that ^
But opcode is 30B8FF000000 or does it make no difference ? with the 0000.
Hell it makes difference! You are writing six bytes opcode wich mean that in VM on 4byte aligned addresses take that form:
0x24 addy has But opcode is 30B8FF00 and
0x28 will have 00009090. Basically it stores the 0000 in the next 4 byte add. If your cpu wouldn't take care of the 0000 you would have a shit like that: 30B8FF00 and then suddenly 9090

Only because they are 0 it doesn't mean they aren't important
 
Last edited:

CallofCode

Newbie
Silenced
Apr 9, 2016
5
31
0
btw he wrote a byte as 0xFF000000 in the MyBytes[] array, does this affect the WPM( ) ?
I separated them in the quote
C++:
BYTE MyBytes[] = { 0x30, 0xB8, 0xFF000000, 0x90, 0x90};
Before it was like that ^
OMFG I was so close in first Step I just needed to seperate them ......... THANKS SOOOO MUCH!
 
Attention! Before you post:

Read the How to Ask Questions Guide
99% of questions are answered in the Beginner's Guide, do it before asking a question.

No Hack Requests. Post in the correct section.  Search the forum first. Read the rules.

How to make a good post:

  • Fill out the form correctly
  • Tell us the game name & coding language
  • Post everything we need to know to help you
  • Ask specific questions, be descriptive
  • Post errors, line numbers & screenshots
  • Post code snippets using code tags
  • If it's a large project, zip it up and attach it

If you do not comply, your post may be deleted.  We want to help, please make a good post and we will do our best to help you.

Community Mods