DIR Return Create A Forum - Home
---------------------------------------------------------
3xtGamingCoding
HTML https://3xtgamingcoding.createaforum.com
---------------------------------------------------------
*****************************************************
DIR Return to: C/C++/C#
*****************************************************
#Post#: 6--------------------------------------------------
The "I Know C/C++ But What's Next?" Guide
DIR By: akimo360
Date: November 25, 2011, 1:12 pm
---------------------------------------------------------
So, if you're going to take your skills with C/C++ and use them
to "hack", you're going to need to do several things first:
- Re-visit your understanding of pointers. Most people who know
C/C++ think that they know pointers. When in truth, they most
likely only have a brief grasp of the concept. Pointer are a
gateway to accessing some of the true power given to you when
you write in a compiled language. Make sure you understand
aliasing, allocation, and de-referencing.
- Familiarize yourself with the System
Services(
HTML http://msdn.microsoft.com/en-us/library/ee663297%28VS.85%29.aspx)<br
/>section of the MSDN library. Since hacking often involves a
lot
of system calls for either their use, or hooking, it is
important that you understand those functions and their
parameters.
[li]Understand network programming, kinda. In the context of
game hacking, you will almost never actually need to use the
base-level network library for the system, because the game will
have it own functions for sending and receiving network data. In
that case, all you need to understand is that a packet is simply
a structure. Simple as that. (The same applies to actual network
programming, but that get's a little more complex than that).
[li]Gain an understanding (not mastery) of Assembly. Assembly
(or ASM) is usually referred to as if it were one unified
language ~ It's not. ASM is actually just a language that is
used to give representation to the raw processor instructions
used by the machine. An assembler is a program that takes that
textual representation and transcribes it into byte-code.
Since C/C++ is eventually compiled into ASM before making
it's final transliteration into bytecode and lets you code in
ASM inline, it is important that you understand the ASM that is
involved in making functions, accessing pointers and and memory,
and making system calls. The actually syntax of your ASM will
vary depending on your compiler (some use ATT style others use
Intel rules) but the fundamentals remain the same. This
particular aspect of hacking is usually very intimidating to
people, but its really nothing to fear. ASM is the most basic
level of programming, its only complexity is that it is so
basic, lol.
[li] Re-visit your understanding of functions. This ties in
with your understanding of ASM. You should become intimately
familiar with all the parts of function that are not visible to
you initially in your code. This includes things like its
prologue, epilogue, calling convention, mangled name, and
location. Why? Because you will sometimes have to combine that
knowledge with your knowledge of assembly in order to manipulate
your function calls.
[li] Better understand the executable. Really think about
what you know about executable binary data. Most likely, you
know nothing really about it. It's not a requirement, but it can
only help you if you understand what format executable are in on
your system (PE/COFF on Windows), how they are loaded into
memory, and how their instructions are executed by the system.
[li] Get to know your victim. Learn as much as possible about
the program you're going to hack. That includes learning about
any programs that it spawns, uses, or interfaces with. In the
case of MapleStory, that would mean learning about
MapleStory[
HTML http://maplestory.nexon.net/],<br
/>Themida[
HTML http://www.gamekiller.net/www.oreans.com/themida.php],<br
/>and Hackshield[
HTML http://www.hackshields.com/index.html].
What tool will I need?
What tools you'll need vary based on what exactly you need to
do, and in the case of MapleSory, many of the tools below cannot
be run at the same time as the game client unless you have a
bypass that completely placates HackShield.
CheatEngine (
HTML http://www.cheatengine.org
)
HaRepacker [WZ Editor] (
HTML http://forum.kryptodev.com/home/)
OllyDbg [Debugger/Disassembler] (
HTML http://www.ollydbg.de/)
IDA Pro [Debugger/Disassembler]
(
HTML http://www.hex-rays.com/idapro/)
Visual C++ [Compiler] (
HTML http://www.microsoft.com
).
.NET Reflector [.NET Decompiler]
(
HTML http://www.red-gate.com/products/reflector/)
Links
MSDN Library ~ System Services
(
HTML http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx)
The Function Pointer Tutorial
(
HTML http://www.newty.de/fpt/index.html)
Tutorial On Pointers and Array in C
(
HTML http://home.netcom.com/~tjensen/ptr/pointers.htm)
A Brief x86 Assembler Tutorial
(
HTML http://www.skynet.ie/~darkstar/assembler/)
The Famous Sk00l m3 ASM Tutorial
(
HTML http://mrfoo.de/download/tutorials/a...-tutorial.html)
Forums
CheatEngine Forums (
HTML http://forum.cheatengine.org/)
KryptoDev Forums (
HTML http://forum.kryptodev.com/home/)
Books
Assembly
The Art Of Assembly Language
(
HTML http://www.mediafire.com/?ymzkmgkm2z5)
Introduction To 80x86 Assembly Language And Computer
Architecture (
HTML http://www.mediafire.com/?ommy3mzzvbm)
Professional Assembly Language
(
HTML http://www.mediafire.com/?k1ot3zyjbtz)
Network Programming
Network Programming For Microsoft Windows
(
HTML http://www.mediafire.com/?yl5ni0wydmn)
General
Windows System Programming
(
HTML http://www.mediafire.com/?23gicmt1jo0)
How NOT To Program In C++
(
HTML http://www.mediafire.com/?mtq2rmd1d4i)
Write Great Code - Understanding The Machine
(
HTML http://www.mediafire.com/?gnzrgmemthe)
Write Great Code - Think Low-Level, Write High-Level
(
HTML http://www.mediafire.com/?jmnjyun2dtr)
Disassembling Code - IDA Pro And SoftICE
(
HTML http://www.mediafire.com/?2nmyj3k3mmd)
Hacker Disassembling Uncovered
(
HTML http://www.mediafire.com/?1tjnukmm2zm)
Exploiting Software - How To Break Code
(
HTML http://www.mediafire.com/?1yjcumzommy)
Reverse Engineering Of Object-Oriented Code
(
HTML http://www.mediafire.com/?h24zjmjmmdn)
Reversing - Secrets of Reverse Engineering
(
HTML http://www.mediafire.com/?jgimikmo3tm)
*****************************************************
Page 1 of 1