reverse_re2
难度等级:5
main函数
这个题是一个花指令的题
每个题都要从main函数开始
跟过去看看
这里很容易的知道,最后是指向了8D下面那行的地址。
也可以动态的看看
我们知道了在ret后就取call sub_133E31。
中间那一段的代码都没有啥用处。我们nop掉
,因为这里有好多的这种代码,都需要nop掉。
我这里肯定是不完善的。虽然能f5了,但是感觉还是不是很完美。
F5看看
sub_402DEC函数
我这里问了AI:
RC4算法主要包括以下步骤,这些步骤与代码段中的操作相似:
- 初始化:通常,RC4算法开始时会进行初始化,以生成一个伪随机的密钥流。在这个过程中,代码段中的
v8
、v7
、v6
变量可能对应于RC4算法中的状态向量和S盒初始化。 - Key-Scheduling:在RC4中,生成一个伪随机密钥流的关键部分是键调度。在代码段中,
v8
和v7
变量用于索引S盒并交换S盒中的值,这是RC4的关键操作。 - 伪随机字节生成:RC4算法使用状态向量和S盒生成伪随机字节,然后使用这些字节与明文进行异或运算,以实现加密操作。在代码段中,
v4
和v5
变量似乎是用于保存从S盒中取出的字节,然后将它们与输入进行异或运算。
虽然这段代码类似于RC4算法,但它可能是RC4的变种或定制版本,因为它不包括典型的密钥调度部分,而是使用 a1
作为状态向量。此外,RC4通常需要输入密钥,而代码段中未提及密钥。
要确定确切的加密算法,需要更多上下文和代码的其他部分。如果您能提供更多相关信息,如密钥管理、初始化过程等,将更有可能确认使用的是哪种加密算法。
对于算法,我还是不太会分析。
用IDApython取出值:
1 | # 导入IDApython模块 |
然后rc4在线:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Safety-Blog!