| View previous topic :: View next topic |
| Author |
Message |
Anaxor Newbie cheater
Reputation: 0
Joined: 11 Aug 2007 Posts: 17
|
Posted: Thu May 22, 2014 12:19 am Post subject: Question Assembly |
|
|
hello friends, im still learning assembly
my question here is:
is it possible to code in assembly a direct address or pointer
and change its value just like clicking change value in the cheat table?
if so how?
why i ask about this?
because the game im trying to cheat on has CRC , and im using
a custom script to bypass the check, so i can only make changes by assembly using this script
anything that i change by double clicking value will dc crash the game...
any example will be appreciated
here is an example of what i want to do
address 014C8368 4byte value 3162
how can i change its value in assembly?
|
|
| Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4196
|
Posted: Thu May 22, 2014 12:30 am Post subject: |
|
|
Yes, but it's usually the other way around (assembly code crashes the game, but direct altering of values doesn't). If directly altering a value crashes the game, there may be additional checks being performed that constantly compare the value against itself (e.g. if the value at first check was 4 and value at next check was 100, the difference is 96...which is impossible...so initiate crash etc.). If the game is online, the server could be doing the compare and forcing a crash because the data doesn't match.
Anyway, if this is happening, a script will not help you unless you can find where the compare is occurring (if online, forget it).
To answer your question...
There are several ways to do it, but first, I would just test it by creating a simple script that locks the value to see if altering via a script will even work.
|
|
| Back to top |
|
 |
Anaxor Newbie cheater
Reputation: 0
Joined: 11 Aug 2007 Posts: 17
|
Posted: Thu May 22, 2014 10:00 am Post subject: |
|
|
| ++METHOS wrote: | Yes, but it's usually the other way around (assembly code crashes the game, but direct altering of values doesn't). If directly altering a value crashes the game, there may be additional checks being performed that constantly compare the value against itself (e.g. if the value at first check was 4 and value at next check was 100, the difference is 96...which is impossible...so initiate crash etc.). If the game is online, the server could be doing the compare and forcing a crash because the data doesn't match.
Anyway, if this is happening, a script will not help you unless you can find where the compare is occurring (if online, forget it).
To answer your question...
There are several ways to do it, but first, I would just test it by creating a simple script that locks the value to see if altering via a script will even work. |
already bypassed the CRC by assembly by using stealthedit plugin already played with it already make the hack to work, but im not looking to code a full script for something i just need a simple value change
like a said i have in the CT address 014cfdd8 its 4byte and its value is 3278
i just need an assembly script to change its value, something like
mov [014cfdd8],(int)3279
but idk i cant make it to work
|
|
| Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4196
|
Posted: Thu May 22, 2014 1:06 pm Post subject: |
|
|
| Anaxor wrote: | | already played with it already make the hack to work | -So what's the problem?
Anyway, there are several ways you can do it, depending on what you want. Do you want to be able to set the value to anything you want, or do you just want to be able to lock the value to the same number every time?
Let CE build the script for you and copy/paste your code here. Make sure you have 'show module addresses' checked.
Alternatively, something simple:
| Code: | [ENABLE]
[[["game.exe"+0159E91C]+18]+8]+60:
dd FFFFFFFF
[DISABLE]
[[["game.exe"+0159E91C]+18]+8]+60:
dd 00000000 |
|
|
| Back to top |
|
 |
Anaxor Newbie cheater
Reputation: 0
Joined: 11 Aug 2007 Posts: 17
|
Posted: Thu May 22, 2014 5:59 pm Post subject: |
|
|
| ++METHOS wrote: | | Anaxor wrote: | | already played with it already make the hack to work | -So what's the problem?
Anyway, there are several ways you can do it, depending on what you want. Do you want to be able to set the value to anything you want, or do you just want to be able to lock the value to the same number every time?
Let CE build the script for you and copy/paste your code here. Make sure you have 'show module addresses' checked.
Alternatively, something simple:
| Code: | [ENABLE]
[[["game.exe"+0159E91C]+18]+8]+60:
dd FFFFFFFF
[DISABLE]
[[["game.exe"+0159E91C]+18]+8]+60:
dd 00000000 |
|
i want to set the value to anything i want, not just a fixed value
[ENABLE]
stealthedit(Map,008B401B,5)
alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)
registersymbol(staddy)
label(staddy)
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
originalcode:
mov [eax],(int)5005
mov ecx,[ebp-04]
exit:
jmp returnhere
Map:
staddy:
jmp newmem
returnhere:
[DISABLE]
dealloc(newmem)
staddy:
mov [eax],ecx
mov ecx,[ebp-04]
the address that i want to change the value is 014cfdd8 it shows the value of map id
the script is made for the address 008B401B it writes into 014cfdd8
but isn't there a way to just simple change the value of 014cfdd8 like in the cheat table?
[ ] Map hack 014cfdd8 4byte 2543
if i edit 5005 in the CT it will DC because of CRC
using stealthedit plugin in assembly will no dc me when this value change
i just want to edit directly the address 014cfdd8 value in assembly how can i do that?[/code]
|
|
| Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4196
|
Posted: Thu May 22, 2014 6:36 pm Post subject: |
|
|
If you're not going to use module addresses (or can't), then you really should use AOB unless you know for sure that the address does not change.
Anyway, you can try this:
| Description: |
|
 Download |
| Filename: |
Table.CT |
| Filesize: |
1.69 KB |
| Downloaded: |
555 Time(s) |
|
|
| Back to top |
|
 |
Anaxor Newbie cheater
Reputation: 0
Joined: 11 Aug 2007 Posts: 17
|
Posted: Thu May 22, 2014 8:16 pm Post subject: |
|
|
and how do i use AOB?
tried doing
[Enable]
stealthedit(Map,014cfdd8,6)
Map:
08
[Disable]
014cfdd8:
01
i want to change the stealthedit value
if i just do 014cfdd8 db 08 i will dc
how can i use it in aob?
|
|
| Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4196
|
Posted: Fri May 23, 2014 12:39 am Post subject: |
|
|
| [sigh] Did it work?
|
|
| Back to top |
|
 |
Anaxor Newbie cheater
Reputation: 0
Joined: 11 Aug 2007 Posts: 17
|
Posted: Fri May 23, 2014 9:43 am Post subject: |
|
|
no it didnt work the aob didnt change
do you know a way to change the
aob while using stealthedit plugin?
|
|
| Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4196
|
Posted: Fri May 23, 2014 10:03 am Post subject: |
|
|
You're not making sense. The script that I posted did not contain AOB. I am asking if that script worked.
Yes, I know how to implement AOB with stealthedit.
|
|
| Back to top |
|
 |
Anaxor Newbie cheater
Reputation: 0
Joined: 11 Aug 2007 Posts: 17
|
Posted: Mon May 26, 2014 2:24 pm Post subject: |
|
|
yes it worded, but im not asking to do that...
what i want is just to change the value of an specific address while stealthedit
i know that the address 014cfdd8 value is 1 i want to change it o 8 or whatever
i dont want o see which address it writes into it.... i just want to directly change the value of 014cfdd8 not what 008B401B writes...
|
|
| Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4196
|
Posted: Mon May 26, 2014 3:49 pm Post subject: |
|
|
Clearly, there is a language barrier here. Really, I do not like wasting my time.
You can try this (untested approach):
| Description: |
|
 Download |
| Filename: |
TABLE.ct |
| Filesize: |
4.19 KB |
| Downloaded: |
469 Time(s) |
|
|
| Back to top |
|
 |
Anaxor Newbie cheater
Reputation: 0
Joined: 11 Aug 2007 Posts: 17
|
Posted: Mon May 26, 2014 10:52 pm Post subject: |
|
|
| ++METHOS wrote: | Clearly, there is a language barrier here. Really, I do not like wasting my time.
You can try this (untested approach): |
yes it is working
tried to edit the addresses to this:
| Code: | [ENABLE]
stealthedit(cave,0148F9D0,40)
registersymbol(value)
label(value)
cave:
0148F9D0:
value:
dd 0
[DISABLE]
0148F9D0:
dd 00000766
unregistersymbol(value) |
and the game crash, tried to do it like this
| Code: | [ENABLE]
stealthedit(cave,0148F9D0,40)
registersymbol(value)
label(value)
cave:
value:
dd 0
[DISABLE]
0148F9D0:
dd 00000766 |
the value changes in the copy address value, but it doesn't affect the actual value i want to change
|
|
| Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4196
|
Posted: Tue May 27, 2014 12:13 am Post subject: |
|
|
Probably because...like I said before...a check is being performed on the value itself.
If you manually alter a value (and you know, 100%, that it is the correct address) and the game crashes...then it's probably because of anti-cheat/server-sided security checks etc.
But...since you refuse to listen...you continue to waste people's time.
|
|
| Back to top |
|
 |
Anaxor Newbie cheater
Reputation: 0
Joined: 11 Aug 2007 Posts: 17
|
Posted: Tue May 27, 2014 12:39 am Post subject: |
|
|
| ++METHOS wrote: | Probably because...like I said before...a check is being performed on the value itself.
If you manually alter a value (and you know, 100%, that it is the correct address) and the game crashes...then it's probably because of anti-cheat/server-sided security checks etc.
But...since you refuse to listen...you continue to waste people's time. |
but i did this with the write address and it works...
| Code: |
[ENABLE]
stealthedit(Map,00463f68,9)
alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)
registersymbol(staddy)
label(staddy)
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
originalcode:
mov ecx,[ebp+08]
mov [eax+00012108],C350 // edited this
exit:
jmp returnhere
Map:
staddy:
jmp newmem
nop
nop
nop
nop
returnhere:
[DISABLE]
dealloc(newmem)
staddy:
mov ecx,[ebp+08]
mov [eax+00012108],ecx
|
and the value of the address i wanted changed, why cant i just change the value directly?
|
|
| Back to top |
|
 |
|