Kodewerx

Our culture has advanced beyond all that you could possibly comprehend with one hundred percent of your brain.
It is currently Wed Apr 17, 2024 5:20 pm

All times are UTC - 8 hours [ DST ]




Post new topic Reply to topic  [ 9 posts ] 
Author Message
 Post subject: Am I missing something?
PostPosted: Fri Apr 03, 2009 6:01 pm 
Offline
Kommunist
Kommunist

Joined: Sun Mar 22, 2009 8:17 pm
Posts: 28
Title: Wannabe Hacker
I've been reading the EnHacklopedia, and I've learned a number of new things, but it seems like I've mostly learned binary and a little bit of asm coding. Then the parts that actually got into hacking were all about tools and trainers. I was going in to this hoping to learn some serious, write-it-out-yourself-type hacking. I figured I'd give it a try anyway, and used VBA's built in Code Search, which helped me get some interesting things, such as a timer mod, but I still would like to learn the real deal. I'm mostly interested in ARDS hacking for now, and I looked at that specific section. I did see some nice info on the conditional statements, but I still didn't really learn much else. I just don't feel like I really learned something. Don't get me wrong, it wasn't a waste of time, I enjoyed reading about the binary operations, but it didn't really teach me what I was looking for. Am I missing something here?


Top
 Profile  
Reply with quote  
PostPosted: Sat Apr 04, 2009 11:51 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.
It might help if you mention what it is you are really wanting to learn?

Things like, "I want to learn how to hack X" where "X" is "infinite health" or "moon jump codes" or "jesus mode codes" or what-have-you... are better taught through tutorials. The predecessor to EnHacklopedia was a plain-text-converted-to-html document called "The Secrets of Professional GameShark Hacking" which included a lot of tutorials like that. It seemed to me that most of the tutorials just repeated after each other. There wasn't a whole lot left to learn about using trainers after reading just one or two of the tutorials.

The N64 section contains at least one decent tutorial near the bottom of the page, but to follow along with it, you really need to get a copy of Nemu and Mario 64 and press through as the document explains. Of course, this assumes you are familiar with Nemu (yucky) and MIPS assembly. But it does show how one real-world assembler hack was created.

Oh, and EnHacklopedia is far from complete, as you can tell. ;)

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
PostPosted: Sat Apr 04, 2009 2:31 pm 
Offline
Kommunist
Kommunist

Joined: Sun Mar 22, 2009 8:17 pm
Posts: 28
Title: Wannabe Hacker
I guess I wasn't really looking for any one specific code to hack. I just wanted to learn. I've always been interested in coding, but my knowledge thus far is pretty limited. Do you think I should learn assembly first, before I go on to hex? I guess system-wise I'm interested in NDS, since that's all I've got a device for. The one other thing would be my CFW PSP, which has some downloadable cheat devices, which would be nice to hack GTA with.


Top
 Profile  
Reply with quote  
PostPosted: Sat Apr 04, 2009 3:34 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.
Learning number bases like hex is pretty much a prerequisite for learning assembler. It's not exactly necessary; but it will help you understand the language better, in the end.

NDS does have a few tools available to help while you play around with assembler hacking. I don't favor many of those tools, but some fun and interesting things can still be done with them. Probably the first question you should ask yourself is, what exactly do you want to accomplish? If you have a simple short-term goal in mind, it will be much easier to focus your efforts there, and gaining knowledge relevant to that aspect of hacking. Then move onto another short-term goal, and maybe pick up some new tips, tricks, and hints along the way.

Going back to "Jesus Mode" as an example, I originally set out with the goal of making Mario walk on water. I was inspired by other hacks (notably, the "Walk Up Hills" code, which was more about randomly sliding up hills than walking, but whatever). I figured, if someone was able to come up with a way to modify the Mario 64 physics in a way that Mario could climb extremely steep hills, why not also make Mario do something else cool, like walking on water?

Now, having a goal in mind is one thing. Reaching that goal is entirely something different. Some times it will take a certain cunning and the occasional mildly entertaining trick-up-your-sleeve to make it all come together. One conceivable way to make Mario walk on water is by changing the way Mario's 3D model interacts with the water level's polygons. That would be a matter of modifying the collision detection engine to just do something different. Unfortunately, that wasn't possible with Mario 64, because collision detection is not done against polygons. What I discovered, instead, is that you can inject code into the collision detection engine to make Mario "walk" anywhere in 3D space (technically, I was only changing the level of the "floor" relative to Mario's position -- a single axis in 3D space).

Since I was able to do that, I knew I had a chance to detect that the floor level was lower than the water level. When this happens, it can mean only one thing: Mario is going to swim. So, by forcing the collision detection engine to do something it wasn't designed to do (that is, to forcibly set the floor level to be greater-than or equal-to the water level at all times) Mario will literally "walk on water" just like Jesus. Hence, Jesus Mode was born.


I think this might help to illustrate that it's not always tutorials and documentation that will make you a superstar hacker. More that, if you have a well-defined goal (make Mario walk on water!) and you can find a way to exploit some existing code to reach that goal (by any means necessary!) then you can always do some really cool stuff. Some times, you can't event exploit existing code; you just have to dive in and write your own. That's how Zeld's Metroid Prime Hunters Aim Bot code was first constructed. He may be using the game's internal trig routines in the latest versions, though.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
PostPosted: Sat Apr 04, 2009 4:07 pm 
Offline
Kommunist
Kommunist

Joined: Sun Mar 22, 2009 8:17 pm
Posts: 28
Title: Wannabe Hacker
OK, well I guess I should start by making a goal. So, I think I'll start with some Pokemon hacking (though there's probably already enough of that already), and now I just need to think of what to hack. Do you have any recommendations on where to look to get started learning? It also looks like the PSP cheat device runs in C, which I'm taking a class on next year. Do you think I should wait until I've learned C to start hex and assembly, or is it unnecessary?


Top
 Profile  
Reply with quote  
PostPosted: Sat Apr 04, 2009 4:31 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.
Learning C could possibly help you understand assembly, since C was really designed to make programming easier; C can be translated into assembly quickly and easily, but not the other way around. But I wouldn't recommend waiting. Just go out and have fun with the game, pick up some codes that people have already posted, try understanding what they do and how they work, basically just see what kind of trouble you can get into.

But yeah, wanting to learn to hack without knowing what you want to hack is pretty pointless. :P If you actually have an idea for something you want to try, that's how you get started. (And some times, you can get ideas just by playing. Find something you don't like, that should be changed! Or find something you wish you could do easier. Or even something you wish you could do at all, but there is currently no possible way.) Then start asking direct questions which someone might be able to help.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
PostPosted: Sat Apr 04, 2009 4:37 pm 
Offline
Kommunist
Kommunist

Joined: Sun Mar 22, 2009 8:17 pm
Posts: 28
Title: Wannabe Hacker
Well, I had a couple of ideas for codes, but they seem like they'd be too challenging for a beginner like me.


Top
 Profile  
Reply with quote  
PostPosted: Sat Apr 04, 2009 4:44 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.
That's OK. The more challenging they are, the more impressive. Just be careful not to burn yourself out too quickly. That's real easy to do when just getting started with new technologies.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
PostPosted: Sat Apr 04, 2009 5:33 pm 
Offline
Kommunist
Kommunist

Joined: Sun Mar 22, 2009 8:17 pm
Posts: 28
Title: Wannabe Hacker
Alright, I guess I'll post a topic in the Handheld Help section to see if anyone can help me get started.


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

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 51 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