Reverse Engineering Assembly Code

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Reverse Engineering Assembly Code

ソリューションへジャンプ
5,349件の閲覧回数
Arindam
Contributor I

We are into a project of reverse engineering assembly code based on 68HC11E platform. Any pointers or tools to ease the process would be very helpful.

 

TIA.

 

Regards.

ラベル(1)
0 件の賞賛
返信
1 解決策
1,990件の閲覧回数
tonyp
Senior Contributor II

There are various tools for this job, but none (AFAIK) is capable of doing the complete work fully unassisted.

 

Shadow11 is one possibility.  It has a very simple disassemble option which assumes all code is linear.  After that you're on your own.

 

SIM11E (a simulator from P&E) is another possibility.  Although not a code-seeking disassembler per se, it can be made into one by using the LF (LOGFILE) and LISTON options with the STEP/STEPFOR commands.  Make sure you follow all possible paths in your program (by manually adjusting CCR or PC as needed.  The resulting logfile (when stripped from the register contents will leave addresses and instructions in this format:

 

 

PC:D016 [LDAA #93]PC:D018 [STAA OPTION]PC:D01B [CLR TMSK2]PC:D01E [CLR BPROT]PC:D021 [LDS #5F]PC:D024 [BSR SETCHIPSELECTS]

 (Example from modified Buffalo.  Labels won't be available without a MAP file, though.)

 

 

Using a sort program (with the option for keeping only unique lines),  you'll end up with a pretty good disassembly of all code areas.  The remaining S19 data you'll have to understand how the code deals with it.

 

From a simple Google search, these two possibly interesting ones came up:

DHC11 from Tech Edge might help too (I haven't tried that one, so no comment).  It claims to be a code-seeking disassembler.

IDA Pro claims to be most powerful 68hc11 disassembler.  Wouldn't know, I haven't tried it.

 

Be prepared for some heavy work. :smileyhappy:

元の投稿で解決策を見る

0 件の賞賛
返信
4 返答(返信)
1,991件の閲覧回数
tonyp
Senior Contributor II

There are various tools for this job, but none (AFAIK) is capable of doing the complete work fully unassisted.

 

Shadow11 is one possibility.  It has a very simple disassemble option which assumes all code is linear.  After that you're on your own.

 

SIM11E (a simulator from P&E) is another possibility.  Although not a code-seeking disassembler per se, it can be made into one by using the LF (LOGFILE) and LISTON options with the STEP/STEPFOR commands.  Make sure you follow all possible paths in your program (by manually adjusting CCR or PC as needed.  The resulting logfile (when stripped from the register contents will leave addresses and instructions in this format:

 

 

PC:D016 [LDAA #93]PC:D018 [STAA OPTION]PC:D01B [CLR TMSK2]PC:D01E [CLR BPROT]PC:D021 [LDS #5F]PC:D024 [BSR SETCHIPSELECTS]

 (Example from modified Buffalo.  Labels won't be available without a MAP file, though.)

 

 

Using a sort program (with the option for keeping only unique lines),  you'll end up with a pretty good disassembly of all code areas.  The remaining S19 data you'll have to understand how the code deals with it.

 

From a simple Google search, these two possibly interesting ones came up:

DHC11 from Tech Edge might help too (I haven't tried that one, so no comment).  It claims to be a code-seeking disassembler.

IDA Pro claims to be most powerful 68hc11 disassembler.  Wouldn't know, I haven't tried it.

 

Be prepared for some heavy work. :smileyhappy:

0 件の賞賛
返信
1,990件の閲覧回数
Arindam
Contributor I

Thanks a lot for the help... and for heavy work you bet :smileywink:

0 件の賞賛
返信
1,990件の閲覧回数
rere
Contributor I

using IDA pro, youl reduce your time GREATLY..:smileyhappy:

0 件の賞賛
返信
1,990件の閲覧回数
Arindam
Contributor I

All,

 

Thanks for earlier suggestions.

 

An additional clarification I had on the same micro is that as it is Freescale doesnt support for any compiler, linker or debugger but is handled by cosmic. Now we have files in .S07 format and the eval versions of IDEA6811 from cosmic doesnt support these formats but only .s source files for assembly.

 

Is there any major difference in the file formats if yes which is the optimized and more mature one and how do we convert them to other formats so as to be enable to compile and link the project. Are there any optimization exercises which can be performed on .S07 file?

 

Any suggestions whatsoever would be very helpful.

 

TIA.

0 件の賞賛
返信