首页
社区
课程
招聘
[求助]这个加密算法的解密该如何写?
发表于: 2008-8-7 11:14 3945

[求助]这个加密算法的解密该如何写?

2008-8-7 11:14
3945
int do_jiami(string file)
{
        int size, i;
        switch (file[<2..<1]) {
                case ".c":
                case ".h":
                        break;
                default:
                        return -4;
        }
        if (file_size(file) < 0) return -3;       
        buf = read_buffer(file);
        size = sizeof(buf);       
        if (!size) return -2;
        if (buf[0] & 0x80) return -1;       
        for (i = 0; i < size; i++) buf[i] = ((buf[i] ^ ((i+128) & 0xD5)) * 257) >> (i & 7);       
        write_buffer(file, 0, buf);
        buf = read_buffer(file);
        size = sizeof(buf);
        if (buf[0] & 0x80) return 1;       
        return 0;
}

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
for (i = 0; i < size; i++) buf[i] =( (buf[i] << (i & 7))/257 )^( ((i-128) & 0xD5) );

这样解密不对,请问哪里错了?
2008-8-7 11:37
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
3
有些操作不一定是可逆的,尤其像这样乘了一个257之后再移位~
2008-8-7 11:39
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这个字符串加密肯定是可逆的,否则加密代码会无法执行。
2008-8-7 11:47
0
游客
登录 | 注册 方可回帖
返回
//