PK 使人进步:HotISP V2.80A传说中的disasm51超级反汇编结语

[复制链接]
26903|118
DownCloud 发表于 2011-10-18 17:09 | 显示全部楼层
我怎么不会用啊。。。 不懂,。。
Cortex-M0 发表于 2011-10-18 17:44 | 显示全部楼层
顶起!支持菜农~~~
highgear 发表于 2011-10-18 20:56 | 显示全部楼层
虽然我不用,也认为用处不大,但还是要为菜农大叔的执着和专研精神叫好。
流行音乐 发表于 2011-10-18 21:45 | 显示全部楼层
万利的 MedWin 就带有 51 反汇编,效果还很好。
lwslws201 发表于 2011-10-18 22:33 | 显示全部楼层
 楼主| hotpower 发表于 2011-10-19 07:25 | 显示全部楼层
万利的 MedWin 就带有 51 反汇编,效果还很好。
流行音乐 发表于 2011-10-18 21:45


哈哈~~~

俺的可以加注解,可以强行消灭“无贼论”~~~
564451696 发表于 2011-10-19 09:20 | 显示全部楼层
顶顶。。。
jutyy 发表于 2011-10-19 09:28 | 显示全部楼层
学习,太高深了
john_light 发表于 2011-10-19 10:03 | 显示全部楼层
我在7楼贴出“反汇编失败”的图,它失败的原因是因为我把HotISP解压到Program Files中,从贴图中可以看出,Files由于空格被分到命令行参数[2]中。把HotISP移到根目录后,已经能够反汇编那几个附带的简单例子bin文件了。

不过,对于我测试用的代码,disasm51应该被引入了预设的陷阱,几分钟也没出结果。
john_light 发表于 2011-10-19 11:10 | 显示全部楼层
这里贴一个例子目标代码,有兴趣的可以在Keil里仿真一下。
在不加手工干预的前提下,我见过的所有反汇编工具都败了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| hotpower 发表于 2011-10-19 11:41 | 显示全部楼层
正在升级disasm51,已经16年没升级了,楼上的可以给俺hex或bin。
发到hotpower@126.com

哈哈,菜农绝不会失败的,至少编译通过。
john_light 发表于 2011-10-19 11:59 | 显示全部楼层
hotpower,bin在32楼的附件中,是一个陷阱的例子,很短。
 楼主| hotpower 发表于 2011-10-19 15:04 | 显示全部楼层
晚上在看,我将重新设计扫描算法。
做虚拟机一直有此想法,有时间做,不是很难。
新算法将对付“无賊论”,陷井都是浮云。
john_light 发表于 2011-10-19 15:26 | 显示全部楼层
有的算法加入与独特内核相关的量,如某段代码运行后定时器的变化值等等。

我觉得,虚拟机是对付各种陷阱的唯一不变出路。

为了反汇编而编一个完整功能的虚拟机,这样吃力不讨好的事情,只有hotpower这样的热心人才会做啦。:victory:
lw2008 发表于 2011-10-19 15:27 | 显示全部楼层
 楼主| hotpower 发表于 2011-10-19 22:18 | 显示全部楼层
哈哈,一键搞定,俺要向123姐姐学习,俺也要PK!
回家吃饭!
 楼主| hotpower 发表于 2011-10-20 01:47 | 显示全部楼层
这里贴一个例子目标代码,有兴趣的可以在Keil里仿真一下。
在不加手工干预的前提下,我见过的所有反汇编工具都败了。
john_light 发表于 2011-10-19 11:10


哈哈~~~

  1. ;Disasm51 Version 5.08 Copyright (c) 2011,2018 HotPower@126.com
  2. ;Binfile_name:[C:\hotisp\disasm51\trap.bin]
  3. ;Binfile_size:[0...004CH]
  4. ;Compile_size:[0...004CH]
  5. $NOMOD51
  6. $INCLUDE(d:\Keil\C51\ASM\REG52.INC)

  7. ORG   0000H
  8. RESET: MOV   DPTR,#0000H
  9. L0003: LCALL S0010
  10. LJMP  0202H;?*;哈哈,此句是永远运行不到的~~~
  11. LJMP  0202H;?*;哈哈,同上句,太低下
  12. DB    002H,002H
  13. L000E: SJMP  $
  14. S0010: MOV   R0,DPL
  15. MOV   B,DPH
  16. POP   DPH
  17. POP   DPL
  18. LCALL L0033
  19. LCALL L0033
  20. LCALL L0033
  21. LCALL L0033
  22. LCALL L0033
  23. LCALL L0033
  24. LCALL L0033
  25. LCALL L0033
  26. CLR   A
  27. JMP   @A+DPTR;?;哈哈,散转最后捕获
  28. L0033: CLR   A
  29. L0034: MOVC  A,@A+DPTR
  30. INC   DPTR
  31. XCH   A,DPH
  32. XCH   A,B
  33. XCH   A,DPH
  34. XCH   A,R0
  35. XCH   A,DPL
  36. XCH   A,R0
  37. MOVX  @DPTR,A
  38. INC   DPTR
  39. XCH   A,DPH
  40. XCH   A,B
  41. XCH   A,DPH
  42. XCH   A,R0
  43. XCH   A,DPL
  44. XCH   A,R0
  45. RET   
  46. END

 楼主| hotpower 发表于 2011-10-20 01:49 | 显示全部楼层
本帖最后由 hotpower 于 2011-10-20 02:07 编辑

HotISP分析的可疑指令:

  1. 0006 020202          121             LJMP  0202H;?*;哈哈,此句是永远运行不到的~~~
  2. 0009 020202          122             LJMP  0202H;?*;哈哈,同上句,太低下
  3. 0032 73              138             JMP   @A+DPTR;?;哈哈,散转最后捕获
 楼主| hotpower 发表于 2011-10-20 02:38 | 显示全部楼层
hotpower,bin在32楼的附件中,是一个陷阱的例子,很短。
john_light 发表于 2011-10-19 11:59


上传的是旧算法,新算法已可以击溃你的所谓的“陷阱”。

disasm51 v5.08还是沿用C语言编程,新算法将移植到VC上。
20年前的设计理念是用时间换空间,不追求速度,一切为节约内存考虑。
新算法将改为“以空间换时间”的设计方法,采用多次扫描的方法。
以前只用了两次扫描。故智能化还是偏低,但设计模型20年后也没落后任何人!!!
缥缈九哥 发表于 2011-10-20 06:50 | 显示全部楼层
越来越接近完善可用了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部