打印

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

[复制链接]
楼主: hotpower
手机看帖
扫描二维码
随时随地手机跟帖
21
我怎么不会用啊。。。 不懂,。。

使用特权

评论回复
22
Cortex-M0| | 2011-10-18 17:44 | 只看该作者
顶起!支持菜农~~~

使用特权

评论回复
23
highgear| | 2011-10-18 20:56 | 只看该作者
虽然我不用,也认为用处不大,但还是要为菜农大叔的执着和专研精神叫好。

使用特权

评论回复
24
流行音乐| | 2011-10-18 21:45 | 只看该作者
万利的 MedWin 就带有 51 反汇编,效果还很好。

使用特权

评论回复
25
lwslws201| | 2011-10-18 22:33 | 只看该作者
牛啊

使用特权

评论回复
26
hotpower|  楼主 | 2011-10-19 07:25 | 只看该作者
万利的 MedWin 就带有 51 反汇编,效果还很好。
流行音乐 发表于 2011-10-18 21:45


哈哈~~~

俺的可以加注解,可以强行消灭“无贼论”~~~

使用特权

评论回复
27
564451696| | 2011-10-19 09:20 | 只看该作者
顶顶。。。

使用特权

评论回复
28
jutyy| | 2011-10-19 09:28 | 只看该作者
学习,太高深了

使用特权

评论回复
29
john_light| | 2011-10-19 10:03 | 只看该作者
我在7楼贴出“反汇编失败”的图,它失败的原因是因为我把HotISP解压到Program Files中,从贴图中可以看出,Files由于空格被分到命令行参数[2]中。把HotISP移到根目录后,已经能够反汇编那几个附带的简单例子bin文件了。

不过,对于我测试用的代码,disasm51应该被引入了预设的陷阱,几分钟也没出结果。

使用特权

评论回复
30
john_light| | 2011-10-19 11:10 | 只看该作者
这里贴一个例子目标代码,有兴趣的可以在Keil里仿真一下。
在不加手工干预的前提下,我见过的所有反汇编工具都败了。

TRAP.rar

134 Bytes

使用特权

评论回复
31
hotpower|  楼主 | 2011-10-19 11:41 | 只看该作者
正在升级disasm51,已经16年没升级了,楼上的可以给俺hex或bin。
发到hotpower@126.com

哈哈,菜农绝不会失败的,至少编译通过。

使用特权

评论回复
32
john_light| | 2011-10-19 11:59 | 只看该作者
hotpower,bin在32楼的附件中,是一个陷阱的例子,很短。

使用特权

评论回复
33
hotpower|  楼主 | 2011-10-19 15:04 | 只看该作者
晚上在看,我将重新设计扫描算法。
做虚拟机一直有此想法,有时间做,不是很难。
新算法将对付“无賊论”,陷井都是浮云。

使用特权

评论回复
34
john_light| | 2011-10-19 15:26 | 只看该作者
有的算法加入与独特内核相关的量,如某段代码运行后定时器的变化值等等。

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

为了反汇编而编一个完整功能的虚拟机,这样吃力不讨好的事情,只有hotpower这样的热心人才会做啦。:victory:

使用特权

评论回复
35
lw2008| | 2011-10-19 15:27 | 只看该作者

使用特权

评论回复
36
hotpower|  楼主 | 2011-10-19 22:18 | 只看该作者
哈哈,一键搞定,俺要向123姐姐学习,俺也要PK!
回家吃饭!

使用特权

评论回复
37
hotpower|  楼主 | 2011-10-20 01:47 | 只看该作者
这里贴一个例子目标代码,有兴趣的可以在Keil里仿真一下。
在不加手工干预的前提下,我见过的所有反汇编工具都败了。
john_light 发表于 2011-10-19 11:10


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

ORG   0000H
RESET: MOV   DPTR,#0000H
L0003: LCALL S0010
LJMP  0202H;?*;哈哈,此句是永远运行不到的~~~
LJMP  0202H;?*;哈哈,同上句,太低下
DB    002H,002H
L000E: SJMP  $
S0010: MOV   R0,DPL
MOV   B,DPH
POP   DPH
POP   DPL
LCALL L0033
LCALL L0033
LCALL L0033
LCALL L0033
LCALL L0033
LCALL L0033
LCALL L0033
LCALL L0033
CLR   A
JMP   @A+DPTR;?;哈哈,散转最后捕获
L0033: CLR   A
L0034: MOVC  A,@A+DPTR
INC   DPTR
XCH   A,DPH
XCH   A,B
XCH   A,DPH
XCH   A,R0
XCH   A,DPL
XCH   A,R0
MOVX  @DPTR,A
INC   DPTR
XCH   A,DPH
XCH   A,B
XCH   A,DPH
XCH   A,R0
XCH   A,DPL
XCH   A,R0
RET   
END

使用特权

评论回复
38
hotpower|  楼主 | 2011-10-20 01:49 | 只看该作者
本帖最后由 hotpower 于 2011-10-20 02:07 编辑

HotISP分析的可疑指令:

0006 020202          121             LJMP  0202H;?*;哈哈,此句是永远运行不到的~~~
0009 020202          122             LJMP  0202H;?*;哈哈,同上句,太低下
0032 73              138             JMP   @A+DPTR;?;哈哈,散转最后捕获

使用特权

评论回复
39
hotpower|  楼主 | 2011-10-20 02:38 | 只看该作者
hotpower,bin在32楼的附件中,是一个陷阱的例子,很短。
john_light 发表于 2011-10-19 11:59


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

disasm51 v5.08还是沿用C语言编程,新算法将移植到VC上。
20年前的设计理念是用时间换空间,不追求速度,一切为节约内存考虑。
新算法将改为“以空间换时间”的设计方法,采用多次扫描的方法。
以前只用了两次扫描。故智能化还是偏低,但设计模型20年后也没落后任何人!!!

使用特权

评论回复
40
缥缈九哥| | 2011-10-20 06:50 | 只看该作者
越来越接近完善可用了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则