您尚未登录。

楼主 #1 2018-08-18 21:40:11

posystorage
会员
注册时间: 2018-05-06
已发帖子: 170
积分: 561

最近在逆向一个stm32的程序的时候的一点点心得

前两天在看一个别人搞的程序,手上只有Hex,所以就直接用IDA来反汇编看了。有些心得给大家随便说说

这个程序很明显是有ST官方提供的标准库开发的,运行在STM32F072上面

库函数开发确实容易,但是给逆向 一定程度上也带来了极大的容易
几个原因
1:如果查看过keil生成的map文件,就可以知道ARMCC的链接器(link)在生成可执行文件的时候,函数的排列是按照字母顺序来的。
比如说,这个程序的开发者用到了USB的HID功能,所以我强行用官方的hid库函数历程编译了一个程序,查看编译完MAP文件
很明显的按字母顺序排列
图片
QQ20180818201634.jpg
2:ST的库函数(不管标准库,hal库等等),他的函数命名方式都是为 外设名字_xxx功能
比如GPIO_DeInit GPIO_Init GPIO_ReadInputData等等,用过的都知道
那么结合第一条 这一个外设的库函数内容 必定会被安排在一起

3:熟悉库函数的,经常用的,对函数的功能基本上都比较了解。
对比C写的内容,用十几秒,一分钟就能确定这个函数的名字,直接重命名函数为库里面的名字
这样节约了大量的时间去自己分析这个函数是干嘛的(如果不是库函数,一个函数的内容,往往要花少则几分钟,多则小半天的时间去研究他的运行机理)
虽然汇编用熟了不难,但是确实不友好。

QQ20180818203626.jpeg

这里随便贴一贴这个被完全逆向完的程序。所以函数都被完全的读懂在干嘛(即被重命名)
这个程序只花了不到48小时,就被完全捅穿了。所有明锁,暗锁,加密都像被衣服脱干净了一丝不挂的曝光在大摄像机镜头下
打码的函数是作者自己写的私有内容,为了保护,就打码了,没打码的都是库函数
图片
图片
图片
图片
图片
图片
说这么多,抛出个问题,让大家自己想,我不说,怎么样写程序,才是不容易被逆向破解的?欢迎大家畅所欲言

最近编辑记录 posystorage (2018-08-18 21:42:17)

离线

楼主 #2 2018-08-18 21:43:12

posystorage
会员
注册时间: 2018-05-06
已发帖子: 170
积分: 561

Re: 最近在逆向一个stm32的程序的时候的一点点心得

顺便吐槽一句 这个论坛啥都好,就是图片上传真的太蛋疼了 mad mad

最近编辑记录 posystorage (2018-08-18 21:43:46)

离线

#3 2018-08-18 21:48:01

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 最近在逆向一个stm32的程序的时候的一点点心得

非常感谢楼主的经验分享, 图片上传的问题我们尽快搞定,多谢支持!





离线

#4 2018-08-18 21:53:56

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 最近在逆向一个stm32的程序的时候的一点点心得

逆向最怕的就是那种要某种条件达到才能被爆发的问题,
比如开机1000次后,要输入一个验证码,
这种很隐蔽的问题破解的时候未必能预测到。





离线

#5 2018-08-18 22:04:20

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 最近在逆向一个stm32的程序的时候的一点点心得

以前用 x64dbg 破解过PC Windows 软件,
那时候还没搞 whycan.cn,所以没有记录,
现在步骤都忘记了  smile 捂脸


改天再试一试





离线

楼主 #6 2018-08-18 23:28:10

posystorage
会员
注册时间: 2018-05-06
已发帖子: 170
积分: 561

Re: 最近在逆向一个stm32的程序的时候的一点点心得

晕哥 说:

逆向最怕的就是那种要某种条件达到才能被爆发的问题,
比如开机1000次后,要输入一个验证码,
这种很隐蔽的问题破解的时候未必能预测到。

这个程序本身不算大,全部把他弄懂要的时间不长。当然程序大了那不一样了

离线

#7 2018-08-19 00:26:53

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,138
积分: 1090.5

Re: 最近在逆向一个stm32的程序的时候的一点点心得

产品要有硬件以外的附加值和生态圈绑定用户,这样抄了硬件,也没有威胁
不断更新升级,走在破解者的前头,增加破解者的破解成本

离线

#8 2018-10-24 14:05:43

apleilx
会员
注册时间: 2018-10-23
已发帖子: 36
积分: 35

Re: 最近在逆向一个stm32的程序的时候的一点点心得

加密算法是怎么破解出来的,一般加密运算后不是都把自身删除了吗?难道你拿的是原厂的HEX,不是从MCU读出来的?

离线

#9 2018-10-25 09:36:33

真的是很烦
会员
注册时间: 2018-10-08
已发帖子: 155
积分: 147.5

Re: 最近在逆向一个stm32的程序的时候的一点点心得

待逆向的内容怎么会有那么多符号信息在里面?  拿到的是obj?

离线

#10 2018-10-25 09:45:03

v3s
会员
注册时间: 2017-09-08
已发帖子: 105
积分: 105

Re: 最近在逆向一个stm32的程序的时候的一点点心得

真的是很烦 说:

待逆向的内容怎么会有那么多符号信息在里面?  拿到的是obj?

是哦,不说我还没发现。






此人很懒,没有签名!

离线

#11 2019-02-22 17:27:16

ruimin
会员
注册时间: 2019-02-22
已发帖子: 1
积分: 1

Re: 最近在逆向一个stm32的程序的时候的一点点心得

感觉你们好强大,努力学习

离线

#12 2019-11-30 22:58:48

armstrong
会员
注册时间: 2019-04-10
已发帖子: 286
积分: 195.5

Re: 最近在逆向一个stm32的程序的时候的一点点心得

请问楼主,您这是什么软件?
这是什么软件?

离线

#13 2019-12-01 12:13:08

微凉VeiLiang
会员
所在地: 深圳
注册时间: 2018-10-28
已发帖子: 627
积分: 522
个人网站

Re: 最近在逆向一个stm32的程序的时候的一点点心得

armstrong 说:

请问楼主,您这是什么软件?
https://whycan.cn/files/members/1592/QQ20180818203626.jpeg

IDA Pro

离线

#14 2019-12-01 13:37:55

armstrong
会员
注册时间: 2019-04-10
已发帖子: 286
积分: 195.5

Re: 最近在逆向一个stm32的程序的时候的一点点心得

微凉VeiLiang 说:

IDA Pro

谢谢!
我买过一本《IDA Pro 权威指南(第2版)》一直吃灰中,软件长啥样都不知道;只知道这工具是破解的好工具。

离线

#15 2020-01-02 10:58:59

szchen2006
会员
注册时间: 2019-10-09
已发帖子: 216
积分: 166.5

Re: 最近在逆向一个stm32的程序的时候的一点点心得

顶!学习了。

离线

#16 2020-03-05 16:39:33

thwin520
会员
注册时间: 2019-11-01
已发帖子: 15
积分: 15

Re: 最近在逆向一个stm32的程序的时候的一点点心得

顶!学习了。

离线

#17 2020-05-23 23:00:44

hyghyg1234
会员
注册时间: 2020-05-23
已发帖子: 10
积分: 10

Re: 最近在逆向一个stm32的程序的时候的一点点心得

学习下逆向技术,好针对性的做加密。

离线

#18 2021-05-19 14:39:27

duanhnhy
会员
注册时间: 2020-05-16
已发帖子: 33
积分: 0

Re: 最近在逆向一个stm32的程序的时候的一点点心得

逆向技术需要花的功夫,还不如直接写一个了。

离线

#19 2021-05-20 14:40:39

regbbs
会员
注册时间: 2020-04-06
已发帖子: 80
积分: 67.5

Re: 最近在逆向一个stm32的程序的时候的一点点心得

有符号表和没有符号表就是两个东西,纯粹的hex,反编译出来,还要把符号表都改好,没那么容易。这个试同一个程序。
.pnghex.png

离线

#20 2021-05-20 14:42:04

哇酷小二
管理员
所在地: 你猜
注册时间: 2020-04-22
已发帖子: 3,387
积分: 1902
个人网站

Re: 最近在逆向一个stm32的程序的时候的一点点心得

按F5试一试,可以转成差不多可读的C代码。





离线

#21 2021-12-14 08:38:33

jack123321
会员
注册时间: 2021-12-11
已发帖子: 10
积分: 10

Re: 最近在逆向一个stm32的程序的时候的一点点心得

黑盒逆向猜可能要尝试无数次才能最终获得正确答案。。。。

离线

#22 2021-12-19 21:10:40

lsmcld
会员
所在地: 成都
注册时间: 2021-12-19
已发帖子: 27
积分: 12
个人网站

Re: 最近在逆向一个stm32的程序的时候的一点点心得

这是什么神仙操作。。。

离线

#23 2023-10-17 20:40:36

Stackflow
会员
注册时间: 2023-10-17
已发帖子: 2
积分: 2

Re: 最近在逆向一个stm32的程序的时候的一点点心得

自己编译有符号表的,带hal库的,bindiff一下就能识别函数了,不用自己费劲看

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn