楼主这个汇编基础就不要做反向工程了!从机器码中读程序就像是**一份密电,需要有相当的经验和技巧,甚至熟悉到看到二进制码就知道它代表什么指令。一般的反汇编程序假设每个字节都是可执行代码,而实际上里面有许多是数据、字符、表格项等待非代码字节。好的汇编工具可以区别它们,但是也离不开人工标注。
有句话叫:偏见比无知距离真理更为遥远。如果被反汇编误导了就更跑冤枉路了。
比较可行的办法是充分了解其功能,从功能上仿制。但是,有许多功能是在特定条件下才能出现的。人家的代码里面溶入了人家多年的经验和见识甚至有某些诀窍,这就不是短时间可以模仿的了。
所以,对于自己非常数据的单片机和熟悉的应用领域,沉下心来反汇编倒是可以学到不少东西。 |