反汇编工具

发布于 2022-09-29 16:20:10 字数 100 浏览 21 评论 0

我有16进制的代码(hexdump 得到,IBM桌面6824),是eeprom的内容。我想知道这个代码是怎么执行的,因此必须知道相应的汇编代码。应该用什么工具得到呢?

谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

半步萧音过轻尘 2022-10-06 16:20:10

这是一个方法。但容易出现人为的差错。如果能有个工具(当然可靠行和准确性要好),也许会更好。

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

谢谢!

不交电费瞎发啥光 2022-10-06 16:20:10

可以到windows的debug下去看.

焚却相思 2022-10-06 16:20:10

最笨的方法,写个小代码比如

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

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

尘曦 2022-10-06 16:20:10

4楼和5楼都提出运行16进制代码,我的担心是,会不会影响机器的运行状态?因为这些代码是直接从eeprom得到的,(hexdump)。

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

谢谢!

樱娆 2022-10-06 16:20:10

若是 X86 平台,有很多很好的反汇编工具嘛,在windows上 有 IDA,就很不错了

翻了热茶 2022-10-06 16:20:10

要靠读反汇编码来理解,几K字节的还能读一下,超过30K字节的,不塌下心来若干个星期是没有结果的.能贴出其bin的文件吗?
如果是X86的代码,跳转指令的代码是e9,ea,eb.

回忆那么伤 2022-10-06 16:20:10

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

暖风昔人 2022-10-06 16:20:10

这里0~7f和80~FF是两块完全一样的数据,
5f 开始是Syncmaster
71 开始是HVGL232471
没有象样的执行码.
用strings命令直接对二进制码操作,可以得ASCII串.

[ 本帖最后由 zongyaotang 于 2007-6-29 14:05 编辑 ]

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文