Reverse Engineering Assembly Code

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Reverse Engineering Assembly Code

跳至解决方案
5,303 次查看
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,944 次查看
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,945 次查看
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,944 次查看
Arindam
Contributor I

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

0 项奖励
1,944 次查看
rere
Contributor I

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

0 项奖励
1,944 次查看
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 项奖励