这里贴一个例子目标代码,有兴趣的可以在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
|