Conversation Between Touched and FamiliaWerneck
Showing Visitor Messages 1 to 9 of 9
-
Not enough asking for the IDA, here I come to ask for help. =P
Can you help me understand and use the IDA? Just a little, so I can have my way around it?
Thanks bro!
-
Got it. I just started studying ASM.
Just thought I could do some alterations straight away using hex.
I'll look for what I need in this IDA database. Maybe I get lucky, who knows.
Thanks Touched! =D
-
We use IDA, which is an interactive disassembler for reverse engineering. We have quite a lot of mechanics worked out in the IDBs (IDA database, see my signature) and we build on those. Using a combination of the database and a debugger we can locate any routine. It takes a bit of skill to be able to understand it, however (that is, if someone hasn't beaten you to it). You need to be quite familiar with ASM.
-
Hey Touched!
All good?
Sorry bothering you again, man. I just want to know something. When you guys are doing research with something, how do you find the offsets where some mechanics of the game begins?
For example, I want to look into breeding. How do I know where in the game to look to edit breeding stuff?
-
No, relax, I understood every bit, and I'm not just saying! HAHAHAHA
Basically, I just write a code and compile it so the computer can understand. High Level Language to Low Level Language (or Programming, whatever).
Well, back to the lab, I'm going to study some programming with GUI designing in mind.
Thanks for pointing me in the right direction.
=D
-
This is going to be tl;dr, but whatever.
An IDE, as the name implies, it a collection of tools that work together to theoretically make programming easier. Essentially, its a fancy text editor. To make a program "work" (assuming it's well written), we need some way to transform this code to something a machine can understand. This is done of a variety of levels. The first level, is something like assembly. We write assembly code and use an assembler to transform this into machine code, which the computer then runs. This is a direct relationship, you're essentially writing the machine code but with codewords instead of only binary. This is very hard, so we make it more abstract so that the human mind can make sense of it. This is how we got compiled languages like C, C++, Pascal, etc. (all the old languages). These use a compiler to transform the code to assembly, and then to binary. These languages are better, as they allow programs to be compiled to multiple assembly languages and therefore allow programs to be moved to different machines more easily. However, these languages still need to be compiled, so we have another level. These are languages like Java and C# which are compiled to an intermediate machine code-like layer (fake machine code), which is then translated in to proper machine code before the program is run. As long as the target computer is running this thing that converts the fake machine code to real machine code, you can theoretically run this "compiled" code on any computer. Some languages (Python, Javascript) take this one step further and don't require the program to be compiled in a separate step at all. Their interpreters perform all these steps together as one big step - essentially you run these programs from the source code (most "new" languages are like this).
Therefore, all you really need is the tool that transforms the source code into a machine language, and a text editor (An IDE does all of this for you, so you just click a "Run" button and it goes). Transforming programs to an executable format thus really depends on the language and platform you're running. Unix-like operating systems make this really easy - any file is executable with the right permissions. Windows makes the really hard - only .exe files are executable.
I don't really like IDE's as they're not really helpful to me. I use a program called Emacs to do all my programming. Emacs is a programmable tool that can do anything (no really, it can be programmed to do literally anything - plus its a highly advanced and configurable text editor).
So to reiterate: you just need a tool that converts source to some binary format.
I can answer this question in a less philosophical way if you give me specific languages and platforms.
-
Got it.
I'm going to get a little deeper in Java and then C#, maybe.
Not thinking about a hacking tool, I just got excited with programming through some college's disciplines.
Without and IDE, how do you make a program work?
Like I said, in college, we used Netbeans. Not much explained, we learned how to program baaaaasic stuff. And we only ran codes in Netbeans itself. Didn't even know what an IDE was, until now... =P
Again, without an IDE, how do you make a code work? How do you test it?
Also, how do you transform it into a program, independant of programming? You just open it and there it is.
-
It's definitely possible. Look at shinyquagsire's tools - they're all Java. I don't program in either C# or Java, so I can't really help you learn those. While I do know Java, I learned it by reading a manual so it's probably not much help to you. Also, I really would advise you stay away from C/C++ as your first language - they're notoriously difficult - save those for a 2nd or 3rd language.
Code Academy is apparently good. Just Google "Learn C#" and you'll find tons of good resources. The first step in becoming a programmer is relying on a search engine. As for programs, I don't use an IDE like netbeans, so I can't really recommend anything.
-
Thanks a lot bro, I'll try learning GUI designing. My problem will probably be learning how to fuse hex editing in another programming language. I have little-to-no Java knowledge. Do you know if that's possible to make a tool with only Java?
Also, bro, can you point me to some tutorials, programs (like Netbeans) or sites that can help me get started in C, C++ or C#?