搜索
bottom↓
回复: 39

qemu模拟移植STemWin, 破解STemWin库的CRC检查限制

  [复制链接]

出0入0汤圆

发表于 2018-9-28 21:21:19 | 显示全部楼层 |阅读模式
本帖最后由 jenkins 于 2018-9-28 21:45 编辑

把库文件"STemWin532_CM3_GCC.a"中的16进制数据
"9A 42 00 D0 FE E7 FF F7"
替换为16进制数据
"9B 42 00 D0 FE E7 FF F7"
即可破解STemWin库的CRC检查限制

qemu源码请参考:https://www.amobbs.com/thread-5699632-1-1.html

STM32F429I-Discovery源码如下:


解压说明:下载所有压缩包后,需要把文件名最后的.zip删除,才能用7-zip解压

qemu测试程序如下:


qemu源码和测试程序源码由于文件较大,稍后添加。
运行效果如下图所示:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2018-9-28 21:44:46 | 显示全部楼层
qemu 还能模拟STM32? 长见识了。

出0入0汤圆

发表于 2018-9-28 22:12:29 | 显示全部楼层
厉害厉害,反编译STemWin532_CM3_GCC.a ?比较难找吧

出0入0汤圆

 楼主| 发表于 2018-9-28 22:24:08 | 显示全部楼层
dreambox 发表于 2018-9-28 22:12
厉害厉害,反编译STemWin532_CM3_GCC.a ?比较难找吧

还是比较容易的,但是只是模拟测试成功,没有在真的硬件上测试过。

出0入0汤圆

发表于 2018-9-28 22:36:00 | 显示全部楼层

厉害厉害

出100入101汤圆

发表于 2018-9-28 22:49:30 | 显示全部楼层
高手,厉害

出0入0汤圆

发表于 2018-9-30 16:07:07 | 显示全部楼层
厉害了,之前LGL,这下有STemWin。疯狂打Call…

出0入0汤圆

发表于 2018-9-30 16:54:09 | 显示全部楼层
关键emwin和stemwin没区别啊,破不破的没意思啊。不过这种研究的精神值得敬佩

出0入0汤圆

发表于 2018-9-30 17:01:42 | 显示全部楼层
破解了就可以用在非ST的M3上了  
厉害了

出0入0汤圆

发表于 2018-9-30 17:11:55 | 显示全部楼层
如果可以用在其他硬件平台上那就厉害啦,哪个大神确认下?

出0入0汤圆

发表于 2018-9-30 19:23:49 | 显示全部楼层
这个厉害了 膜拜大神, 可以在其他平台 用 stemwin了

出0入0汤圆

发表于 2018-9-30 20:42:57 来自手机 | 显示全部楼层
  厉害了

出0入0汤圆

发表于 2018-9-30 20:54:42 来自手机 | 显示全部楼层
boycn 发表于 2018-9-30 17:01
破解了就可以用在非ST的M3上了  
厉害了

那你直接用emwin不一样吗

出0入0汤圆

发表于 2018-9-30 21:45:23 | 显示全部楼层
楼主,可以介绍下是怎么破解法不,因为这个库有很多个版本,M4的库不是这个数值,是 88 42 00 D0 FE E7 2B 4D

出0入0汤圆

发表于 2018-10-1 00:17:16 | 显示全部楼层
学习了

出0入0汤圆

发表于 2018-10-1 21:28:42 | 显示全部楼层
a105 发表于 2018-9-30 21:45
楼主,可以介绍下是怎么破解法不,因为这个库有很多个版本,M4的库不是这个数值,是 88 42 00 D0 FE E7 2B  ...

大致应该是这样的,可以用IDA或是直接arm-none-eabi-objdump来进行,我是2个结合起来,这样看起来比较方便。

1. arm-none-eabi-objdump -D  STemWin532_CM3_GCC.a  > 1.txt

.................................................................
Disassembly of section .text.GUI_Init:

00000000 <GUI_Init>:
   0:        b590              push        {r4, r7, lr}
   2:        b083              sub        sp, #12
   4:        af00              add        r7, sp, #0
   6:        4b20              ldr        r3, [pc, #128]        ; (88 <GUI_Init+0x88>)
   8:        4a1f              ldr        r2, [pc, #124]        ; (88 <GUI_Init+0x88>)
   a:        6812              ldr        r2, [r2, #0]
   c:        f022 0201         bic.w        r2, r2, #1
  10:        601a              str        r2, [r3, #0]
  12:        4b1e              ldr        r3, [pc, #120]        ; (8c <GUI_Init+0x8c>)
  14:        2201              movs        r2, #1
  16:        601a              str        r2, [r3, #0]
  18:        4b1d              ldr        r3, [pc, #116]        ; (90 <GUI_Init+0x90>)
  1a:        4a1e              ldr        r2, [pc, #120]        ; (94 <GUI_Init+0x94>)
  1c:        601a              str        r2, [r3, #0]
  1e:        4b1c              ldr        r3, [pc, #112]        ; (90 <GUI_Init+0x90>)
  20:        681a              ldr        r2, [r3, #0]
  22:        4b1d              ldr        r3, [pc, #116]        ; (98 <GUI_Init+0x98>)
  24:        429a              cmp        r2, r3
  26:        d000              beq.n        2a <GUI_Init+0x2a>
  28:        e7fe              b.n        28 <GUI_Init+0x28>
  2a:        f7ff fffe         bl        0 <GUI_Init>
  2e:        4b1b              ldr        r3, [pc, #108]        ; (9c <GUI_Init+0x9c>)
  30:        222e              movs        r2, #46        ; 0x2e
  32:        701a              strb        r2, [r3, #0]
  34:        f7ff fffe         bl        0 <GUI_X_Init>
  38:        4819              ldr        r0, [pc, #100]        ; (68 <GUI

=======================
2.  IDA的反编译

############################

一些STM32硬CRC的寄存器器
/* CRC calculation unit */
#define CRC                ( (volatile uint32_t*)0x40023000)
#define CRC_DR                (*(volatile uint32_t*)0x40023000)
#define CRC_IDR                (*(volatile uint32_t*)0x40023004)
#define CRC_CR                (*(volatile uint32_t*)0x40023008)

总结修改方法:

429a              cmp        r2, r3  =====>修改成  429b  cmp        r3, r3

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2018-10-2 11:23:44 | 显示全部楼层
mark,有空试一下...

出0入0汤圆

发表于 2018-10-2 14:18:57 | 显示全部楼层
厉害了,谢谢分享!

出0入0汤圆

发表于 2018-10-5 20:12:51 | 显示全部楼层
okplay 发表于 2018-10-1 21:28
大致应该是这样的,可以用IDA或是直接arm-none-eabi-objdump来进行,我是2个结合起来,这样看起来比较方 ...

大神,你的方法很赞。

出30入54汤圆

发表于 2018-10-6 09:45:47 | 显示全部楼层
赞啊!!!

出0入0汤圆

发表于 2018-10-6 18:10:15 | 显示全部楼层
高手,厉害!

出0入0汤圆

发表于 2018-10-7 20:35:45 | 显示全部楼层
okplay 发表于 2018-10-1 21:28
大致应该是这样的,可以用IDA或是直接arm-none-eabi-objdump来进行,我是2个结合起来,这样看起来比较方 ...

厉害了,谢谢分享!

出150入135汤圆

发表于 2018-12-18 11:42:52 | 显示全部楼层
本帖最后由 neqee 于 2018-12-18 11:44 编辑

请问楼主,STM32F429I-Discovery工程编译能通过,但只要改一下STemWin库,链接就提示找不到库,提示:cannot find -lSTemWin532_CMx_GCC,而Lib目录是有这个库的,比如将STemWin532_CM3_GCC改为STemWin532_CM0_GCC/STemWin532_CM4_GCC,请问知道是什么原因吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出150入135汤圆

发表于 2018-12-18 11:49:56 | 显示全部楼层
已解决,库文件名前面一定要加个lib,eclipse这个要求好变态!

出0入0汤圆

 楼主| 发表于 2018-12-18 12:11:49 | 显示全部楼层
neqee 发表于 2018-12-18 11:49
已解决,库文件名前面一定要加个lib,eclipse这个要求好变态!

习惯就好了

出0入0汤圆

发表于 2018-12-18 12:17:00 | 显示全部楼层
mark, great job

出0入0汤圆

发表于 2018-12-18 13:18:58 | 显示全部楼层
okplay 发表于 2018-10-1 21:28
大致应该是这样的,可以用IDA或是直接arm-none-eabi-objdump来进行,我是2个结合起来,这样看起来比较方 ...

原来是这样的,受教了

出0入0汤圆

发表于 2018-12-18 13:24:50 | 显示全部楼层
谢谢楼主分享,留号标记。

出90入0汤圆

发表于 2018-12-18 14:14:30 | 显示全部楼层
neqee 发表于 2018-12-18 11:49
已解决,库文件名前面一定要加个lib,eclipse这个要求好变态!

这锅eclipse不背,eclipse只是一个ide,调用的GCC

出0入0汤圆

发表于 2019-6-1 20:08:08 | 显示全部楼层
Thank you !!!

出0入0汤圆

发表于 2019-6-1 21:56:38 | 显示全部楼层
这是高手!~~

出0入0汤圆

发表于 2019-6-3 09:33:45 | 显示全部楼层
厉害了,有空试下~

出0入0汤圆

发表于 2019-10-31 07:31:45 来自手机 | 显示全部楼层
好思路,学习了!

出0入0汤圆

发表于 2019-10-31 15:26:29 | 显示全部楼层
这个不错,谢谢

出0入0汤圆

发表于 2019-11-6 14:18:56 | 显示全部楼层
nb........................................................

出0入0汤圆

发表于 2020-6-29 09:52:12 | 显示全部楼层
测试了一下,在LPC1765上可以用

出0入0汤圆

发表于 2021-8-13 09:20:04 | 显示全部楼层
为什么我下载你的源码,编译屏幕不亮?

出0入0汤圆

 楼主| 发表于 2021-8-13 13:42:41 | 显示全部楼层
macherie 发表于 2021-8-13 09:20
为什么我下载你的源码,编译屏幕不亮?

有没有显示什么提示信息啊?

出0入0汤圆

发表于 2021-8-13 21:48:16 | 显示全部楼层
jenkins 发表于 2021-8-13 13:42
有没有显示什么提示信息啊?

请看附件的照片

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2021-8-14 00:15:53 | 显示全部楼层

已经可以,是qemu的eclipse.exe的问题,更换即可;
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-6 13:23

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表