免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7114 | 回复: 15
打印 上一主题 下一主题

反汇编工具 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-27 16:08 |只看该作者 |倒序浏览
我有16进制的代码(hexdump 得到,IBM桌面6824),是eeprom的内容。我想知道这个代码是怎么执行的,因此必须知道相应的汇编代码。应该用什么工具得到呢?

谢谢!

论坛徽章:
0
2 [报告]
发表于 2007-06-27 17:11 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2007-06-28 08:35 |只看该作者
这是一个方法。但容易出现人为的差错。如果能有个工具(当然可靠行和准确性要好),也许会更好。

可以介绍一些你们曾经用过的,不错的工具吗?:-)

谢谢!

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:56:11
4 [报告]
发表于 2007-06-28 09:34 |只看该作者
可以到windows的debug下去看.

论坛徽章:
0
5 [报告]
发表于 2007-06-28 13:31 |只看该作者
最笨的方法,写个小代码比如

  1. char *ptr = xxxxxxx /* 这里把那些二进制代码复制到这里 */;
  2. int
  3. main(int argc, char **argv)
  4. {
  5.      ....
  6.      return 0;
  7. }
复制代码

编译得到可执行文件a,然后用gdb a
x /10i ptr

论坛徽章:
0
6 [报告]
发表于 2007-06-28 18:29 |只看该作者
4楼和5楼都提出运行16进制代码,我的担心是,会不会影响机器的运行状态?因为这些代码是直接从eeprom得到的,(hexdump)。

不知你们是否有用过反编译工具吗?感觉可靠吗?

谢谢!

论坛徽章:
0
7 [报告]
发表于 2007-06-28 21:26 |只看该作者
若是 X86 平台,有很多很好的反汇编工具嘛,在windows上 有 IDA,就很不错了

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:56:11
8 [报告]
发表于 2007-06-29 10:30 |只看该作者
要靠读反汇编码来理解,几K字节的还能读一下,超过30K字节的,不塌下心来若干个星期是没有结果的.能贴出其bin的文件吗?
如果是X86的代码,跳转指令的代码是e9,ea,eb.

论坛徽章:
0
9 [报告]
发表于 2007-06-29 13:06 |只看该作者
8楼的,我贴出来,请赐教。谢谢!
0000000 ff00 ffff ffff 00ff 2d4c 0124 3137 4d4a
0000010 1008 0301 226c 781b aa2a a6a5 5454 2699
0000020 5014 bf54 80ef 8081 4f71 0101 0101 0101
0000030 0101 0101 0101 2a30 9800 0051 402a 7030
0000040 0013 0e52 0011 1e00 0000 fd00 3800 1e4b
0000050 0e51 0a00 2020 2020 2020 0000 fc00 5300
0000060 6e79 4d63 7361 6574 0a72 2020 0000 ff00
0000070 4800 4756 324c 3233 3734 0a31 2020 4100
0000080 ff00 ffff ffff 00ff 2d4c 0124 3137 4d4a
0000090 1008 0301 226c 781b aa2a a6a5 5454 2699
00000a0 5014 bf54 80ef 8081 4f71 0101 0101 0101
00000b0 0101 0101 0101 2a30 9800 0051 402a 7030
00000c0 0013 0e52 0011 1e00 0000 fd00 3800 1e4b
00000d0 0e51 0a00 2020 2020 2020 0000 fc00 5300
00000e0 6e79 4d63 7361 6574 0a72 2020 0000 ff00
00000f0 4800 4756 324c 3233 3734 0a31 2020 4100
0000100

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:56:11
10 [报告]
发表于 2007-06-29 13:43 |只看该作者
这里0~7f和80~FF是两块完全一样的数据,
5f 开始是Syncmaster
71 开始是HVGL232471
没有象样的执行码.
用strings命令直接对二进制码操作,可以得ASCII串.

[ 本帖最后由 zongyaotang 于 2007-6-29 14:05 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP