STM32 IAP升级AES256加密 应用及源码

2020-01-01 17:57发布

我用的万利199元的板。
AES256加密算法,用的是shaoziyang的源码,由于不会用C++,上位机用了C#开发,搞了一个多星期,C#加密出来的,老是和shaoziyang的AVRUB加密出来的不一样,就干脆用C++做了DLL,用C#调用。
不多说了,直接上源码。

上位机效果图

(原文件名:QQ截图20110923094605.jpg)

STM32下位机IAP升级里面,我把固件上传部分删掉了,既然加密,就是为了防破_解,读出来就没必要了。

C++里的DLL加密文件包
点击此处下载 ourdev_678831FMG4A4.zip(文件大小:11K) (原文件名:DLLTest.zip)

C#写的调用DLL加密的HEX转Bin文件包
点击此处下载 ourdev_678832NPWI4U.zip(文件大小:45K) (原文件名:Hex2Bin.zip)

MDK下的万利199元开发板的IAP源码
点击此处下载 ourdev_678833DAXD3A.zip(文件大小:521K) (原文件名:Usart.zip)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
98条回答
KunShan_a_dai
1楼-- · 2020-01-01 22:53
 精彩回答 2  元偷偷看……
wuguoyan
2楼-- · 2020-01-02 00:03
好像有问题把?

这是你写的程序:
/*----------------------------------------------------------------------------------------------*/
        BufferIn=buf;
        for (j = 0; j < packet_length; j += 16)
        {
                //解密数据包
                aesDecrypt(BufferIn,bufferOut);
                BufferIn+=16;
        }
/*----------------------------------------------------------------------------------------------*/
        RamSource = (uint32_t)buf;

你最后的赋值又是没解密的内容啊?

是不是应该是RamSource = (uint32_t)bufferOut;

没搞过AES,你的函数也没什么仔细的说明,求解?

谢谢指导。
eworker
3楼-- · 2020-01-02 00:14
不错!
yy945
4楼-- · 2020-01-02 01:39
这个源码是从shaoziyang的AVR单片机通用BootLoader里提取出来的。

当时我也是你这种理解,参数1为输入,参数2为输出。但实际不是的,解密后的数据,实际还是在参数1的位置。

你仔细试试就知道了。
wuguoyan
5楼-- · 2020-01-02 07:10
回复【4楼】yy945  ぃ邂逅記憶ぃ
-----------------------------------------------------------------------
原来如此,谢谢。
ecjtuxsuper
6楼-- · 2020-01-02 11:53
 精彩回答 2  元偷偷看……

一周热门 更多>