打印

天下无贼--我也来说说怎样打造安全的防**系统

[复制链接]
楼主: hotpower
手机看帖
扫描二维码
随时随地手机跟帖
21
IceAge| | 2007-11-13 00:16 | 只看该作者 回帖奖励 |倒序浏览

洪七公,请不要称我老师,实在令人汗颜

我承认,百次扫描也不行---- 不能 100% 正确区别代码和数据。不过不要紧,除非你专门跟反汇编程序过不去,90% 以上的正确率足以阅读代码,剩下的部分人工分辨就行了。

一句话:只要程序被读出来,就忘了抗反汇编吧。把精力放在反读出,远更有意义。 

使用特权

评论回复
22
hotpower|  楼主 | 2007-11-13 00:24 | 只看该作者

哈哈~~~除非用2个界面以上跟踪调试,解读无门~~~上火星找~~~

估计老师把51的指令集忘本了~~~

俺就是利用它的漏洞去防守的~~~

使用特权

评论回复
23
IceAge| | 2007-11-13 00:46 | 只看该作者

你的方法基本上只是针对通用的反汇编软件

对于自己写的特殊软件基本无效。拿HD6305 (motorola 日立版),我当时作了个反汇编工具及虚拟机,basic 作界面,8086 汇编模拟机器指令,任何技巧都失效了,当然,这个虚拟机的作用是为了算法,不是专门针对反汇编。

对于你的数据混淆方法,只需在第一次扫描跳转地址后,人工干预间接调用的调用地址表,就可以生成 90% 以上准确地反汇编代码。反复几次再加人工,可以达到100%。 更何况,pc 下还有模拟器的帮助。 

使用特权

评论回复
24
hotpower|  楼主 | 2007-11-13 00:58 | 只看该作者

哈哈~~~俺从PC上发DPTR让你眼晕---俺PC数据流加密~~~

给你来个整天握手,看你还debug不成???

俺在PC上也反debug跟踪~~~

俺的"先进事迹"被我删了~~~

hotpower 发表于 2007-11-10 02:39 侃单片机 ←返回版面    

24楼: 死灰复燃,僵尸嘴里吐不出象牙!!!知道21ic就你3p比天牛!!! 

吹气时间已过~

 
 

使用特权

评论回复
25
IceAge| | 2007-11-13 01:11 | 只看该作者

无论再强的反debug, 对虚拟机都无效

pc 下监控 int 3 (?? 单步 ? ), 计算运行时间等等,加上最狠的动态变形代码等等,在虚拟机下都原形毕露。

最强的反汇编工具是人的大脑,最终任何抗反汇编措施都会失效。Pc 下的措施远远的超过 51 的反汇编,加密的结果是用脱壳程序轻松**,软件狗有了一个打狗棒,激光软盘打孔,用一个软盘数据模拟器轻松**。

使用特权

评论回复
26
hotpower|  楼主 | 2007-11-13 01:14 | 只看该作者

哈哈~~反正你想100%看懂---不扒皮也折根骨头~~~

哈哈~~~估计到时会动用航天飞机~~~

使用特权

评论回复
27
IceAge| | 2007-11-13 01:22 | 只看该作者

再就是,你的抗反汇编措施走向了故布迷阵的误区

作为一个有经验的反汇编工作者,并不需要读通每一条指令,只需要关注重要的部分,通常是算法,而不是那些混乱的程序结构。 基本上,大致浏览一下代码,就能初步判断出重要的部分,至于那些迷阵,跳来跳去,直接可以忽略掉

使用特权

评论回复
28
hotpower|  楼主 | 2007-11-13 01:27 | 只看该作者

哈哈~~~俺自己就能破~~~有时间编个在线反汇编玩玩~~~

使用特权

评论回复
29
fsaok| | 2007-11-13 08:41 | 只看该作者

这个老顽童

搞一个左右互博

使用特权

评论回复
30
古道热肠| | 2007-11-13 11:13 | 只看该作者

哈哈,精彩

  现在搞造假,谁还反汇编呀,直接开膛剖肚,获取BIN文件,烧到目标系统,用上的都是最新的技术“克隆”。
  真想做产品,大家只关注功能,关注业务流程,关注硬件,软件重写难度并不大。反汇编的代码维护起来很不方便的。

使用特权

评论回复
31
gyt| | 2007-11-13 12:01 | 只看该作者

学习学习

使用特权

评论回复
32
文风| | 2007-11-13 12:15 | 只看该作者

无聊死了,搞这种飞机

加密的代价也许并不划算。
这种陷阱都是小儿科的东西,保护作用十分有限。
精力都花在这里并不划算。
1、加密的人工作量决定了解密的工作量
2、加密的人自己也嫌麻烦,最终会走捷径
3、于是解密的人必然也有捷径可走
4、本质在于:这是人性问题,人都会偷懒,否则无法驾驭

使用特权

评论回复
33
HWM| | 2007-11-13 12:19 | 只看该作者

呵呵,期待“天下无贼”

使用特权

评论回复
34
pheavecn| | 2007-11-13 12:21 | 只看该作者

呵呵,反汇编永远比汇编节省脑细胞。

使用特权

评论回复
35
5_0_5| | 2007-11-13 13:00 | 只看该作者

浏览了一下,似乎明白51反汇编的原理了
16#关键是找到指令的起始地址

但是,请问hotpower,PIC、AVR等精简指令集写出来的程序还能这样反汇编么?

使用特权

评论回复
36
huangqi412| | 2007-11-13 14:28 | 只看该作者

呵呵,看高手过招,精彩

使用特权

评论回复
37
dongshan| | 2007-11-13 15:34 | 只看该作者

哈哈,我说两句。

51再怎么搞,也玩不出什么名堂来,由其内核体系决定了一切。

以上原理示好像是:花指令+垃圾代码,可能还用到了跳转地址的动态生成(代码没详看),
由于51一些芯片对于flash写操作的限制,所以代码在flash中在程序烧写完成后,就是静态的,不会改变。 如果在MCU工作电压下,可以对flash进行写操作,也可以采用更厉害的反汇编方法:

程序代码用某加密算法加密,存放在flash中,另外写一引导程序,在运行时,这一引导程序读出加密的代码,再还原成原来未加密程序运行。 由于程序加密存放在flash中,在反汇编时,反汇编器根本认不出这是指令(机器码可能不对),当然弱点就是那段引导程序还可能被反汇编,此时再加上花指令,垃圾代码,等手段对这段引导程序进行变形,那强度更加强了。

若有可能,写一个虚拟机则更厉害了。

使用特权

评论回复
38
hab2000| | 2007-11-13 15:53 | 只看该作者

唉!世风日下!看把你们累的!

最好防止反汇编(实际上是防仿制)的方法,就是把你产品的成本降到最低,售价降到最低,你看还有人热衷与此吗?没有高利润的驱使,谁也不会去干这种勾当。
免费给你用,看你还费那个神去偷!

使用特权

评论回复
39
5880527| | 2007-11-13 19:29 | 只看该作者

增加反汇编的难度没有错

什么都共产了还有啥动力,这个就不要讨论了。我一直都在努力把程序写得更好,试图吸引人来反汇编的

使用特权

评论回复
40
hotpower|  楼主 | 2007-11-13 19:47 | 只看该作者

哈哈~~~实际上俺的超级反汇编就是多次扫描+虚拟机

下文将是---真真假假虚虚实实--天下无贼之论述http://www.**/blog/hotpower/59580/message.aspx
相关链接:http://www.**/blog/hotpower/59564/message.aspx

使用特权

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

本版积分规则