OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 阻止反汇编软件汇编延时程序(地址交换)

共1条 1/1 1 跳转至

阻止反汇编软件汇编延时程序(地址交换)

助工
2014-11-21 18:08:43    评分
交换取反的用途很多,有半字节的交换,也有半字的交换.
WPS字处理的密码就使用了半字节交换后取反来保存密码.


当然这样的方法2次就解密了.但它必然可以阻止机器看,虽然阻止不了人脑...


但它的优点是解码程序精简,快速.故类似应用很多.


本例程包是在防止篡改版的基础上继续加大难度,可惜仍属于中级版水平~~~

;------------------------------------------------------------;
;命令跳转表
;跳入地址为表地址高低8位交换后取反(主要让反汇编软件找不到入口)
;------------------------------------------------------------;
COMMANDJUMPTAB:
    DW    (((LOW COMMAND0) * 256) + (HIGH COMMAND0)) XOR 0FFFFH;命令0
    DB    0D5H;作假为3个字节(随意造假1个数据,以下类同,最好别造90H,12H,02H)
    DW    (((LOW COMMAND1) * 256) + (HIGH COMMAND1)) XOR 0FFFFH;命令1
    DB    034H;作假为3个字节
    DW    (((LOW COMMAND2) * 256) + (HIGH COMMAND2)) XOR 0FFFFH;命令2
    DB    056H;作假为3个字节
    DW    (((LOW COMMAND3) * 256) + (HIGH COMMAND3)) XOR 0FFFFH;命令3
    DB    078H;作假为3个字节
    DW    (((LOW COMMAND4) * 256) + (HIGH COMMAND4)) XOR 0FFFFH;命令4
    DB    09AH;作假为3个字节
    DW    (((LOW COMMAND5) * 256) + (HIGH COMMAND5)) XOR 0FFFFH;命令5
    DB    0BCH;作假为3个字节
    DW    (((LOW COMMAND6) * 256) + (HIGH COMMAND6)) XOR 0FFFFH;命令6
    DB    0CDH;作假为3个字节
    DW    (((LOW COMMAND7) * 256) + (HIGH COMMAND7)) XOR 0FFFFH;命令7
    DB    0EFH;藏入数据

 



共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]