Pages: [1]
Author Topic: Total idiots guide to reverse engineering  (Read 13085 times)
Vdub-dub
Full Member
***

Karma: +4/-1
Offline Offline

Posts: 136


« on: August 19, 2012, 07:03:01 AM »

Like to find somewhere to start either books, program's etc but just don't know where to start to get a basic understanding? What do people recommend/ advise?
Logged
littco
Hero Member
*****

Karma: +52/-7
Offline Offline

Posts: 903


« Reply #1 on: August 19, 2012, 07:26:55 AM »

Hiya,

One thing I think you can guarentee at the moment is that there is no such thing as an Idiots guide to reverse engineering... I looked into this , having know knowledge last year and after spending about 2 weeks, whilst on standby, got no where :-)

having said all that I have come back to this recently and asked a few people for some hints etc and know a little more.

I would say start by watching Andy whitakers video's, they give an insight into what's going on, then watch them again but try and follow them in IDAPRO.

I spoke to PRJ recently about how to correctly load the "flash" into IDA pro, and correctly said it wasn't something he could just explain as it's quite complex, however, and you'll see from the new post on here , he has very kindly written a script for loading a flash into idapro, which is immense really as it takes all the guess work out of doing it correctly!

2 years ago when I joined Nef , reverse engineering was really the only way of finding maps if you didn't have a Damos, but now there are nearly every map packs available in some form and if not you can easily find them.

So I think reverse engineering and certainly for me now is about adding mult map switching, other functions etc etc.

I would say over the next 12 months or so if this is pushed we could be as far down the road with R-E as we have come with xdf's, multimap, etc etc... It needs those that are incredibly knowledgable on the subject to help and I can only imagine how busy they are so it may be a slow process.

Logged
prj
Hero Member
*****

Karma: +1072/-481
Offline Offline

Posts: 6037


« Reply #2 on: August 20, 2012, 05:13:26 AM »

If you are an idiot, reverse engineering is not for you.
Just as rocket science is not for you, if you are a farmer.

This is pretty simple... Reading machine code is not something everyone can do, it requires a certain level of intelligence and pattern matching, not to mention dedication.
Logged

PM's will not be answered, so don't even try.
Log your car properly - WinOLS database - Tools/patches
Vdub-dub
Full Member
***

Karma: +4/-1
Offline Offline

Posts: 136


« Reply #3 on: August 20, 2012, 10:54:44 AM »

If you are an idiot, reverse engineering is not for you.
Just as rocket science is not for you, if you are a farmer.

This is pretty simple... Reading machine code is not something everyone can do, it requires a certain level of intelligence and pattern matching, not to mention dedication.

just asking for a starting point or best way to learn from people who know about it and have been there from the start, got to start somewhere? i know its not easy reason i'm asking!
and i'm not a farmer and don't want to learn rocket science  Kiss
Logged
prj
Hero Member
*****

Karma: +1072/-481
Offline Offline

Posts: 6037


« Reply #4 on: August 20, 2012, 01:07:41 PM »

It took me about 10 years to get where I am with this and be able to read machine code well - I started with cracking some x86 tools.
And I have been able to program for 18 years.

Maybe I am stupid, or maybe there is no quick way to learn this.
Either way, unless you are some mathematical genius/prodigy programmer, it will take you at least a few years, before you will be able to make sense of machine code.

My point is basically - if you need to ask for help with this, you already didn't make the cut...
Sorry if this sounds elitist, but that's how it is in my opinion.
Logged

PM's will not be answered, so don't even try.
Log your car properly - WinOLS database - Tools/patches
matchew
Hero Member
*****

Karma: +47/-22
Offline Offline

Posts: 503


« Reply #5 on: August 20, 2012, 01:44:18 PM »

My point is basically - if you need to ask for help with this, you already didn't make the cut...
Sorry if this sounds elitist, but that's how it is in my opinion.

I don't think that is elitist, I think that is just how it is. Its taken me 10 years to get where I am with the understanding of code in atleast 10 different processors.

Logged
nyet
Administrator
Hero Member
*****

Karma: +608/-168
Offline Offline

Posts: 12270


WWW
« Reply #6 on: August 20, 2012, 02:29:55 PM »

I agree somewhat.

Personally, I am also familiar with several different types of assembly/machine code, but not familiar with IDA pro.

So a guide to getting IDA pro to read a .bin file would be very helpful, regardless.

Such a guide can safely assume the reader already can read machine language.

Logged

ME7.1 tuning guide
ECUx Plot
ME7Sum checksum
Trim heatmap tool

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your ex
prj
Hero Member
*****

Karma: +1072/-481
Offline Offline

Posts: 6037


« Reply #7 on: August 20, 2012, 03:01:20 PM »

I agree somewhat.

Personally, I am also familiar with several different types of assembly/machine code, but not familiar with IDA pro.

So a guide to getting IDA pro to read a .bin file would be very helpful, regardless.

Such a guide can safely assume the reader already can read machine language.



Nyet, just use the AutoIt script I posted. It'll do everything for you.
Logged

PM's will not be answered, so don't even try.
Log your car properly - WinOLS database - Tools/patches
nyet
Administrator
Hero Member
*****

Karma: +608/-168
Offline Offline

Posts: 12270


WWW
« Reply #8 on: August 20, 2012, 03:35:44 PM »

yup thanks, thats what got me thinking about the OP here

I haven't checked your script out yet but I appreciate the time and effort you put into it.

What I'm saying is, I don't see a problem with talking about (for example) what that script does, as long as it is understood the reader should already have a working knowledge of machine language, and preferably (but not necessarily) ida pro... etc.

Logged

ME7.1 tuning guide
ECUx Plot
ME7Sum checksum
Trim heatmap tool

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your ex
Gonzo
Sr. Member
****

Karma: +21/-30
Offline Offline

Posts: 483


« Reply #9 on: August 20, 2012, 04:10:59 PM »

Understanding basic assembly code isn't hard...

Putting it all together and seeing the bigger picture on what routines do is.

Its like anything. The more time you put in it, the better you are going to get at it.
Logged
RS4boost
Full Member
***

Karma: +46/-0
Offline Offline

Posts: 125


« Reply #10 on: August 21, 2012, 07:28:24 AM »

Reading and understanding own written assembly code is easy,
but disassembling and understanding a machine generated file or code which is written by an other person, is really hard work.
To do this proper you need to know the basics and years of experience.
« Last Edit: August 21, 2012, 07:35:02 AM by RS4boost » Logged

lulu2003
Full Member
***

Karma: +11/-1
Offline Offline

Posts: 242



« Reply #11 on: August 21, 2012, 08:16:43 AM »

I think it depends A LOT on the technical and intellectual background of the one who wants to reveng.

a year ago I did not even touch a an ECU, binary or find some maps but had some physics and theory.
meanwhile I did a lot of tunes with my own ME7 which works very fine and fits all estimations and ME7 is mostly understood thanks to FR and damos files and this forum.
and I still invest some time in the complete disassembly of my ME7 image and understanding of the code parts I want to alter.

you can reach a lot with some or some more diligence. best prove imo is the pdf guide by ? to implement LC in ME7.
The author surely is no expert in microcontroller and asm in the last 10 years...


Logged
scottmandu
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 5


« Reply #12 on: August 21, 2012, 09:49:11 AM »

Reading machine code is not something everyone can do

1010001001011010111101010101010010000100101111010101010
Logged
jamie16v
Newbie
*

Karma: +1/-1
Offline Offline

Posts: 17


« Reply #13 on: June 25, 2013, 04:01:22 PM »

1010001001011010111101010101010010000100101111010101010
575446206973207468617420737570706f73656420746f2062653f
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Page created in 0.025 seconds with 17 queries. (Pretty URLs adds 0s, 0q)