Kodewerx

Our culture has advanced beyond all that you could possibly comprehend with one hundred percent of your brain.
It is currently Thu Jul 31, 2025 12:49 am

All times are UTC - 8 hours [ DST ]


Forum rules


Discussion of illegal hacking/cracking is prohibited. (No virus/trojans/cracks/warez/etc allowed.)



Post new topic Reply to topic  [ 7 posts ] 
Author Message
 Post subject: NDS Hacking Tutorials
PostPosted: Tue Jan 30, 2007 8:08 am 
Offline
Kommunist
Kommunist

Joined: Mon Jan 29, 2007 2:23 pm
Posts: 313
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.


Last edited by kickenchicken57 on Wed Jan 31, 2007 11:58 am, edited 3 times in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Jan 30, 2007 8:14 am 
Offline
*Female Hacker
*Female Hacker
User avatar

Joined: Sat Oct 21, 2006 9:54 am
Posts: 1656
Location: Who cares?
Title: Female Hacker!!!
I don't get it.

_________________
Image
Chat with our AI here...
Don't blame me if it's offline temporary, it's fixed fast, because that's the fault of the hoster...
I changed the link in my sig image too...


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Jan 30, 2007 8:29 am 
Offline
Kommunist
Kommunist

Joined: Sun Jan 28, 2007 6:07 pm
Posts: 14
Mewy wrote:
I don't get it.
I think it's a thread to post tutorials. ;)


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Jan 30, 2007 11:11 am 
Offline
Kommunist
Kommunist

Joined: Mon Jan 29, 2007 2:23 pm
Posts: 313
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?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Jan 30, 2007 11:19 am 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
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

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Jan 30, 2007 11:45 am 
Offline
Kommunist
Kommunist

Joined: Mon Jan 29, 2007 2:23 pm
Posts: 313
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?


Last edited by kickenchicken57 on Tue Jan 30, 2007 11:54 am, edited 1 time in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Jan 30, 2007 11:52 am 
Offline
Kommunist
Kommunist

Joined: Mon Jan 29, 2007 2:23 pm
Posts: 313
**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


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 529 guests


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 post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group