打印

**确实不复杂

[复制链接]
4509|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hotpower|  楼主 | 2007-11-20 13:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
;-------------------------------------------------------;
;          阻止反汇编软件汇编演示程序(禁止篡改版)
;菜地公告:
;凡引用本文或重要方法都应该指明出处---雁塔菜地!!!
;谢谢合作          
;本例成仍属中级版水平,它还未采用菜农的CRC密码的精华部分。
;只是用标准的CRC运算完成对整个程序的防止篡改的加密。
;祥见菜农已发布的:菜农的加密理论---天下无贼论
;本例程附:
;HotPower三角及冗余校验滚动密码技术.htm文件,点击直接运行.
;绝对没有病毒~~~放心打开~~~
;哈哈~~~以后不要用它来对付俺呀~~~拜托了...
;雁塔菜农HotPower@126.com HotPower@163.com   2007.11.19
;-------------------------------------------------------;

    ORG   0030H
;-------------------------------------------------------------------;
;0x0030以下CRC64版本信息密文区可做为法庭证供。
;注意这里不要访问,留给虚拟机白玩~~~
;-------------------------------------------------------------------;
;-------------------------------------------------------------------;
;以下可做为法庭证供的CRC64校验和。
;密钥自己保存好.见文件内的"信息密文备案.gif"文件
;-------------------------------------------------------------------;
    DB    095H,060H,0FFH,0B2H,0DBH,092H,068H,07BH
;------------------------------------------------------------------------------;
;   版本信息区
;------------------------------------------------------------------------------;
    DB    02H;伪造LJMP指令
;------------------------------------------------------------------------------;
;大家可以试试修改下面任意数据的结果~~~
;------------------------------------------------------------------------------;
HotPowerMessage:;敌人找看不见HotPowerMessage入口地址但能知道~~~
    DB    "HotPower@126.com 2007.11.19";CRC8结果为0xbb
    DB    0BBH;以上版本信息区字符串的CRC8结果,这样可以保证全局变量CRC永远为0!!!
    DB    0;版本信息区结尾标志

;-------------------------------------------------------------------;
;在此设置断点,看CRC的结果为0x52后,填入到MainEnd处DB 052H
;-------------------------------------------------------------------;
    JZ    $+3;肯定运行NOP;MOV   DPTR,#HotPowerMessage
;-------------------------------------------------------------------;
;填完CRC运行好后,可以随便改程序MainEnd前的任何字节看看会是什么结果
;-------------------------------------------------------------------;
    DW    1200H;低8位为NOP指令
    MOVC  A,@A+DPTR;
    LCALL DO_CRC;CRC校验,最终正确结果CRC=0(注意这个0将会被多次使用)

    DB    "改个字节试试俺的心是红还是黑,看你晕不晕~~~"
MainEnd:
    DB    052H;整个程序的CRC校验和
    DB    "哈哈~~~,来吧老师~~~",0

相关链接:https://bbs.21ic.com/upfiles/img/200711/200711201351939.rar

相关帖子

沙发
hotpower|  楼主 | 2007-11-20 13:06 | 只看该作者

内附HotPower三角及冗余校验滚动密码技术

使用特权

评论回复
板凳
hotpower|  楼主 | 2007-11-21 00:52 | 只看该作者

楼上说得不错,问题是还未进入最后阶段.

实际楼上估计没搞清楚我们讨论的意思...

4年前我曾讨论过,没人有兴趣~~~只是这次有些朋友要求...

理论和现实真是两回事...

我们不可能阻止对方debug.不管是软仿真和硬件调试.

本来BIN/HEX拿来就用,又有谁去修改程序呢???

但是当他感到功能不够或受到同行白眼时,肯定要做修改甚至重新编程时.

如果做到他反汇编不如自己编更省力气时,目的就达到了.

但有些算法可能必须通过反汇编才能理解或得到,这往往是原作者思考的结果.

讨论这个并不在于反什么汇编,实际可能更应该关心通讯协议.

因为单机系统几乎不用什么协议即可独立完成,但多机通讯时就必须耐心分析了.

假使上位机(PC)需遵守一些约定才可与MCU通信,并有时间间隔设置,那么你必须

反汇编并了解程序流程后才能全速运行,因为这种系统是不允许间隔停顿的,即

有反跟踪的含义在里面.

至于用C语言,ARM之类的提议很好,但用51的汇编可能最能说明原理和问题.

所有逆向工程具体并不单单局限与看懂代码,而且还有硬件和协议等诸多问题.

谢谢楼上的参与~~~

再者楼上说:

这些技术PC上就没有?PC程序,花指令,冗余校验...各式各样的加密算法,还加上一个壳.
如果人家安心要**,还不就**了.


很对,加密和解密是一对矛与盾的较量.

但PC界加密有很多败笔之处在于比较密码分枝.

如果采用功能加密将会使安全系数大大提高...

这些我已在其他帖子中论述过,这里不在罗嗦~~~

再次感谢发表个人见解~~~
相关链接:http://www.**/blog/hotpower/60789/message.aspx

使用特权

评论回复
地板
xwj| | 2007-11-21 01:09 | 只看该作者

采取一定措施适当的阻止别人直接抄袭还是有必要的

至少会增加别人**的钱、时间、难度


“如果做到他反汇编不如自己编更省力气时,目的就达到了”.


现在的芯片几乎没有不能解密的,但却有解密难度、费用的差异
你也不想你的程序被无良奸商几百块钱就抄走了吧?

适当保护后让它抄了也不能直接用,它就至少得去找个技术高得帮他**吧?这也是时间和成本啊

使用特权

评论回复
5
hotpower|  楼主 | 2007-11-21 01:10 | 只看该作者

哈哈~~~原来是"农科院士"俺的CRC同行...

使用特权

评论回复
6
xwj| | 2007-11-21 01:21 | 只看该作者

破窗户效应应该听说过吧

        将两辆外形完全相同的汽车停放在相同的环境里,其中一辆车的引擎盖和车窗都是打开的,另一辆则封闭如常,原样保持不动。 
    打开的那辆车在3天之内就被人破坏得面目全非,而另一辆车则完好无损。这时候,实验人员在剩下的这辆车的窗户上打了一个洞,只一天工夫,车上所有的窗户都被人打破,内部的东西也全部丢失。 
    这就是著名的“破窗户理论”。其结论可以归结为:既然是坏的东西,让它更破一些也无妨。对于完美的东西,大家都会不由自主地维护它,舍不得破坏;而对于残缺的东西,大家就会去加大其损坏程度。这与道德似乎没有多大关联。人们也曾经用这理论在一座城市里做过类似的实验。 
    在一条街道上,先是扔了一些生活垃圾。没过几天,这条街道就被铺天盖地的垃圾覆盖,碎纸和塑料袋乱飞。同时,人们把另一条街道打扫得干干净净,并维护了好几天。这之后,每当街上出现脏物时,总会有人自动把它扔进垃圾箱;如果碰到外人往地上乱扔垃圾,还会有人制止。 
    既然这是人类的一种心理惯性,我们就有必要把它引用到自己的生活中来:让自己的人生干干净净,不要在上面乱扔垃圾,更不要轻易打破你生活中的任何一扇窗户。 


就好比你出去不关门的话,回来时很大可能东西丢了
家门上随便上把锁,被盗的可能性就小多了

这个道理放在其他地方也是一样

使用特权

评论回复
7
hotpower|  楼主 | 2007-11-21 01:50 | 只看该作者

保护自己是一种好习惯~~~

在很多程序里,用很多加密算法保护自己最为关键的程序不被修改.
即不轻易使他外挂程序.

虽然可以在验证前外挂,但必须跟踪到此处才可.

当你采用多方法多层次保护时,肯定比不设防好数倍.

当然你的产品要值得你取那样做~~~

又要将故事了~~~

有个龙头老大的产品,据说是杭大的一个著名教授搞得...

但老大为了不受垄断的制约,先后找了很多公司去做.

电路让俺这个老花眼的人就半小时猜透~~~因为原理已在俺心中.

软件嘛...俺根本不看~~~俺不管他是谁...

实验结果比原产品的可靠性要好的多,他们的产品出口都有EEPROM数据丢失问题.

搞了3带产品,不过都是在串行总线上做**.

俺的程序在他的3代上全部提过测试,下面人很满意.

俺戴个破草帽,他们真以为俺是农科所的花匠~~~

不过最后副厂长没提过~~~因为...

研究别人提高自己,没研究就猜别人可能吗???

正是整日的"猜",才能做到最后"不猜"---根本不用什么反汇编~~~

哈哈~~~直接"猜"人更方便~~~

所以我们在论坛里灌水不都是在"猜"吗???

哪个水手不是在"猜"中成长的???

讨论问题不在现在能否利用,但到时用时没有今天的讨论能上"火场"吗???

使用特权

评论回复
8
dadodo| | 2007-11-21 02:00 | 只看该作者

老hot说的是

使用特权

评论回复
9
xwj| | 2007-11-21 02:03 | 只看该作者

呵呵,我们这些天天在论坛回答问题的,哪个不是拼命的“

真是佩服那些提问的,大多连问题都问不清楚,弄得大家象猜谜一样...
就别说自己解决问题了

使用特权

评论回复
10
hotpower|  楼主 | 2007-11-21 03:23 | 只看该作者

老师备课去了,看来明天要准备准备~~~

使用特权

评论回复
11
huangqi412| | 2007-11-21 10:02 | 只看该作者

看不太懂,

使用特权

评论回复
12
21班猪| | 2007-11-21 10:44 | 只看该作者

我们最关心的不是被反汇编,而是不能被**。

就算知道了又怎么样,维权是一个很困难的事,

使用特权

评论回复
13
gyt| | 2007-11-21 11:37 | 只看该作者

楼主厉害!!!

使用特权

评论回复
14
lenglx| | 2007-11-21 13:38 | 只看该作者

如果你想阻止别人

通过反汇编来理解你程序的意图.

为什么你不在动态生成程序上打下主意.

将你的关键程序放到RAM中运行,并且动态生成那些程序.
那么跟踪也好,反汇编也好,都将大大变得困难.

静态的程序,一个好的反汇编软件甚至能进行"反编译"的工作.
但对于动态生成的程序,除非跟踪,或者在虚拟机上模拟执行,否则是没法"反编译"或者"反汇编"的.

使用特权

评论回复
15
yewuyi| | 2007-11-21 17:26 | 只看该作者

来了来了,看看……

学两手……

使用特权

评论回复
16
IceAge| | 2007-11-21 21:09 | 只看该作者

赞同 lenglx

其实,**的方法并不复杂,跟踪,找出关键点,把 jz/jnz 换成 jnz/jz/jmp 即可.
不过 hotpower 的这些招数,确实给逆向工作者带来很多困扰。

使用特权

评论回复
17
maychang| | 2007-11-21 21:57 | 只看该作者

刚好今天就有一帖

《日本工控机,日立HD6417750的外挂29LV320,读出的BIN上改显示》,可以说是本帖一个非常好的例子。

使用特权

评论回复
18
hotpower|  楼主 | 2007-11-21 22:03 | 只看该作者

哈哈~~~已经升级了...但是还没到自毁的难度~~~

不过程序已经用不成了~~~
相关链接:https://bbs.21ic.com/club/bbs/ShowAnnounce.asp?id=2764396

使用特权

评论回复
19
maychang| | 2007-11-21 22:13 | 只看该作者

**确实不复杂

但对《日本工控机,日立HD6417750的外挂29LV320,读出的BIN上改显示》的作者来说已经超出了他的能力。
只要给反向工程带来足够的麻烦,让反向工程成本增加,hotpower这套就算达到目的。

使用特权

评论回复
20
hotpower|  楼主 | 2007-11-21 22:18 | 只看该作者

全部或部分暴露在外的程序,必须采用这种手段

现在ARM的外挂程序很多,所以本例应该是个很好的方法~~~

等菜农上高难度的...估计没几个**~~~(先吹气在说~~~哈哈)

使用特权

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

本版积分规则

1460

主题

21619

帖子

506

粉丝