某车企国密SM4(未完成解密)
第一次发贴,如有违规,烦请删除app名称:5LiA5rG95aWl6L+q
这个软件是用的国密sm4加密,逆向玩的少,之前都是接触美标加密,所以这次花了我很久工夫才明白,如今大国昌盛,都有自己的加密算法了,而国家也在推行,遇到只是时间问题
先说下国密,sm1和sm4 对应 des,aes sm3对应 md5 sm2 对应rsa其中,SM4算法与AES算法具有相同的密钥长度和分组长度,都是128位。
首先说下app是有壳,怎么脱就不讨论了。直入主题,
https://attach.52pojie.cn/forum/202302/13/194332d60eez6xzi52cgr0.png
请求和返回都是加密过的,抓包回来的数据很像BASE64,并且是固定的,以为是aes之类,其实国标SM4对标就是aes 所以返回的数据很像,
java代码静态分析 也略过了,就是为了找加密和解密接口 ,算法在so层, 对应接口如下图
https://attach.52pojie.cn/forum/202302/13/195454c2e2h4ujutcu25ru.png
进入Java_com_bangcle_comapiprotect_CheckCodeUtil_decheckcode
https://attach.52pojie.cn/forum/202302/13/195708xgwksp1aozzfkokw.png
根据顺序,先进行b64解码,然后做为参数传给SM4_cbc_decrypt进行解密,
https://attach.52pojie.cn/forum/202302/13/200031qz3ddd55470dl00g.png
https://attach.52pojie.cn/forum/202302/13/211709ukxqrizjjnq7npni.png
看下Bangcle_SM4_cbc_decrypt 参数:
a1- 请求的返回值(b64解码过了)
a2 - 代表64位
a3 -返回值
a4-a2的指针地址
v20- iv
v17- 16位
v13- key (do while 里生成的)
(unsigned int)(v12 / 2)132位,是上面 a6的长度(v12 = strlen(a6); )a6是上图里的数据
a5 - int-1
iv 是固定的,可以hook到, key 我是hook不出来是什么数据,到这里也就不知道怎么操作了。忘记玩过国密的解答一下这个key应该是怎么
下面是v13(key)的hexdump
https://attach.52pojie.cn/forum/202302/13/214024xaw0m6m66gyf7awp.png
a6:
ab71d9a0da4a4403189baa4a82ebc8ad2679ec737bb9ba187eea51840df3d102722fa4514ab6a4204adb0a62717773cc98d1668a96e277fd85927ddf3dfc4463b7ebc80314557edf3a0c987bda6d853d7771886751361d8528161c01e44e0ea2828b085625713c6d111b06bb7ac04912b35c9b6fd402d7e2f3bdfe6ad4489b87ecd97fb8
key取了128位,可是取出来之后又解不出来。到这里就到了我的知识盲区了,麻烦大牛指点一下。让我继续完善下去,找的地点确定是对的,
app:https://wwtp.lanzoul.com/iANWY0nhtg2d密码:3bsw 这个APP有什么作用? 搞出来能控制车吗:lol Li1y 发表于 2023-2-14 11:50
搞出来能控制车吗
搞也来提一辆奥迪还是不出问题的 kenxy 发表于 2023-2-14 11:32
这个APP有什么作用?
朋友的车,需要远程控制,让我帮他写个siri脚本的 你这样解密会把一些玻璃碴子心弄碎 longbbyl 发表于 2023-2-15 12:47
你这样解密会把一些玻璃碴子心弄碎
怎么了老哥。能解一下吗
Li1y 发表于 2023-2-14 11:50
搞出来能控制车吗
是的哈,可以对接快捷指令
页:
[1]