首页
社区
课程
招聘
未解决 复杂表达式位异或加密算法的解密算法
发表于: 2020-11-23 03:40 1963

未解决 复杂表达式位异或加密算法的解密算法

2020-11-23 03:40
1963

最近遇到了一个文件,采用了复杂表达式位异或加密算法,伪代码如下
int encode(char data ,int length)
{
//申请虚拟内存,加密后存放到lpAddress
lpAddress= mollac(length);
//开始逐位递增进行位异或运算
do
{
(BYTE )lpAddress = (((BYTE )(data) ^ ((BYTE )data + 0x12) ^ 0x13) + 0x14) ^ 0x15;
data++;
length--;
}while(length);
//写出文件代码略
}
简化后表达式如下
((
data ^(data+0x12)^0x13)+0x14)^0x15
解密算法逐层去括号,最终会得到:
1 ((
data ^(data+0x12)^0x13)+0x14)^0x15
2 (
data ^(data+0x12)^0x13)+0x14
3
data ^(data+0x12)^0x13
4
data ^(*data+0x12)
基础知识不牢,请问下一步该如何解密呢?


[招生]系统0day安全班,企业级设备固件漏洞挖掘,Linux平台漏洞挖掘!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 123
活跃值: (316)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
尴尬,*data前面的*被论坛吃掉了,,理解就行了
2020-11-23 03:43
0
雪    币: 123
活跃值: (316)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
散了吧,解决了
2020-11-23 05:16
0
游客
登录 | 注册 方可回帖
返回
//