首页
社区
课程
招聘
[求助]困扰了好几个月没有解决的问题,一个GO语言程序的AES_CBC加密函数IV参数得获取
发表于: 2022-7-24 23:22 6338

[求助]困扰了好几个月没有解决的问题,一个GO语言程序的AES_CBC加密函数IV参数得获取

2022-7-24 23:22
6338

背景介绍

程序是Linux下GO语言写的一个license导入模块,没有strip过,使用AES_CBC算法进行解密,目前已经有测试用的license和程序本身。并且从程序中获取到了AES_CBC加解密需要的key。但是AES_CBC加密需要的一个初始化向量iv的值一直获取不到。我用gdb调试自己写的AES_CBC解密算法时,可以直接从寄存器中读取到crypto/cipher.NewCBCDecrypter这个解密函数被调用时传递给函数的iv值。

 

下面是我在调试我自己写的GO解密测试程序时的截图:
图片描述

 

而在调试这个license导入模块时,在crypto/cipher.NewCBCDecrypter处打完断点之后却获取不到iv的值,如下图所示:
图片描述

 

本人网安小菜鸟一枚,已经被这个问题困扰了好几个月了(断断续续),一直没有找到解决办法也没有下一步的思路,希望各位老鸟大神能不吝赐教!


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2022-9-12 02:16 被kanxue编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 1164
活跃值: (578)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
2
@mb_zvkwqwpk:根据敲击的命令 x/s,推测你是先入为主了,并没有规定说 IV 必须是可打印的 ASCII 字符串形式。
2022-7-25 23:59
0
雪    币: 183
活跃值: (6634)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
3
看雪有人会go??
2022-7-26 09:25
0
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
厉害,能破了AES
2022-9-2 05:10
0
雪    币: 640
活跃值: (1101)
能力值: ( LV4,RANK:44 )
在线值:
发帖
回帖
粉丝
5
楼上说的对,iv完全可以不可打印。另外,没有附件怎么帮忙看问题?
2022-9-11 18:53
0
雪    币: 220
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
renzhexigua @mb_zvkwqwpk:根据敲击的命令 x/s,推测你是先入为主了,并没有规定说 IV 必须是可打印的 ASCII 字符串形式。
谢谢大侠的回复,是的,先入为主认为IV必须是可打印字符了,直接x/16xb $rax,用得到的二进制字节内容做IV,顺利解密出来所有内容。
另外,后来发现其实没有IV也能解密出大部分数据,除了前面16字节(即IV的长度)无法解密之外,剩下的内容只要有key就可以正常解密出来。
2024-9-20 15:32
0
游客
登录 | 注册 方可回帖
返回
//