| View previous topic :: View next topic |
| Author |
Message |
assaf84 Expert Cheater
Reputation: 0
Joined: 03 Oct 2006 Posts: 238
|
Posted: Wed Jun 06, 2007 8:04 am Post subject: [Question] Direct access to the memory... |
|
|
Hi,
I'm trying to make a pcomdebug, but i don't know exactly how to change the memory directly. the dll is injecting OK, I put a little messagebox to check it. But when I try to activate supertubi like:
| Code: |
int* blabla = (int*)0x00498DF5;
*blabla = 0x9090;
|
It just crashes maple. I tried using RPM, but its still not working.
Can some1 please help me a little? |
|
| Back to top |
|
 |
assaf84 Expert Cheater
Reputation: 0
Joined: 03 Oct 2006 Posts: 238
|
Posted: Wed Jun 06, 2007 11:42 am Post subject: |
|
|
OK, I'll check it out.. tnx a lot.
BTW, what does it means "to protect" it? |
|
| Back to top |
|
 |
sponge I'm a spammer
Reputation: 1
Joined: 07 Nov 2006 Posts: 6009
|
Posted: Wed Jun 06, 2007 3:34 pm Post subject: |
|
|
read write access permissions.. to protect it will not allow other htings to access/read/write to it. _________________
|
|
| Back to top |
|
 |
assaf84 Expert Cheater
Reputation: 0
Joined: 03 Oct 2006 Posts: 238
|
Posted: Thu Jun 07, 2007 5:15 am Post subject: |
|
|
| Still not working.. I did that it will activate it when its injected, but when im trying to login it crashes just after i choose my player. what's wrong? |
|
| Back to top |
|
 |
Noz3001 I'm a spammer
Reputation: 26
Joined: 29 May 2006 Posts: 6220 Location: /dev/null
|
Posted: Thu Jun 07, 2007 7:43 am Post subject: |
|
|
try;
| Code: | | *(BYTE*)0x00498DF5 = 0x90; |
But you might have to nop the addresses after |
|
| Back to top |
|
 |
sphere90 Grandmaster Cheater
Reputation: 0
Joined: 24 Jun 2006 Posts: 912
|
Posted: Thu Jun 07, 2007 9:30 pm Post subject: Re: [Question] Direct access to the memory... |
|
|
| high6 wrote: | | assaf84 wrote: | Hi,
I'm trying to make a pcomdebug, but i don't know exactly how to change the memory directly. the dll is injecting OK, I put a little messagebox to check it. But when I try to activate supertubi like:
| Code: |
int* blabla = (int*)0x00498DF5;
*blabla = 0x9090;
|
It just crashes maple. I tried using RPM, but its still not working.
Can some1 please help me a little? |
You got to unprotect the memory first.
| Code: | DWORD oldPermissions;
VirtualProtect((LPVOID)0x00498DF5, 2, PAGE_READWRITE, &oldPermissions);
int* blabla = (int*)0x00498DF5;
*blabla = 0x9090;
VirtualProtect((LPVOID)0x00498DF5, 2, oldPermissions, &oldPermissions); |
|
You do not need to unprotect the memory. He is just using the wrong data type. DWORD (unsigned int) takes up 4 bytes of space while BYTE (unsigned char) just takes up 1 bytes. Therefore using DWORD will cause Maple to crash since you modified the 3 extra bytes after that particular address. |
|
| Back to top |
|
 |
sphere90 Grandmaster Cheater
Reputation: 0
Joined: 24 Jun 2006 Posts: 912
|
Posted: Thu Jun 07, 2007 10:51 pm Post subject: |
|
|
No... If he wants to write 2 bytes. He should do it like this
| Code: | BYTE code[2] = { 0x90, 0x90 };
memcpy( (BYTE *)0x00498DF5, code, 2 ); |
You cannot use WORD. You must replace them byte by byte. |
|
| Back to top |
|
 |
|