It is currently Fri Nov 24, 2017 2:37 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 7 posts ] 
Author Message
PostPosted: Thu Jan 26, 2006 9:52 am 
Offline
User avatar

Joined: Tue Jan 24, 2006 7:46 am
Posts: 18
Location: Shanghai,China
Hi all

I want to learn hardware reverse engineering. what should i learn? could you please give me some guide? could you give me some book list?


Thank you


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jan 26, 2006 11:53 am 
Offline
User avatar

Joined: Mon Sep 27, 2004 2:13 pm
Posts: 1667
Location: .ma.us
Step 1) Learn electronics
Step 2) Disassemble product
Step 3) "reverse engineer" product (whatever that means to you, maybe you should clarify)
Step 4) Verify that you have correctly "reverse engineered" the product
Step 5) Celebrate

Books to buy would be any intermediate analog and or digital book (what do you need to RE?). If you have experience in electronics, then RE should come naturally. It's a black art and a very broad one at that so people aren't going to give you a comprehensive step by step guide. Once you understand the concepts and rules, you can recognize the building blocks in other people's work and try your best to rebuild something to be functionally complete.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jan 26, 2006 10:29 pm 
Offline
User avatar

Joined: Tue Jan 24, 2006 7:46 am
Posts: 18
Location: Shanghai,China
kyuusaku wrote:
Step 3) "reverse engineer" product (whatever that means to you, maybe


What reverse engineer mean to me is knowing the internal structure of the hardware and how each part of the system interact with each other. I am a CS student, our department did has a digital circuit lesson. But I think it is far less than enough. So I deside to learn it by myself. I do have great interest in RE. When I started writting my own nes emulator, I received lots of helps from nesdev because people like Brad Taylor, Loopy, etc have already done many things before and made their experiments into technical articles. But how can I understand a game console without enough technical articles? So I want to learn RE. If someone here has this experiences. Could you please give me some guide? I mean .... first what should I learn, second what should I learn and which books is good and I should read it. That's very critical to me. Many thanks to you.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jan 27, 2006 1:16 am 
Offline
User avatar

Joined: Thu Nov 11, 2004 5:30 am
Posts: 121
Location: San Francisco, CA
kyuusaku wrote:
Step 1) Learn electronics
Step 2) Disassemble product
Step 3) "reverse engineer" product (whatever that means to you, maybe you should clarify)
Step 4) Verify that you have correctly "reverse engineered" the product
Step 5) Celebrate


I disagree that RE involves strict EE knowledge, disassembly of hardware. 'black box', or strict "input A yields output B" RE techniques are common and extremely valuable, and sometimes are the only techniques that are feasible.

I doubt the author of Bleem! followed the PSX hardware PCB traces, or used an electron microscope to inspect the CPU. But he probably ran programs that verified program behaviour on the hardware matched program behaviour on the emulator.

In many cases, it's the preservation of the problem solving technique or algorithm that is used, not the actual implementation details, that yield the best results. After all, even hardware is designed to solve a need or problem; the implementation is used to fulfill or even approximate the functionality of the design. Mimicking the design is often the most appropriate way to fill the requirement, especially when you have hindsight in your corner. Just check out the UltraHLE story. :-D

I of course, agree, that celebration is the final (or at least a crucial) step.

_________________
...patience...


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jan 27, 2006 7:55 am 
Offline
User avatar

Joined: Mon Sep 27, 2004 2:13 pm
Posts: 1667
Location: .ma.us
I completely agree, but if you're going to reproduce hardware (my first impression of what he was talking about), you must at least understand how to implement your equivalent functions. Yes it's true that software/HL approach is often enough to get you started, but it still takes education to recognize and predict (and confirm) combinational aspects of those black boxes.

Quote:
Could you please give me some guide? I mean .... first what should I learn, second what should I learn and which books is good and I should read it. That's very critical to me. Many thanks to you.

Sorry, I don't think such a guide exists. I believe that with enough experience your mind will adapt to solve missing variables, that's my plan for studying RE, there are no secrets. Of course however, I'm not accomplished yet, so maybe you should directly ask Kevtris or Brad about their education.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jan 27, 2006 5:43 pm 
Offline
User avatar

Joined: Thu Oct 21, 2004 4:02 pm
Posts: 210
Location: San Diego
As a suggestion you may want to pick up Bunnie Haung's "Hacking the Xbox" book. It's a great read, and much of the process he took to RE the xbox is detailed there. Of course the specific details are very different, but it's a great case study on console reverse engineering.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jan 27, 2006 10:54 pm 
Offline
User avatar

Joined: Tue Jan 24, 2006 7:46 am
Posts: 18
Location: Shanghai,China
thank you for your warmly help guys. if anyone want to give me some suggestion, please post here. thank you very much indeed. :p


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

All times are UTC - 7 hours


Who is online

Users browsing this forum: Majestic-12 [Bot], Yahoo [Bot] and 11 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