https://github.com/lujji/st-decrypt
既然是对称加密,那肯定有KEY,这个KEY目前是best performance.
然后打开解密后的bin,看到熟悉东西了吧.
我改成别的看看等下会不会被我刷掉.
重新加密生成一个新的bin.
然后重新打包一下.
用新程序Upgrade一下固件.再检查新mbed.htm,果然变了.
也就是把STLink的固件给刷了,他的数据根据前段Bootloader给出的.我们现在可以改第二阶段,也就是我们有办法把ST-LINK固件整个备份出来的.先配置下STM32CubeMX.
时钟.
速率低一些,减少出错率.
生成的工程后加入一行,打印全部Flash内容.
当然这个编译出来千万不要接触到任何和中断有关的函数,因为具体向量表是不可预知的.所以中断有关代码都不能有,屏蔽.然后HEX转BIN.自己想办法.
替换文件后再来生成一次JAR.
冒险来了,是STLINK挂了还是DUMP出整个STLINK了.然后整片都被我读出来了.随后得到Bootloader(从0x4000开始找到自己原始程序数据,截取不要.),修改WP(访问WriteProtect的语句屏蔽)数据.
bootloader
然后用烧写器烧写一个Bootloader.然后升级,升级可以选择升级到任意,非常任性.(因为全片擦除缘故,具体不知道哪里记录.)
然后全部升级还原,解密整个固件打包.
full
当然,实际测试过,最高级的还是VCP+MSD了.U盘悲剧了.
UPDATE:给下面的主芯片做一次ERASE ALL,U盘的空间就回来了.
然后,我的Mbed呢?好吧,真的不见了.
|