16进制密码解密(十六进制密码)

16进制密码解密(十六进制密码)前言 涉及 RC4 魔改 TEA 魔改 AES 魔改 i 春秋练习题 进行复现 查壳 ida 打开 修改完名字 以及类型之后如下 分别进入 rc4 init 和 rc4 crypt rc4 init 根据 RC4 S 和 T 的生成进行对拍 魔改一 初始化操作 运用的是 AES 的常量表 并不是取值 0 255 魔改二 进行了 XOR



前言:涉及 RC4魔改 TEA魔改 AES魔改,i春秋练习题。,进行复现。

查壳:

ida打开。

修改完名字,以及类型之后如下;

分别进入 rc4_init 和rc4_crypt

rc4_init:

根据RC4 S和T的生成进行对拍。

魔改一: 初始化操作,运用的是AES的常量表。(并不是取值【0~255】)

魔改二:进行了XOR 0x66

实际就是

s[j] = temp ^ 0x66; --->生成的S进行了异或0x66的操作。(它这属于简单花指令、混淆)

rc4_crypt

修改名字,以及类型 依旧对拍:

魔改三:

key的最后生成XOR了 (x+0x34)

脚本:

### RC4是对称密码。 所以,加解密用同一套算法。

 

查壳

ida打开:

处理依旧 对函数名 、类型进行改正

进入encrypt函数;

提取TEA算法 特征码进行对照  看是否有进行魔改操作:

魔改:

对照可以发现。引入了两个data值(可以通过动态的方式获取。)

delta的默认值从 0x9E3779B9 变成了 0x6E75316C

脚本:

对照TEA原型解密脚本去编写魔改TEA解密脚本。

 

验证:

查壳:

ida打开。

跟进

aes_key_schedule_128

进行对拍。

能说明这是子密钥的生成流程。

aes_encrypt_128

依旧对拍

 -  -  

列混合:

参考:

【AES加密算法】| AES加密过程详解| 对称加密| Rijndael-128| 密码学| 信息安全_哔哩哔哩_bilibili

所以,综上 两处魔改

一是 字节替换时用的是逆S盒而不是S盒

二是 行位移的顺序。

脚本:(能分析就好,脚本直接GitHub上扒拉下来进行改动。)

 

编程小号
上一篇 2025-03-13 10:11
下一篇 2025-03-01 20:51

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/40718.html