Kodewerx https://www.kodewerx.org/forum/ |
|
NDS Hacking Tutorials https://www.kodewerx.org/forum/viewtopic.php?f=2&t=628 |
Page 1 of 1 |
Author: | kickenchicken57 [ Tue Jan 30, 2007 8:08 am ] |
Post subject: | NDS Hacking Tutorials |
NDS HACKING TUTORIALS This will be a place to post any tips you have on how you went about hacking a game and how your technique can be applied to other games. If this gets enough tutorials maybe someone could sticky this. Please post in this format if tutorial is game specific: *Game Name: name *Game Code: NME *Game ID: 01234abc *Region: U Thanks. |
Author: | Mewy [ Tue Jan 30, 2007 8:14 am ] |
Post subject: | |
I don't get it. |
Author: | !Poncho! [ Tue Jan 30, 2007 8:29 am ] |
Post subject: | |
Mewy wrote: I don't get it. I think it's a thread to post tutorials. ![]() |
Author: | kickenchicken57 [ Tue Jan 30, 2007 11:11 am ] |
Post subject: | |
Mewy wrote: I don't get it.
What don't you get? I am currently witting my tutorial on how I hacked my Advance Wars codes (which i will post today) in hopes it will help others learn to hack codes with our limited resources. Basically, I want to help others get started hacking although most of us have no way of memory searching or using debuggers to trace ASM. The only way for us to thrive is to share our information. Does that help any? |
Author: | Parasyte [ Tue Jan 30, 2007 11:19 am ] |
Post subject: | |
We're hoping to do video tutorials in the future using podcasts as a distribution medium. Something similar to the first one I put together earlier: http://kodewerx.net/forum/viewtopic.php?t=514 |
Author: | kickenchicken57 [ Tue Jan 30, 2007 11:45 am ] |
Post subject: | |
sounds good, I would love to help out if possible PS. If someone can format my tutorial better, Like into a help file or Html with an index or links, be my guest. better yet, is there an easy to use tool to write my tutorials in so that I can add an index with links to the sections? |
Author: | kickenchicken57 [ Tue Jan 30, 2007 11:52 am ] |
Post subject: | |
**UPDATED 1/30 11:07pm GMT -5** Game Name: Advance Wars: Dual Strike Game Code: AWRE Game ID: bc9ee732 Region: U This is a simple technique that can be applied to most games with a little modification. What we are going to do is map out the block of memory that Advance Wars uses to store information for our units. This technique can be used on games where you have a code for two or more "Units" in a contiguous block of memory. For example, in any of the Pokemon games, the Pokemon in your party are in a contiguous memory block because if you find a health code for the first two Pokemon and find the difference between the addresses in hex you can add that number to your current health address to get the health address of the next Pokemon. If you don't understand what I am saying, just keep reading and it should become a lot more clear after the examples. Ok, we are going to start with the codes that Datel have been so kind to hack for us. Open up your Action Replay Code Manager and browse through the USA games until you come to "Advance Wars: Dual Strike" (should be the first in the list). Expand the tab and browse to the "SQUAD 1 CODES" folder. Expand the tab and you should see UNIT 1: Press Y To Move Again UNIT 2: Press Y To Move Again UNIT 3: Press Y To Move Again etc.... Open up the "UNIT 1: Press Y To Move Again" code and you will see 9216e594 f7ff0800 - Joker "If Code" 22188473 00000000 - Address we are modifying d0000000 00000000 - "end if" code we are interested in the address 22188473 because it holds the bit for whether or not our first unit has moved. (1=moved 0= not moved) Now open up the "UNIT 2: Press Y To Move Again" code and you will see 9216e594 f7ff0800 - Joker "If Code" 22188481 00000000 - Address we are modifying d0000000 00000000 - "end if" code once again we are interested in the address in the middle 22188481. Now since we suspect that the units should all be in a contiguous block of memory we are going to subtract the UNIT 1 code FROM the UNIT 1 code like this (NOTE: When using the Windows Calc goto view->Scientific and make sure to set it to HEX) 22188481 - 22188473 __________ E You should come up with E. If not, check that you are in fact in Hex mode. To easily convert this to decimal, all you have to do is switch the calc back into decimal mode and it will display 14. What this means is that each Unit is made up of 14 bytes or "addresses" containing information on them. Now for your first easy hack. Datel only gave us codes to move the first 25 Units again, but Advance Wars allows up to 50 units per game. To extend this to all 50 units, start with the "UNIT 25: Press Y To Move Again" address and add 14 which in hex is E 221885c3 + E ________ 221885d1 Did you come up with 221885d1? if so, good job. Now your code to move UNIT 26 again is 221885d1 00000000. If you wanted them to all be "Press Y" cheats make sure to add the Joker code in like so UNIT 26: Press Y To Move Again 9216e594 f7ff0800 221885d1 00000000 d0000000 00000000 Now all you have to do is repeat the steps until you get to UNIT 50! **SECTION 2** Are you ready to learn how to make more exciting cheats? good, here we go. Remember earlier when I mention that the Units take up 14 bytes of memory? Well, those 14 bytes hold information on our units health, gas, and other stuff. Lets find out what they are. The First step is to take a look at our "Base Address" which is the "UNIT 1: Press Y To Move Again" code 22188473. For the sake of simplicity I will tell you that the units memory actually starts one byte up at 22188472. So our 14 byte block of memory looks like this address effect ______________________________ 22188472--------???? 22188473--------move again 22188474--------???? 22188475--------???? 22188476--------???? 22188477--------???? 22188478--------???? 22188479--------???? 2218847A--------???? 2218847B--------???? 2218847C--------???? 2218847D--------???? 2218847E--------???? 2218847F--------???? To find out what these address are for, simply use a code with a value that you think could be easy to spot. For example, try using 17 (11h) and looking at the ammo or health of your first unit to see what has a value of 17 or has been affected or something different. If say your gas changes to 17 then you know what the address does. after poking around I have been able to almost completely map out a units memory area address effect ______________________________ 22188472--------Unit Modifier 22188473--------move again - 0 = Has not moved, 1 = Has moved 22188474--------X Position 22188475--------Y Position 22188476--------Unit # Loaded in slot 1 22188477--------Unit # Loaded in slot 2 22188478--------Health 22188479--------Ammo and Some Status flags are stored here 2218847A--------Gas 2218847B--------???? 2218847C--------???? 2218847D--------???? 2218847E--------???? 2218847F--------???? *Unit # Loaded in slot 1 and 2 means the unit number used for the cheat will be loaded into unit 1 like on a Boat or APC Ex. 22188476 00000003 - Unit 3 is loaded into Unit 1 22188477 0000000a - Unit 10 is loaded into Unit 1 This code could be used with a Button activator or "Joker Code" May also need to modify the Units position to match the Unit it will be loaded into *Health ranges from 0 to 100. 10 health points is worth 100, 8 is 80, 4 is 40 etc. 22188478 00000064 will give Unit 1 full health (100 health or 10 health points). *Ammo shares an address with the flags that let the game know if your unit is currently capturing, low ammo, low gas, etc. To have infinity ammo you have to know what bits the ammo use and use a bitwise and type code to "and" your ammo into the address without affecting the other bits. I will come back to this later... Unit Modifier Values _____________________ 00--------------No Unit 01--------------Infantry **Check back for Update** **To tired to finish** **NEXT UPDATES** -finish the unit modifier value list -how to find the ammo bit and create an "and" cheat |
Page 1 of 1 | All times are UTC - 8 hours [ DST ] |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |