 |
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
Wintermoot Expert Cheater
Reputation: 0
Joined: 08 Nov 2007 Posts: 198
|
Posted: Wed Nov 26, 2008 6:28 am Post subject: [C++] Blink godmode code cave question |
|
|
Why are we doing it?
I am out of touch with the Maple hacking community but, shouldn't just changing the 'sub' to 'add' work?
Instead of:
Code: |
//Blink Godmode Script by Pro-Surf
void __declspec(naked) __stdcall Blink ()
{
_asm
{
mov edi,0x7FFFFFFF
jmp original
original:
mov edi,0x7FFFFFFF
push edi
lea ecx,[ebx+0x00001720]
jmp [BlinkRet]
}
}
void GodMode (HWND hWnd)
{
*(BYTE*)BlinkAddy = 0xE9;
*(DWORD*)(BlinkAddy + 1) = JMP(BlinkAddy, Blink);
*(DWORD*)(BlinkAddy + 5) = 0x90909090; //NOP Bytes
*(BYTE*)(BlinkAddy + 9) = 0x90;
}
|
Can't we simply do:
Code: |
DWORD BlinkAddy = 0x78F8291;
//Enable
*(DWORD*)(BlinkAddy + 1) = 0xC7
//Disable
*(DWORD*)(BlinkAddy + 1) = 0xEF
|
I posted it here since, it is more a programming question than a MapleStory question and, this section seems to be more intelligent than the MapleStory section...
No, I can't test this... Serious problems with Maple cause faggotry...
(Shit was just stolen from Kitterz Trainer since, the different methods are good for learning...)
I also ask since, I remember seeing a v.61 blink godmode script which was doing doing the same thing that I am suggesting...
|
|
Back to top |
|
 |
Slugsnack Grandmaster Cheater Supreme
Reputation: 71
Joined: 24 Jan 2007 Posts: 1857
|
Posted: Wed Nov 26, 2008 9:44 am Post subject: |
|
|
i don't see a sub or an add..
|
|
Back to top |
|
 |
Ziztey Grandmaster Cheater
Reputation: 0
Joined: 20 Dec 2007 Posts: 535 Location: 127.0.0.1
|
Posted: Wed Nov 26, 2008 9:57 am Post subject: |
|
|
I tried, did not work.
_________________
kenta7795 wrote: | Lol, how do I know its fake?
The source is a .cpp, and a .h
Private server much? |
|
|
Back to top |
|
 |
ElectroFusion Grandmaster Cheater
Reputation: 0
Joined: 17 Dec 2006 Posts: 786
|
Posted: Wed Nov 26, 2008 11:06 am Post subject: |
|
|
WTF, I thought they were jmping the function blink.
Think about it next time, they jmped the function blink, so there is more needed to be done than just a codecave.. Plus, whats wrong with the way they do it now?
Code: |
JMP(BlinkAddy, Blink);
|
Code: |
void __declspec(naked) __stdcall Blink ()
{
_asm
{
mov edi,0x7FFFFFFF
jmp original
original:
mov edi,0x7FFFFFFF
push edi
lea ecx,[ebx+0x00001720]
jmp [BlinkRet]
.
.
.
|
_________________
qwerty147 wrote: |
ghostonline wrote: |
what world are you in?
|
bera
but i live in NZ
|
|
|
Back to top |
|
 |
DeletedUser14087 I post too much
Reputation: 2
Joined: 21 Jun 2006 Posts: 3069
|
Posted: Wed Nov 26, 2008 11:12 am Post subject: |
|
|
why the hell there is __stdcall ? i have a feeling you people just copy and paste all these codes lol.
|
|
Back to top |
|
 |
&Vage Grandmaster Cheater Supreme
Reputation: 0
Joined: 25 Jul 2008 Posts: 1053
|
Posted: Wed Nov 26, 2008 11:19 am Post subject: |
|
|
Rot1 wrote: | why the hell there is __stdcall ? i have a feeling you people just copy and paste all these codes lol. |
__stdcall can be used for other stuff, not just APIs.
|
|
Back to top |
|
 |
Symbol I'm a spammer
Reputation: 0
Joined: 18 Apr 2007 Posts: 5094 Location: Israel.
|
Posted: Wed Nov 26, 2008 11:24 am Post subject: |
|
|
What's the point? not only it's a naked function, it's also a hook which takes no parameters... so it won't clean the stack or push the parameters to the stack. (instead of using registers, like in fast-call)
|
|
Back to top |
|
 |
ElectroFusion Grandmaster Cheater
Reputation: 0
Joined: 17 Dec 2006 Posts: 786
|
Posted: Wed Nov 26, 2008 12:46 pm Post subject: |
|
|
The __stdcall calling convention is used to call Win32 API functions. The callee cleans the stack, so the compiler makes vararg functions __cdecl. Functions that use this calling convention require a function prototype.
^^ = http://msdn.microsoft.com/en-us/library/zxk0tw93(VS.71).aspx
If it cleans the stack, and your using it on a naked function, it can't clean the stack.
_________________
qwerty147 wrote: |
ghostonline wrote: |
what world are you in?
|
bera
but i live in NZ
|
|
|
Back to top |
|
 |
DeletedUser14087 I post too much
Reputation: 2
Joined: 21 Jun 2006 Posts: 3069
|
Posted: Wed Nov 26, 2008 12:48 pm Post subject: |
|
|
i generally use __stdcall on exporting/importing shit, that's about it.
|
|
Back to top |
|
 |
Wintermoot Expert Cheater
Reputation: 0
Joined: 08 Nov 2007 Posts: 198
|
Posted: Wed Nov 26, 2008 9:32 pm Post subject: |
|
|
Anyone complaining about the code is a fucking retard. Did anyone actually read my entire post? I cut parts of the code out that were either useless or standard and anyone with a brain would assume what was being done.
Rot1 wrote: | why the hell there is __stdcall ? i have a feeling you people just copy and paste all these codes lol. |
No. Fucking. Shit. I said that I took the codecave from Kitterz trainer. I was asking why would someone do it like that.
I am disappointed in you people. CEF programming usually gives such intelligent responses. This time, you all seem to go off and bitch about something completely unrelated to what I wanted to know.
Slugsnack wrote: | i don't see a sub or an add.. |
Sorry, forgot to include this bit in there.
Code: |
//83 ef 1e - sub edi,1e //Disable
//83 c7 1e - add edi,1e //Enable
//Middle byte = instruction.
|
|
|
Back to top |
|
 |
kitterz Grandmaster Cheater Supreme
Reputation: 0
Joined: 24 Dec 2007 Posts: 1268
|
Posted: Wed Nov 26, 2008 9:50 pm Post subject: |
|
|
*ahem*
This is how blink works...evey x amount of time, it go through ad subs 1e off of the master blink counter in edi.
When edi = 0, it stop blinking.
if you change it to "add edi, 1e", it will add 1e instead of taking away 1e. Thus, the counter becomes bigger, not smaller.
However, when noblink is turned off to prevent d/c (cause of the ggcrc), it resumes "sub edi, 1e", and eventually the counter in edi will reach zero. (it will last longer, but only the same length you kept it at "add edi, 1e")
What Pro-Surf and I did, was add soooo much to the blink counter, that you can turn it off immediately, and the "sub edi,1e" will never cause the blink counter to reach 0, because it is so large.
Understand?
_________________
|
|
Back to top |
|
 |
ZacTheSin I post too much
Reputation: 6
Joined: 09 May 2006 Posts: 2657
|
Posted: Thu Nov 27, 2008 6:44 am Post subject: |
|
|
Well, to make it not d/c, why not make it so it refreshs by turning on and off every now and then?
Like..
So at the moment, it's
sub edi,1e
We change it to
add edi,1e
(Or something massive as, so that it doesn't go down till a change channel/map is done.
How about, we monitor what it's done?
Or maybe
it goes like,
Code: | while ~userenable
[Original]sub edi,1e
[Enable1]add edi,1e
(Wait 100 Miliseconds) (This is me guessing it adds 1e every 1 ms)
[disable after enable1] sub edi,5dc (1500 ~ 3000/2 ~ 1e per ms [1e hex = 30 dec] )
(Wait 100 MS)
[Enable2] add edi, 1e
(Wait 100 MS)
else if
subaddaddress == "add edi,**"
change subaddaddress to "sub edi,1e"
goto while ~userenable |
* = any variable
As you can tell, I have no idea how to explain the ideas jammed in my mind with coding >_>
But trying to get it so, it refreshes fast enough so that the ggcrc doesn't realize it (I think that's how it works -.- this hack d/cing if it's left on) or so that it turns off when you want it to >_>
|
|
Back to top |
|
 |
kitterz Grandmaster Cheater Supreme
Reputation: 0
Joined: 24 Dec 2007 Posts: 1268
|
Posted: Thu Nov 27, 2008 7:23 am Post subject: |
|
|
Cellux wrote: | Well, to make it not d/c, why not make it so it refreshs by turning on and off every now and then?
Like..
So at the moment, it's
sub edi,1e
We change it to
add edi,1e
(Or something massive as, so that it doesn't go down till a change channel/map is done.
How about, we monitor what it's done?
Or maybe
it goes like,
Code: | while ~userenable
[Original]sub edi,1e
[Enable1]add edi,1e
(Wait 100 Miliseconds) (This is me guessing it adds 1e every 1 ms)
[disable after enable1] sub edi,5dc (1500 ~ 3000/2 ~ 1e per ms [1e hex = 30 dec] )
(Wait 100 MS)
[Enable2] add edi, 1e
(Wait 100 MS)
else if
subaddaddress == "add edi,**"
change subaddaddress to "sub edi,1e"
goto while ~userenable |
* = any variable
As you can tell, I have no idea how to explain the ideas jammed in my mind with coding >_>
But trying to get it so, it refreshes fast enough so that the ggcrc doesn't realize it (I think that's how it works -.- this hack d/cing if it's left on) or so that it turns off when you want it to >_> |
the problem is, the variable can have a max of like "add edi,7F", if i remember correctly. Then it will d/c for some reason. Any thing bigger than the 3 bytes will also screw up the bytes. Therefore, you use a codecave.
_________________
|
|
Back to top |
|
 |
ZacTheSin I post too much
Reputation: 6
Joined: 09 May 2006 Posts: 2657
|
Posted: Thu Nov 27, 2008 8:15 am Post subject: |
|
|
I see.
I'm sure you could use a codecave to do the same thing, depending on how it's made.
As long as it doesn't do something stupid like find an empty address every time it is re enabled during the delay, it should be fine.
|
|
Back to top |
|
 |
ElJEffro Grandmaster Cheater Supreme
Reputation: 0
Joined: 15 Apr 2007 Posts: 1881 Location: La Tierra
|
Posted: Fri Nov 28, 2008 1:18 am Post subject: |
|
|
kitterz wrote: | the problem is, the variable can have a max of like "add edi,7F", if i remember correctly. Then it will d/c for some reason. Any thing bigger than the 3 bytes will also screw up the bytes. Therefore, you use a codecave. |
0x7F is the maximum value of a signed byte.
|
|
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
|
|