View previous topic :: View next topic |
Author |
Message |
Hieroglyphics I post too much Reputation: 0
Joined: 06 Dec 2007 Posts: 2007 Location: Your bedroom
|
Posted: Sun Jul 06, 2008 7:37 pm Post subject: [Tutorial] How to nop and make cleaner scripts! |
|
|
Credits: Me 100%
I just posting this, because I noticed I never posted it o CEF
This tutorial may not matter much, but is useful for people who like things neat
I will be showing you how to do this with nopping in this tutorial.
First Step: Find an opcode that you would like to nop.
The Bytes are what you will be using instead of opcodes to make this Auto-Assembly script looking neat. So for this address the bytes are:
and the opcode which you would put in a normal script is:
So now you can make your disable section which is:
Code: | [disable]
0008359A: //This is the address of the opcode which always before the opcode or bytes
db 68 e0 17 08 00 //db means define byte so now you put this here since it is the original opcode/bytes so you can restore the code once you disable the cheat |
but the original disable section would be:
Code: | [disable]
0008359A: //This is the address of the opcode which always before the opcode or bytes
push 000817e0 //This is the original opcode so it can restore the code when you disable the cheat |
Second Step: Now we nop that address by right clicking and clicking replace with code that does nothing.
Third Step: Once we nop the address we count how many opcodes change to nop or how many bytes change to 90 in a row below it.
Fourth Step: In this case there are 5 nops or 90s so now we can build our enable section.
The original script would look like this:
Code: | [enable]
0008359A: //This is the address of the opcode which always before the opcode or bytes
nop //This is the amount of opcodes that changed to nop when you replaced with a code that does nothing
nop
nop
nop
nop |
but this script annoys some people and looks messy so to make it neater we can insert the bytes instead and make the script like this:
Code: | [enable]
0008359A: //This is the address of the opcode which always before the opcode or bytes
db 90 90 90 90 90 //This is the amount of nops and one nop in bytes is 90 so we put define byte and 5 nops |
Then we would combine the enable and the original script would be:
Code: | [enable]
0008359A: //This is the address of the opcode which always before the opcode or bytes
nop //This is the amount of opcodes that changed to nop when you replaced with a code that does nothing
nop
nop
nop
nop
[disable]
0008359A: //This is the address of the opcode which always before the opcode or bytes
push 000817e0 //This is the original opcode so it can restore the code when you disable the cheat |
A much neater version of this script using bytes would be:
Code: | [enable]
0008359A: //This is the address of the opcode which always before the opcode or bytes
db 90 90 90 90 90 //This is the amount of nops and one nop in bytes is 90 so we put define byte and 5 nops
[disable]
0008359A: //This is the address of the opcode which always before the opcode or bytes
db 68 e0 17 08 00 //db means define byte so now you put this here since it is the original opcode/bytes so you can restore the code once you disable the cheat |
See how the clean script without my commentary is 6 lines while the original script would be 10 lines long.
You have just learned how to nop and script neater!
_________________
|
|
Back to top |
|
|
reload01 Advanced Cheater Reputation: 0
Joined: 22 Oct 2006 Posts: 96
|
Posted: Sun Jul 06, 2008 7:44 pm Post subject: |
|
|
good job on this tut
|
|
Back to top |
|
|
samuri25404 Grandmaster Cheater Reputation: 7
Joined: 04 May 2007 Posts: 955 Location: Why do you care?
|
Posted: Sun Jul 06, 2008 7:50 pm Post subject: |
|
|
This is covered in one of my AA tuts.
_________________
|
|
Back to top |
|
|
Hieroglyphics I post too much Reputation: 0
Joined: 06 Dec 2007 Posts: 2007 Location: Your bedroom
|
Posted: Sun Jul 06, 2008 7:53 pm Post subject: |
|
|
Lol oh. I posted this a long time ago so this WAS actually my work =]
Original Post
_________________
|
|
Back to top |
|
|
atom0s Moderator Reputation: 198
Joined: 25 Jan 2006 Posts: 8516 Location: 127.0.0.1
|
Posted: Sun Jul 06, 2008 11:17 pm Post subject: |
|
|
This doesn't deal with programming but instead a feature of CE, moved.
_________________
- Retired. |
|
Back to top |
|
|
Noz3001 I'm a spammer Reputation: 26
Joined: 29 May 2006 Posts: 6220 Location: /dev/null
|
Posted: Mon Jul 07, 2008 4:50 am Post subject: |
|
|
It might be neater but will someone with little knowledge be able to read it?
|
|
Back to top |
|
|
Blazin Grandmaster Cheater Reputation: 0
Joined: 17 Sep 2006 Posts: 770 Location: Somewhere over the rainbow.
|
Posted: Fri Jul 18, 2008 11:40 pm Post subject: |
|
|
noz3001 wrote: | It might be neater but will someone with little knowledge be able to read it? |
Being a person with only a little ASM knowledge, even I am able to read what is going on in those scripts. It's not really all too difficult.
|
|
Back to top |
|
|
xzatoichix Cheater Reputation: 0
Joined: 17 Jul 2008 Posts: 32 Location: DownUnder - BrisVegas
|
|
Back to top |
|
|
Butcher Expert Cheater Reputation: 0
Joined: 04 Mar 2009 Posts: 125 Location: lAS vEGAS no joke
|
Posted: Thu Mar 19, 2009 6:53 pm Post subject: |
|
|
thanks this helped me a LOT
|
|
Back to top |
|
|
immediate How do I cheat? Reputation: 0
Joined: 05 Sep 2010 Posts: 1
|
Posted: Sun Sep 05, 2010 8:41 am Post subject: |
|
|
Thanks for this tutorial it makes clear on how to make scripts which nop.
However im confused about something about the memory, it seems when you change the opcode into nop.
It displays 5 nops with an offset of 1 between them.
I guess up till now, i assumed how the os stores memory was in 32 bits for each address? it seems like it stored the the nop over the push like this:
000859A: 90 90 90 90 90
sorry just a concept confusion, can someone please explain about the memory allocation?
|
|
Back to top |
|
|
Geri Moderator Reputation: 111
Joined: 05 Feb 2010 Posts: 5636
|
Posted: Sun Sep 05, 2010 9:44 am Post subject: |
|
|
It depends on what do You mean by "address". One address does not take 4 bytes. Every byte has an address and one byte is 8 bit only.
So this
Code: | 000859A: 90 90 90 90 90 |
in reality looks like this:
Code: | 000859A 90
000859B 90
000859C 90
000859D 90
000859E 90 |
You replace each byte with one NOP.
_________________
|
|
Back to top |
|
|
rfreeman Newbie cheater Reputation: 0
Joined: 26 Jan 2010 Posts: 24
|
Posted: Sat Mar 26, 2011 6:57 am Post subject: |
|
|
Much thanks. You've cleared up a problem I had, I was forgetting to put db in front of the bytes, haha. Cheers.
|
|
Back to top |
|
|
|