Kodewerx

Our culture has advanced beyond all that you could possibly comprehend with one hundred percent of your brain.
It is currently Sun Dec 08, 2024 9:45 am

All times are UTC - 8 hours [ DST ]




Post new topic Reply to topic  [ 46 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Introducing: Kwurdi!
PostPosted: Fri Feb 09, 2007 12:43 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
Kwurdi! Isn't that a great name? It's almost cute! This is the successor to "GCNrd" and will eventually even replace it.

Here's what my readme has to say about Kwurdi:
Quote:
--------
Kwurdi v0.1 (02-09-07)
----------



--------
About Kwurdi
----------

Kwurdi is the "Kodewerx Universal Remote Debugger Interactive"
Just a silly acronym similar to "QWERTY"

The current build only supports Windows NT/2K/XP and Nintendo DS via Xport, and contains no user interface. The PC-side program is driven from the command line using the following list of options:

-ram <file>: Dump RAM to file
-p: Pause NDS
-c: Continue running from paused state

To dump RAM while a game is running, open a console (go to Start -> Run, type "cmd" without quotes) navigate to the directory where kwurdi has been installed, and type the command:

kwurdi -ram dumps\ramdump.bin

This will create a RAM dump named "ramdump.bin" in the "dumps\" subdirectory.



--------
Installation
----------

Extract the contents of the rar file to a directory of your choice, I suggest something like C:\kwurdi\

To install the .bit file (FPGA configuration) and .nds file (NDS executable) on your Xport, open an xport console and use the following command:

xpcomm /kwurdi/comms.bit && xpcomm /kwurdi/kwurdi.nds

Make sure you are using the modified xpcomm.exe that allows .nds files to be written!


Then switch the LPT cable to the 8-bit comms port you built. Insert your "PassMe"-type device into the NDS slot and turn the NDS on. When it says to remove the card, remove the "PassMe"-type device and replace it with the game you wish to hack. The game will automatically start up, and you will be on your way to finding new codes.



--------
Using Kwurdi
----------

Using Kwurdi at this early stage is difficult, but works. You will want to create as many dumps as you need, using a specific naming scheme. For example, I use a naming scheme like this:

gamename_codename_dumpnumber_value.bin


Example:

mario64_inflives_1_3.bin

Which tells me the dump was taken for Super Mario 64 DS, while I was looking for an Infinite Lives code, and it was the first dump I grabbed in the code search, with a value of 3. Create a few of these dumps before beginning your search, and it will be a bit easier to do your searching:

mario64_inflives_1_3.bin
mario64_inflives_2_2.bin
mario64_inflives_3_1.bin
mario64_inflives_4_1.bin
mario64_inflives_5_1.bin


Now you will want to open Renegade64 and go to Cheating -> Code Search. In the code search window, set your search size, based on what you think it might be (I suggest using 32-bit first, because it will help avoid confusion later...) and set the "Byte Order" to 32-Bit Little Endian (PJ64)" and the Header to "None."

Work your search down as normal, using the files dumped with Kwurdi. Click the Show Results button when you have it down to an acceptable amount of possibilities. This window gives you a list of offsets, not RAM addresses. This is nice because it's platform-independant. However, because NDS is a little endian machine, Renegade64 causes a few address problems as it's expecting a big endian machine.

If you chose an 8-bit search, you will have to BITWISE XOR (exclusive or) the offset with 3 to get the proper offset.
If you chose a 16-bit search, you will have to BITWISE XOR (exclusive or) the offset with 2 to get the proper offset.
If you chose a 32-bit search, the offset is perfect. (See? I told you it would help to avoid confusion.)

The other thing about these offsets (after you have fixed them, as just described) is that you will always have to add 0x02000000 to come up with your final NDS address. Then just format the codes according to the code type docs available on the kodewerx.net forums and test the codes.



--------
History
----------

v0.1 (02-09-07)
* Initial Release



--------
Known Bugs
----------

* May not work with every game.
* Some games may be unstable/crash often.
* Audio may 'glitch' after a game is unpaused. It can usually be "fixed" by pausing (-p option) and then unpausing (-c option)


A few notes before public release:
* A "PassMe"-type device is required to run this program.
* An Xport is also required (~$200 US http://www.charmedlabs.com)
* A special "8-bit comms cable adapter" is also required, and it must be built on your own (or have someone else build it).

Building the comms cable adapter is very easy. You will need an old floppy drive ribbon cable, a female DB-25 connector, and a male-male printer port extension cable (IEEE-1284 compliant). Cut off one end of the ribbon cable, leaving the pin header connector on one end, and strip the ends of each wire on the other. This piece should only be a few inches long (only as much as you need to do the soldering). Solder the wires to the female DB-25 connector using the following chart:
Code:
Kwurdi / Xport comms cable

          LPT  NDS
Data:     I/O  I/O
Clock:     O    I
Master:    O    I
Reset:     O    I

Master = 1: PC is master, 0: NDS is master



Wiring:

XPORT <-> LPT
  1,3 --- 18  (GND)
  5,7 --- 19
 9,11 --- 20
13,15 --- 21
17,19 --- 22
21,23 --- 23
25,27 --- 24
29,31 --- 25

    6 <-> 2   (DATA)
   10 <-> 3
   14 <-> 4
   18 <-> 5
   20 <-> 6
   22 <-> 7
   24 <-> 8
   26 <-> 9

   33 <-- 1   (CONTROL)  Clock
    4 <-- 14
   12 <-- 16
   16 <-- 17

    8 --> 15  (STATUS)
   32 --> 13
   30 --> 12
   28 --> 10
    2 --> 11


XPORT 34 (VCC) is unused.


You may use diodes on the control and status lines if you wish. Pull-up/pull-down resistors are not necessary.


With that, it's ready for beta testing. If you meet the hardware requirements, send me a private message and we'll get you set up with the beta software.

_________________
I have to return some video tapes.

Feed me a stray cat.


Last edited by Parasyte on Mon Feb 26, 2007 4:54 pm, edited 2 times in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Feb 09, 2007 12:45 pm 
Offline
Kommunist
Kommunist

Joined: Sun Dec 31, 2006 6:29 pm
Posts: 131
Very nice Para! Too bad I don't have Xport.


Last edited by Baphomet on Fri Feb 09, 2007 12:51 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Feb 09, 2007 12:46 pm 
Offline
Kommunist
Kommunist

Joined: Tue Oct 03, 2006 6:17 pm
Posts: 98
Win!

_________________
http://content.ytmnd.com/content/e/d/d/ ... ff4078.mp3


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Feb 09, 2007 12:50 pm 
Offline
Komrade
Komrade
User avatar

Joined: Mon Oct 02, 2006 5:56 pm
Posts: 1978
Title: Mr. Bitches
Awsomeness!

_________________
Image
Image
<EggWerx> MetalOverlord: Dsman and lemmayoshi will be used for taco meat, ask mo he knows me.
jleemero wrote:
Being required to learn Java for a Comp Sci MAJOR is like being required to shit on a lawnmower to be an astronaut.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Feb 09, 2007 1:15 pm 
Offline
Kommunist
Kommunist

Joined: Mon Jan 29, 2007 2:23 pm
Posts: 313
If datel does not release their crap soon, I may have to drop $200 to do this.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Feb 09, 2007 1:19 pm 
Offline
Kommunist
Kommunist

Joined: Sun Dec 31, 2006 6:29 pm
Posts: 131
I'm not paying $200 to hack.

_________________
Code:
#include <cstdlib>
#include <iostream>

int main(int argc, char *argv[])
{

   system("color 0A");
   for(int i=0;;i=rand()%2){
   for(long x=0;x<600000;x++);
   printf("%d",i);}
   system("pause");
   return 0;
}


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Feb 09, 2007 1:42 pm 
Offline
Kommunist
Kommunist
User avatar

Joined: Sat Oct 21, 2006 10:01 am
Posts: 341
Location: Right Here Duh....
This looks great para! Although as you said it is pretty confusing to use. In future versions of Kwurdi I hope to see a small bit of improvement.

_________________
Image
Image


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Feb 09, 2007 2:31 pm 
I love you.


Top
  
Reply with quote  
 Post subject:
PostPosted: Fri Feb 09, 2007 2:36 pm 
Offline
Komrade
Komrade
User avatar

Joined: Mon Oct 02, 2006 5:56 pm
Posts: 1978
Title: Mr. Bitches
lemmayoshi wrote:
I love you.
Funnily enough I was contemplating posting that. :P

_________________
Image
Image
<EggWerx> MetalOverlord: Dsman and lemmayoshi will be used for taco meat, ask mo he knows me.
jleemero wrote:
Being required to learn Java for a Comp Sci MAJOR is like being required to shit on a lawnmower to be an astronaut.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Feb 10, 2007 7:15 am 
Offline
Kommunist
Kommunist

Joined: Sun Feb 04, 2007 8:49 am
Posts: 90
Who'd pay $200 just to hack codes?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Feb 10, 2007 11:07 am 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:46 pm
Posts: 2331
Location: *poof*
Title: The Mad Hacker
Me... :( If it were all donated..

_________________
Image


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Feb 10, 2007 12:37 pm 
Offline
Kommunist
Kommunist
User avatar

Joined: Sat Oct 21, 2006 3:26 pm
Posts: 366
Location: USA
Title: Ancient Code Sage
Actually, I am testing Kwurdi now with an XPORT, custom built 8 bit cable for high speed transfer of ram dumping, and parallel port adapter. XPORT also comes with a cable for connecting to the parallel port of a PC thru what is called a CPORT (10 pin mini connector that looks like a HD or Floppy ribbon cable only smaller). You use the CPORT to program the flash area of the XPORT. You use the CPORT to upload the Kwurdi program. The XPORT itself is a marvelous FPGA device that can be anything you want it to be. Anyway, as you know Para has demonstrated the ram dump process using his original DS and he has generously made time to adapt Kwurdi for my DS Lite and additionally allowes me to use a Super Key Card (similiar to Pass Key) so that I did not have to flash my DSL firmware...as I elected not to do that. I am now in deep review of Kenobi's notes on AR DS code types and running some tests to get my hacking skills back up to speed. I hope to bring KW and indeed the gaming world codes similiar to what I did back in the SNES, N64 and GBA days. For those that know me and remember those days...nuff said. For those younger guys and gals...watch this space. A big round of accolades for my friend Para and his more than humanly possible hacking skills and programming knowledge. Hey...it isn't everyday you see an ancient sage resurrected now is it? LOL

ciao

_________________
Ancient Code Sage


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Feb 10, 2007 12:52 pm 
Offline
Komrade
Komrade
User avatar

Joined: Mon Oct 02, 2006 5:56 pm
Posts: 1978
Title: Mr. Bitches
I've heard about you.
OH SHI-, Watch out world! :D

_________________
Image
Image
<EggWerx> MetalOverlord: Dsman and lemmayoshi will be used for taco meat, ask mo he knows me.
jleemero wrote:
Being required to learn Java for a Comp Sci MAJOR is like being required to shit on a lawnmower to be an astronaut.


Last edited by Dualscreenman on Thu Feb 15, 2007 4:27 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Feb 15, 2007 1:22 pm 
Offline
Kommunist
Kommunist

Joined: Sun Nov 19, 2006 11:23 am
Posts: 37
Location: At my computer... -_-
Kwurdi = Win.

I've already hacked a couple of codes with it, and it works really well. When do you think we'll be getting new hacking tutorial videos? I'd like to see some other ways to hack codes, so far mine have been pretty baisic.

_________________
<Insomniak`> Stupid fucking Google
<Insomniak`> "The" is a common word, and was not included in your search
<Insomniak`> "Who" is a common word, and was not included in your search


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Feb 15, 2007 1:34 pm 
Offline
Kommunist
Kommunist
User avatar

Joined: Mon Oct 30, 2006 4:54 pm
Posts: 76
Well, I don't have an Xport but I'm just going to ask my question anyway. In any future release, will it be compatidble with Macs? In any future releases, not soon, but future releases...:?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Feb 15, 2007 1:39 pm 
Offline
Kommunist
Kommunist

Joined: Sun Nov 19, 2006 11:23 am
Posts: 37
Location: At my computer... -_-
I remember Para saying that he plans on making it system-independant, so it is possible.

_________________
<Insomniak`> Stupid fucking Google
<Insomniak`> "The" is a common word, and was not included in your search
<Insomniak`> "Who" is a common word, and was not included in your search


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Feb 15, 2007 4:21 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
Yes, OS X support is going to happen, but only after I get USB support sorted.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Feb 16, 2007 12:43 pm 
Offline
Krew (Moderator)
Krew (Moderator)
User avatar

Joined: Mon Oct 02, 2006 7:05 pm
Posts: 494
Location: In Time
Title: Algorithm Strategist
Welcome back, Mac.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Feb 18, 2007 9:32 pm 
Offline
Kommunist
Kommunist

Joined: Sat Feb 17, 2007 8:24 pm
Posts: 12
Thats a little expensive to hack codes for. But it seems somewhat reasonable that the USB port on the Lite might be hacked to send RAM dumps, but that would leave out the original DS owner including me, plus it would be difficult.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Feb 21, 2007 1:36 am 
Offline
Kommunist
Kommunist

Joined: Thu Feb 15, 2007 6:55 am
Posts: 2
Cool initiative, too bad about the expensive equipment that is required though. I've done a memdumper routine myself too, which dumps to the FAT of some slot-2 flashcard device. Unfortunately I was not able to get it to resume the game .. in the first build the music/gfx would just hang after dumping. Then I thought maybe disabling the IRQ's prior to dumping, and enabling them again _after_ dumping would help, this worked, the music continued to play .. but the game itself didn't resume :/

I was running this routine from the ARM9 .. I somehow get the impression the arm9/arm7 need to stay in "sync" and that's the reason the game didn't resume for me. But then again, I burried this source somewhere in the dark corners of my harddisks and can't be fucked to play with them anymore. Perhaps some evil haxors (read: Parasyte) can shed some light on this?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Feb 21, 2007 10:04 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.
There is no "USB port on the Lite" ... I'm not sure who fed you this misinformation, but it is simply not true. For USB support, some additional hardware (with a USB port) will be required, regardless of which NDS hardware revision you own.

Dumping RAM is nothing impressive, you just pause both CPUs at the same time within their VBlank interrupt handlers and resume them afterward. If the two are slightly out of sync, you will get an 'echo' or choppiness in the music. That's all. This project will be open source at some point, so you can see how it works.

It should also have support for Trainer Toolkit hardware and other USB kits like Neoflash MK5 by the time it goes open.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Feb 25, 2007 4:26 pm 
Offline
Kommunist
Kommunist

Joined: Sat Feb 17, 2007 8:24 pm
Posts: 12
Really? On a lite review the people clearly said there was a USB port on the bottom of the lite, and my friend got it hooked up to the Wii's port for charging. Are you sure, or do you even have a Lite?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Feb 25, 2007 4:36 pm 
DS lite does not have a fucking USB port.


Top
  
Reply with quote  
 Post subject:
PostPosted: Sun Feb 25, 2007 5:35 pm 
Offline
Kommunist
Kommunist
User avatar

Joined: Sat Oct 14, 2006 5:41 pm
Posts: 99
Location: 38.90N 77.03W
Your friend modified a DSLite charging cable to draw power from the the USB on his/her wii.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Feb 25, 2007 6:41 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
Of course I own a DS Lite. I have owned one for at least 6 months. The only ports on the bottom are the GBA port (slot-2), and headphone/microphone jacks; exactly like on the original DS.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Mar 29, 2007 7:34 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.
OK, good news! I was able to get Kwurdi booting game again. However, the new comms protocol does not appear to be working correctly. Hmm, on second thought, it may just be a stupid mistake I made in changing my LPT switch to the wrong port. Oh well.

I'm hoping to clean up the source code so I can release the first public sources and binaries. Kwurdi will be made available under the GPL. I'm adamant in making the sources easy to follow and work with, so that will be the biggest part of my time in getting it ready. I'll also write up a priority list for anyone willing to help with the project.

For the most part, I use C. The client program is written entirely in console mode C. The NDS server is written in C (menu) and ARM assembly (debugger). I will be developing a graphical user interface eventually. I am currently considering SDL for the job, because it will make cross-platform custom widgets extremely simple to create and maintain. Another option may be GTK+, but I am unfamiliar with it, and I don't know if it can do custom controls. (wxWidgets was a previous option, but I dropped it when I discovered it cannot do custom controls at all.)

One of the main needs for custom controls will be the disassembler interface I want to use. It will look similar to the IDA Pro disassembly interface, with syntax coloring and branch/jump reference arrows. The arrows cannot be done with a standard rich edit control, as far as I know.

That's all for now.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Mar 29, 2007 12:17 pm 
Offline
Kommunist
Kommunist

Joined: Mon Jan 29, 2007 2:23 pm
Posts: 313
looking forward to this :) I cant wait to ditch the trainer toolkit software.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Mar 30, 2007 11:50 pm 
Offline
Komrade
Komrade
User avatar

Joined: Tue Mar 27, 2007 6:23 pm
Posts: 1354
Location: Mario Raceway, 1509.831, 217.198, -564.429
Title: Mario Kart 64 Hacker
Will it ever support debugging over wifi or the ARDS' USB port?

_________________
Image 143
HyperNova Software is now live (but may take a few tries to load) currently down; check out my PSP/DS/Game Boy/Windows/Linux homebrew, ROM hacks, and Gameshark codes!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Mar 31, 2007 4:03 am 
Offline
Kommunist
Kommunist

Joined: Mon Jan 29, 2007 2:23 pm
Posts: 313
why would it "support the ARDS USB port"? if you mean trainer toolkit support it would be the trainrt toolkit USB port.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Mar 31, 2007 7:05 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.
Yes, eventually I want to see it compatible with the trainer toolkit hardware, as well as another custom port built on Xport (with USB connectivity instead of LPT, this time). Since it will be open source as soon as I can squash the remaining big bugs, maybe you will see additional hardware support and functionality from the community rather quickly.

I believe WiFi will be strictly impossible unless the game already has WiFi libs built in. The code for it would have a footprint that is far too big to be universal on NDS. I was able to get away with a UDP network driver on GameCube because I had 32KB allocated for the program and another 12KB for the packet buffer. On NDS, I only have 0.5KB - 12KB of memory available, depending on the game.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 46 posts ]  Go to page 1, 2  Next

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


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