 |
Cheat Engine The Official Site of Cheat Engine
|
| View previous topic :: View next topic |
| Author |
Message |
stealthy17 Expert Cheater
Reputation: 0
Joined: 10 Apr 2007 Posts: 144 Location: The Netherlands
|
Posted: Mon Jan 28, 2008 1:47 am Post subject: |
|
|
Jeesh i program C/C++ and .Net perfectly fine.
As i said that's one of my old apps which i'm TRYING to port to asm x86 with a little help.
But seems like you people can't do it either or just don't want to.
Learn to read. Don't go like.. 'Woot Woot VB6 lets flame him' before you know the situation.
So this fuckin thread is not about VB it's about ASM Intel x86 to be exact.
I explained what it's supposed to do and just trying to get some help on how to implement it properly since the registers are used by the function i'm jumping from etc etc etc as i've explained in my fckin other posts.
I'm not going to repeat myself over and over and over explaining because you stubborn kids can't read and understand what you're reading.
I'm done here. For good this time. |
|
| Back to top |
|
 |
Cx Master Cheater
Reputation: 0
Joined: 27 Jul 2007 Posts: 367
|
Posted: Mon Jan 28, 2008 8:50 am Post subject: |
|
|
Forgive me for not understanding your original post 100%, as I won't read the code.
| Quote: | | - is asm from inside the game client able to write to it's memory (outside data seg.) |
Yeah.
| Quote: | | - if so, can it do this WITHOUT calling API? (mov [offset], data?) |
Yes (wait- you're injected into the process?).
| Quote: | | - since i jumped from the middle of a function will i still be able to use eax, ebx (whatever proper register i need) since it will already contain some data from the function? |
Yes- but you don't want to mess up these registers (unless you know what you're doing), so you should push/pop registers (including flags in some cases) with pusha(d)/pushf(d).
| Quote: | | - i can vaguely imagine a loop to do this but cant get it done somehow i managed to read the data from the offset by using push dword ptr[F66C4C] which will in game get the ascii at the ptr outputted so that works |
Ok, here's what I don't understand. What are you trying to accomplish with this "loop"? _________________
armed with this small butterfly net
i will face the world alone
& never be lonely. |
|
| Back to top |
|
 |
FerrisBuellerYourMyHero Master Cheater
Reputation: 0
Joined: 14 Feb 2007 Posts: 401 Location: Inside your <kernel>
|
Posted: Tue Jan 29, 2008 7:49 pm Post subject: |
|
|
Ok I can help but not with visual $hit... C++ is my weapon of choice...
but as Codex said your not really being clear at what your trying to do...
| Quote: | | - is asm from inside the game client able to write to it's memory (outside data seg.) |
YES As long as your are INSIDE the process, with a dll or injected codecave, you can edit memory directly without WriteProcessMemory...
example... using inline asm in c++ for modifying a pointer or reading its value
| Code: |
unsigned long Value = 0;
_asm
{
push eax
mov eax, 0x00001337 // say this is a pointer
mov eax, dword ptr [eax] // get the address inside the pointer
add eax, 0x539 // add the offset
push ebx
mov ebx, dword ptr [eax] // ebx contains the pointers value
mov dword ptr [Value], ebx // Value contains the value
pop ebx
mov dword ptr [eax], 0x00000539 // moves 0x539 into the dynamic //address
pop eax
}
|
for a static address which is easier
| Code: |
_asm
{
push eax
mov eax, 0x08085CA1
mov dword ptr [eax], 0x00000063
pop eax
}
|
something what your talking about pushing and popping// is F66C4C a pointer or what? you have to be more specific so we can help its text output your trying to get?
| Code: |
char output[100];
_asm
{
push eax
push ecx
mov ecx, 0x64
mov eax, dword ptr [0x00F66C4C]
push edx
mov edx, offset output
Loopy:
push dword ptr [eax]
pop dword ptr [edx]
inc eax
inc edx
loop Loopy
pop edx
pop ecx
pop eax
}
|
| Quote: | | - if so, can it do this WITHOUT calling API? (mov [offset], data?) |
Yes if your in the process, ex. an injected DLL, not an EXE
| Quote: | | - since i jumped from the middle of a function will i still be able to use eax, ebx (whatever proper register i need) since it will already contain some data from the function? |
Yes- but you don't want to mess up these registers (unless you know what you're doing), so you should push/pop registers (including flags in some cases) with pusha(d)/pushf(d).
| Quote: | | - i can vaguely imagine a loop to do this but cant get it done somehow i managed to read the data from the offset by using push dword ptr[F66C4C] which will in game get the ascii at the ptr outputted so that works |
Ok, here's what I don't understand. What are you trying to accomplish with this "loop"?
Ya what Cx said! what are your trying to accomplish! tell us the bigger picture...
not im trying to make a loop... that doesn't tell us anything lol _________________
You know, life moves pretty fast. If you don't stop and look around once in a while, You could miss it!
 |
|
| Back to top |
|
 |
stealthy17 Expert Cheater
Reputation: 0
Joined: 10 Apr 2007 Posts: 144 Location: The Netherlands
|
Posted: Wed Jan 30, 2008 12:37 am Post subject: |
|
|
I'm not injecting a DLL nor making a remotethread or anything.
I'm patching the actual client (Client.exe) himself in Odbg.
The loop patches each block of data at 3 offsets.
get static offset from ptr to tell where the data blocks start
loop 794 times (410.000 loops, step 516)
patch these offsets to 0x1
static offset + f (loop counter) + 487
static offset + f (loop counter) + 488
read at
static offset + f (loop counter) + 455
if value is 0x3 patch it to 0x2 |
|
| Back to top |
|
 |
DoomsDay Grandmaster Cheater
Reputation: 0
Joined: 06 Jan 2007 Posts: 768 Location: %HomePath%
|
Posted: Wed Jan 30, 2008 4:39 am Post subject: |
|
|
The following is your loop in hex, but I think you might want to modify it, use binary edit and paste: | Code: | 60 BB 4C 6C F6 00 B9 01 00 00 00 8B 1B C6 84 19 E7 01 00 00 01 C6 84 19 E8 01 00 00 01 80 BC 19
C7 01 00 00 03 75 08 C6 84 19 C7 01 00 00 02 81 C1 04 02 00 00 81 F9 90 41 06 00 7D D0 61 | I also recommend you to change the language, VB is un-readable. |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
|