Jump to content

Join our Slack

Talk to other users and have a great time
Slack Server

Welcome to our Community

Click here to get your Exiled Bot license
Donation Store
Sign in to follow this  
cpnj

How did you learn reverse engineering?

Recommended Posts

Hi all,

first, you did great work! I admire skills like coding a bot, or other hacks, because it is not simply "writing-down-code".

I've been coding several programming languages for some years, started early when i was young with the dream of beeing game-developer, when i had grown up.. 8-) In these days you had to have a good idea, and you could do it. But soon the graphics went better and better, and for coding a good game you needed a design-team. So with the years I forgot my dream and my coding skills.

Now I'm at the university studying mechanical engineering and with some projects I got back into programming. Working with C/C++ and OpenCV on augmented reality is what I'm doing now. I think my coding skills are average, but what I never understood, but really liked to, is how to reverse engineer.

I know a little bit about Assembler, Interrupts, Api-Calls, but I never knew how to start.

So my question is, how to start learning? How did you get there to be able to find dynamic pointers to game-content like monster-coordinates and hp, char-coordinates and even more in a complex game like PoE?

And if you should need some by-now-not-able-to-reveerse-engineer-coding-skills, I would love to help and learn! ;)

Share this post


Link to post
Share on other sites

Hi cnpj,

You can start by playing around with Cheat Engine, this tool is fantastic to understand pointer stuff and to get quickly some useful stuff to make a bot. Once you get used to it, you can try to reverse some game structures by exploring each of its pointers using the "Watch Memory Allocation" function. It is a little hard at the beginning but as soon as you start identifying some struct everything become easier.

The next step would be to learn how to identify game functions in IDA, with the help of ollydbg.

Btw, you seem to have some strong programming knowledge so it will be just a matter of time and practice to learn all that stuff.

If you want to discuss these topics more in details, you can pm me.

Share this post


Link to post
Share on other sites
Guest

Funny thing is, it doesn't require years and years of work to be able to reverse games ^_^

It's hard at start, then it's easier everyday :)

Once you've reversed the whole game's structures you can just do whatever you want xD

Interacting with keyboard and mouses is just easy ^_^

Share this post


Link to post
Share on other sites

It's good to hear that you don't need years. I already know Cheat Engine, IDA and ollydbg, but I think it scared me too much when I first opened "Client.exe" in IDA.. :D

I will give Cheatengine a try the next weeks. I hope it's like you said, only the beginning is hard.

And thanks for the offer alkpone, perhaps I have some questions. But for knowing what to ask, I first have to get in the stuff. 8-)

Share this post


Link to post
Share on other sites

So this is all something I am really interested in learning. I'm going to check out all the above mentioned resources and see if I can figure them out. I dont have any programming experience but I am intuitive and a rather quick learner. Do these programs have tutorials? I imagine I can turn to the wonderful world of youtube if all else fails.

Share this post


Link to post
Share on other sites

So this is all something I am really interested in learning. I'm going to check out all the above mentioned resources and see if I can figure them out. I dont have any programming experience but I am intuitive and a rather quick learner. Do these programs have tutorials? I imagine I can turn to the wonderful world of youtube if all else fails.

Hi, I would strongly recommend that you start by learning a general purpose programming language (c++). General programming experience is extremely valuable, since you'll spend less time fighting yourself and more effort learning. Hopefully this process will introduce you to fundamental computer science topics and how Windows work. You should look into topics such as: Memory (heap, stack, global/static), Win32 API, kernel objects, etc. Realistically, this would span several years. So be sure to have fun with it! :)

  • Upvote 1

Share this post


Link to post
Share on other sites

So this is all something I am really interested in learning. I'm going to check out all the above mentioned resources and see if I can figure them out. I dont have any programming experience but I am intuitive and a rather quick learner. Do these programs have tutorials? I imagine I can turn to the wonderful world of youtube if all else fails.

Hi, I would strongly recommend that you start by learning a general purpose programming language (c++). General programming experience is extremely valuable, since you'll spend less time fighting yourself and more effort learning. Hopefully this process will introduce you to fundamental computer science topics and how Windows work. You should look into topics such as: Memory (heap, stack, global/static), Win32 API, kernel objects, etc. Realistically, this would span several years. So be sure to have fun with it! :)

+1 !!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...