avr执行代码反汇编成源代码的方法
先占个位,回头整理一下,上详细方法。用官方的avr stdio,不用第三方软件。
其实这个不一定破解别人的程序用,自己的程序修改太多,搞不清哪个好用,可以反汇编回来,看看。
http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_432724.JPG
用avr studio打开文件,不是工程。 (原文件名:1.JPG)
http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_432725.JPG
提示必须建立工程,起名。 (原文件名:2.JPG)
http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_432726.JPG
选择器件。 (原文件名:3.JPG)
http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_432727.JPG
显示如图反汇编程序。 (原文件名:3.5.JPG)
http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_432728.JPG
新建文本文件,将反汇编文件内的文本拷到文本文件。 (原文件名:4.JPG)
http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_432729.JPG
新建excel 空文件,选择菜单中打开文件,选中刚建立的txt文件。 (原文件名:5.JPG)
http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_432730.JPG
(原文件名:6.JPG)
http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_432731.JPG
(原文件名:7.JPG)
http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_432732.JPG
avr studio 新建个项目,拷贝execl两列数据过去。 (原文件名:7.5.JPG)
http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_432733.JPG
(原文件名:8.JPG)
http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_432734.JPG
(原文件名:9.JPG) 先把HEX,BIN转换成ELF文件,再在AVR_STUDIO软件仿真ELF文件,可以看到汇编代码。
汇编代码可以复制出来,不过不能直接编译,要把一些不必要的注释性东西去掉(可能还需要加些标号),
手动肯定很繁琐,麻烦。不过生成的汇编很有规律,如果再用一个软件,把一些不必要的注释性东西去掉,就可以得到可编译的汇编了。
以上只是想法,未亲身实现过。
相信实现起来并不困难。 曾经试过C51用KEIL,IAR8051,等反汇编窗口创建ASM,实际上也只是用于参考,不能做适用的ASM文件的,不信你可以试试。 我也介绍个直接的反汇编软件,我以前用过
还支持多种汇编编译器!
http://avr.jassenbaum.de/ja-tools/
http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_432736.JPG
(原文件名:ja.JPG) 用avr stdio反汇编的不能直接使用,至少在mega8上是不能用的。 很好,正需要,谢谢LZ了 用avr stdio反汇编要走的步骤很多,特别麻烦,不过只是看看代码是不错的。 楼主去掉不必要的部分可以不用EXCEL,用UE的列模式更方便 同意7楼的方法,本人就经常使用UE的列模式。 可是我用用avr stdio反汇编 出来,许多都是问号?不知道是何原因呢? 用 AVR Studio 4.13 反汇编,遇到Flash数据时,是不能处理的,会出错,不知道后续版本有没有改进。如果的确需要,最好的方式还是自己写反汇编程序。 MARK DASM mark 谢谢 学习了。谢谢 JH jerico 发表于 2009-4-4 15:15 static/image/common/back.gif
我也介绍个直接的反汇编软件,我以前用过
还支持多种汇编编译器!
http://avr.jassenbaum.de/ja-tools/
编译不过。。。 路过,学习一下 楼主我的怎么反不出来。打开的是HEX显示 mark
反汇编的活,不是人干的 最好的反汇编工具是ida5.0, MARK,AVR HEXl转ASM的方法 我一般都是下载到芯片然后读出来,再分析{:lol:}
页:
[1]