lixun00 发表于 2007-10-30 22:50:11

看到论坛还有些朋友问反汇编hex的文件,现把虫子在21cn的文章复制过来,希望对大家有用

思路:原谅虫子买个关子,当看了就知道了
1.软材料
IDA5.0。下载地址:http://bbs.pediy.com/showthread.php?s=&threadid=29335
jtag最新固件,见附件
hexbin,见附件,(语法:hexbin filename.hex )
stk500_M8源程序。(附件中有我移植好的减少代码的m16源程序)
2.硬材料,见附件电路图
好了,准备好了,开始做菜了:)
1)用ida打开固件,如下图:
点击此处下载ourdev_179161.rar(文件大小:100K)
http://cache.amobbs.com/bbs_upload782111/files_8/ourdev_179162.jpg
http://cache.amobbs.com/bbs_upload782111/files_8/ourdev_179163.jpg
http://cache.amobbs.com/bbs_upload782111/files_8/ourdev_179164.jpg
http://cache.amobbs.com/bbs_upload782111/files_8/ourdev_179165.jpg
http://cache.amobbs.com/bbs_upload782111/files_8/ourdev_179166.jpg
到这步时用hexbin把hex转为bin文件,出现如下提示(不转也可以)
http://cache.amobbs.com/bbs_upload782111/files_8/ourdev_179167.jpg

到这里,出现了死胡同。经过简单研究,发现。。。

出现这种情况是因为在ida目录中的cfg文件下avr.cfg文件关于atmega16的有关器件容量配置信息没写,结果默认为8kB,添加所选部分就ok了
http://cache.amobbs.com/bbs_upload782111/files_8/ourdev_179168.jpg

保存好文件,最后重新打开
http://cache.amobbs.com/bbs_upload782111/files_8/ourdev_179169.jpg

以上是虫子加的一些注释,明显的为iar编译的文件

lixun00 发表于 2007-10-30 22:56:41

到这里,说下自动jtag 和ISP自动切换的原理。。。

avr的jtag和IsP接口有明显的区别,虫子就是利用这点自动切换的。结果用了两个接口,如果要实现单接口自动切换恐怕要用外接电源和CPLD作逻辑切换(估计模拟spi也可以)。当接到Jtag口时和isp口时PD2口的电平会发生变化,具体来讲就是jtag为高电平,Isp时为低电平,为减少工作量,虫子在主循环中利用查询法来作。当处于ISP时当PIND2时为高电平,切换到jtag模式,反之,当处于jtag模式时查询到PIND2为低电平时切换到ISP模式

以下为关键部分,为了简单起见,虫子直接在定时器0。。。

溢出中(jtag的)加上检测代码,如下图所示:
http://cache.amobbs.com/bbs_upload782111/files_8/ourdev_179170.jpg
http://cache.amobbs.com/bbs_upload782111/files_8/ourdev_179171.jpg
这就完成了jtag部分,到这里应该看出isp的

起始代码应该为0x1700(word).好以下讲述isp的移植部分

空间优化主要有以下几方面。。。

(为了简单,原ISP里利用的定时中断虫子直接用延时代替了)
1。状态机用字节
2。用if替换switch
3。其它杂项就不说了。
还有一点,当用到enum和结构时,对工程作如下配置(勾上)也能显著优化空间

http://cache.amobbs.com/bbs_upload782111/files_8/ourdev_179172.jpg

最后一步就是连接选项....

在link里加上:-Wl,--section-start=.text=0x2e00

http://cache.amobbs.com/bbs_upload782111/files_8/ourdev_179173.jpg

做完修改后,f7,build.然后打开。。。

生成的hex文件,把其内容剪切到刚生成的jtag hex固件中就可以了。
忘了说一点了,jtag hex的生成先在ida中修改好,然后用二进制编辑文件修改原jtag固件。
这一步对各位dada来说应该不会成为难点,最后附上我修改好的固件。
点击此处下载ourdev_179174.rar(文件大小:15K)

armok 发表于 2007-10-30 22:59:23

感谢!

xswok 发表于 2009-7-28 10:26:46

我试了一下怎么画面跟楼主的对不上呢?

csclz 发表于 2009-7-28 10:38:28

IDA很强大

slowhand 发表于 2009-7-28 10:39:43

__@

luhuaren 发表于 2009-7-28 11:24:05

非常感谢。。。非常有技术含量

ymnymn 发表于 2009-7-28 12:46:56

非常感谢

mikecn 发表于 2009-7-28 13:22:36

好强大

sipure 发表于 2009-7-28 13:33:57

一直在找,谢谢

21006091 发表于 2009-7-28 13:41:11

标记

xzz88 发表于 2010-1-8 13:12:54

强大
楼上的猪宝宝头像也强大

xyq4513 发表于 2010-1-8 13:19:11

mark

majia123 发表于 2010-1-8 13:21:16

虽然不懂 顶下

fshunj 发表于 2010-1-8 16:17:35

谢谢

ksniper 发表于 2010-1-8 16:44:04

好强大

haibinglong 发表于 2010-1-11 10:43:24

yunqian09 发表于 2010-1-11 10:47:12

niu

oste 发表于 2010-1-11 11:42:50

留个脚印,方便日后查找。

wlhj521334 发表于 2010-1-11 11:52:13

好资料啊!

czhaii 发表于 2010-1-11 11:59:36

关注

marshallemon 发表于 2010-1-11 13:06:46

请问LZ,IDA可以支持51的反汇编吗?

z7001 发表于 2010-1-11 13:52:21

MACK

mushk 发表于 2010-1-11 13:58:08

mark

lixun00 发表于 2010-1-30 10:43:44

TO 【22楼】 z7001
可以。。。

zhg_wx 发表于 2010-2-1 00:38:28

收藏

writer15 发表于 2010-2-1 00:42:53

现在才知道IDA还可以反汇编AVR指令的HEX文件,牛呀。。。

XU_MAJIA 发表于 2010-2-1 01:58:55

点击此处下载 ourdev_531327.Rar(文件大小:36K) (原文件名:PTMFL.Rar)
上传一个HEX文件,挑战一下这个反汇编程序,看看我的花指令怎么样?

我试了一下,没有分析耐心,只怕就会晕死,花指令成功地把代码段伪装成数据段了

Roader 发表于 2010-2-1 09:20:43

这种帖子要顶。

RF_Xu 发表于 2010-2-2 23:35:08

remark

skyxjh 发表于 2010-6-23 20:00:27

MARK

tjpu__224 发表于 2010-6-24 09:36:43

感谢

liangtao 发表于 2010-6-24 10:07:16

mark

gumogumo 发表于 2010-6-24 10:25:43

反汇编,感谢

catzl7 发表于 2010-6-24 10:27:19

感谢楼主

smartzou 发表于 2010-6-24 10:49:10

mark

kangar0065 发表于 2010-6-24 11:00:36

这个要顶

pkk007 发表于 2010-6-24 12:18:27

mark

liangyurongde 发表于 2010-6-24 12:19:34

mark

czxf 发表于 2010-6-24 14:06:35

mark

litop 发表于 2010-7-1 12:21:36

厉害,,破解与开发并齐,谁与争锋!!!!!

qiufeng 发表于 2010-7-1 12:30:33

顶啊!

adszmc 发表于 2010-7-1 21:21:46

mark

canback 发表于 2010-7-1 23:20:06

mark

coolwater 发表于 2010-7-2 11:23:19

mark 用时再看了

dgdjfw 发表于 2010-7-26 19:07:58

mark

cc007 发表于 2010-7-26 19:43:08

.

feixuehanyi 发表于 2010-7-28 03:37:39

mark

wxx116zh 发表于 2010-7-28 08:18:24

MARK

zhanghzhan 发表于 2010-7-28 10:36:20

jihao

dubu 发表于 2010-8-1 06:55:59

mark

mcuandme 发表于 2010-8-2 16:20:07

mark反汇编

wangwish 发表于 2010-8-2 18:05:07

MARK

xuejianhua1986 发表于 2010-8-2 21:34:30

lihai

shanyao 发表于 2010-10-15 09:21:28

标记下以后自己慢慢看

8s209 发表于 2010-10-29 13:16:49

mark

gloryzkl 发表于 2010-11-29 23:31:51

占座慢慢看

yinglively 发表于 2010-11-30 08:23:18

LZ真牛

lhj200304 发表于 2010-11-30 08:45:37

IDA反汇编工具

clqfly 发表于 2011-2-10 01:04:21

mark

zzzcccj4649 发表于 2011-2-11 15:03:25

IDA确实很强大。

hpdell 发表于 2011-2-11 15:14:13

牛,顶顶!!!!!!!!!

xdco 发表于 2011-2-11 15:22:39

mark

71057178 发表于 2011-2-11 15:23:03

反汇编


什么叫花指令?

cnzhy88 发表于 2011-2-11 21:30:05

围观。。。

roy2002 发表于 2011-2-11 22:14:15

mark反汇编

wpnx 发表于 2011-2-11 22:30:26

mark

ammcu 发表于 2011-2-12 10:30:55

mark

albert_lu 发表于 2011-2-12 11:35:42

mark

xidxid 发表于 2011-2-12 13:49:29

回复【楼主位】lixun00 音乐虫子
-----------------------------------------------------------------------

mark

lychen 发表于 2011-9-30 10:26:25

好啊

tanglj868 发表于 2016-5-18 23:39:00

mark!!!!!!!!
页: [1]
查看完整版本: 看到论坛还有些朋友问反汇编hex的文件,现把虫子在21cn的文章复制过来,希望对大家有用