打印

你的产品安全吗?--写给那些天真的工程师

[复制链接]
2248|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 Simon21ic 于 2013-6-13 19:18 编辑

首先,为别人做个广告,虽然技术很简单,产品也不一定热卖,不过,下面会分析一下他的binary代码:
https://bbs.21ic.com/forum.php?mod=viewthread&tid=434231
既然分析了别人的代码,那也为他贡献一些东西吧:
STM32的uclinux移植,虽然可以使用,但是核心内存管理部分有致命的BUG,修复方法如下:
uClinux-dist/linux-2.6.x/include/asm-arm/memory.h中,找到
#define PHYS_PFN_OFFSET    (PHYS_OFFSET >> PAGE_SHIFT)
改成:
#define PHYS_PFN_OFFSET    (CONFIG_EXTERNAL_RAM_BASE >> PAGE_SHIFT)
原理是,由于是plat的内存构架,所以linux可管理的内存从0x68000000开始,而不是从0x20000000开始。

当然,只分析一些简单的,ST没有公开的东西(虽然也非常简单),我也不会公开。
另外,本帖只是演示要**cortex-m的binary有多容易,并且,不会回答任何问题。

废话不多说,简单演示一下,怎么分析别人的binary代码,得到想要的东西:
首先,中断向量:

好的,程序入口在0x08000145,去那边看看:

已经经过一些简单的分析了,那个mem_init其实是mem_init_and_jump_to_main

到了main后......

默认9600的baudrate是不是慢了一些?
当然,我不需要分析这么多,我只需要得到载入uclinux的代码,看看是否有什么特殊操作。
说明文档中,jump命令用来进入uclinux,那就简单搜索字符串“jump"

之后貌似就没什么问题了,另外,顺便说一下,真正要**你的程序的人,不是这么看汇编的,而是这么看的:

jump的代码就在这个图中:

jump的代码序号是7,然后,看后面:


分析汇编代码很难吗?随便弄一段短的给你们看看吧:


对于合格的黑客,这种反汇编就像玩一样,**的时间,是用分钟来计算的。

有人可能会说什么AES,DES等加密算法,我说这些公开的算法只是shit。
AES调用前,一般会有s-box和反向的s-box,如果使用标准的,一看s-box,马上就知道,即使使用自定义的,AES_prepare的算法的分析,也可以用分钟来算**时间。
DES的话,就更加简单了,key更短。3DES只不过调用3次DES。

写在后面,你是怎么保护你的产品的呢?
一些基本的扩展阅读:暴力**,花指令
沙发
wxlhonker| | 2013-6-13 12:36 | 只看该作者
好强大啊,表示看不懂

使用特权

评论回复
板凳
yinyangdianzi| | 2013-6-13 13:52 | 只看该作者
没有安全的产品了

使用特权

评论回复
地板
mmuuss586| | 2013-6-13 17:38 | 只看该作者
我的比较简单。

使用特权

评论回复
5
dong_abc| | 2013-6-13 19:08 | 只看该作者
裸奔,从不刻意保护!

使用特权

评论回复
6
缥缈九哥| | 2013-6-13 19:34 | 只看该作者
产品 足够简单,你**了出量产不到市场 。

使用特权

评论回复
7
缥缈九哥| | 2013-6-13 19:41 | 只看该作者
天天改变产品的硬件软件 ,不断升级程序

使用特权

评论回复
8
rockli| | 2013-6-13 21:29 | 只看该作者
单纯的比较、跳转是最简单、最容易**的。太初级了。
复杂一点的加密就没那么简单了

使用特权

评论回复
9
cjhk| | 2013-6-13 21:57 | 只看该作者
这一块不是很了解   需要学习学习   顶一个  谢谢了   楼主   好好

使用特权

评论回复
10
s99060| | 2013-6-13 22:07 | 只看该作者
那个分析工具是啥?

使用特权

评论回复
11
缥缈九哥| | 2013-6-13 22:35 | 只看该作者
IDA,好像没有看到楼主有什么惊人的秘诀呀。

使用特权

评论回复
12
Simon21ic|  楼主 | 2013-6-13 22:38 | 只看该作者
缥缈九哥 发表于 2013-6-13 22:35
IDA,好像没有看到楼主有什么惊人的秘诀呀。

嘿嘿,本来就没什么秘诀

使用特权

评论回复
13
STARM| | 2013-6-14 08:30 | 只看该作者

好强大啊,

使用特权

评论回复
14
chen282220981| | 2013-6-14 10:41 | 只看该作者
站位

使用特权

评论回复
15
原野牧歌| | 2013-6-14 21:38 | 只看该作者
不知道怎么突然看到这儿了,ARM之类的**,只要能够读出ROM,总有办法,所以从来不能靠这个,现在的都是怎么样写死,要吗不要怕,不为这个加密费工夫。

使用特权

评论回复
16
lenglx| | 2013-6-26 19:56 | 只看该作者
楼主要表明什么不安全啊?
binary 被拿到不安全? 亦或是指 binary的代码本身有漏洞不安全? 或者是指binary里面的加密方式不安全?
另外: 貌似上面的分析,不是针对真正的binary, 而是elf文件.

使用特权

评论回复
17
xsgy123| | 2013-6-26 19:57 | 只看该作者
**写的不错

使用特权

评论回复
18
cjhk| | 2013-6-26 20:52 | 只看该作者
**好好看看   谢谢了   楼主   很不错  

使用特权

评论回复
19
lxyppc| | 2013-6-26 22:42 | 只看该作者
确实如此,读出rom后,反编译很容易

使用特权

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

本版积分规则

266

主题

2597

帖子

104

粉丝