rc4加密方法
rc4基本原理
生成密钥之后,由密钥与明文异或后生成密文(加密过程),由同一密钥与密文异或后得到明文(解密过程)
CTF题
首先如果有rc4加密你会看到一个莫名其妙的字符串【该字符串是定义好的】,这个莫名奇妙的字符串不是密文而是key。
会有一个对key进行i循环的取模的操作【也就算是得到key循环的东西】
比如:key==abc123,就会有一个循环来得到abc123abc123abc123…【这个主要是用于后面 ^ 操作】
某个函数有4个传参:
- 密文
- 密文的长度
- Key
- Key的长度
当发现如上的时候,点进去看。如果还有for循环比如for(i ; i<256;i++)这种对256次循环进行操作的。并且在for循环里面是进行xor操作的。可能是rc4加密。
而RC4加密算法的特征也是比较明显的:
- 有很多取模操作
- 有很多256
- 有多个次数为256的循环
- 最后操作为异或
题目:
sub_140001120 和 sub_140001240 函数组合在一起就是rc4加密。
sub_140001120
这个函数有256
sub_140001240
这个函数进行xor
用python脚本来魔改rc4
1 | def rc4_decrypt(key, ciphertext): |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Safety-Blog!