Post on: 2024-3-17Last edited: 2024-6-3Words 00 min

type
status
date
slug
summary
tags
category
icon
password

RC4加密

解题大致过程

题目大致如下:
A为输入流(flag)解密后得到B.
方法1
搓脚本去逆B得到A,该方法较为直接。
方法2
将B的十六进制(hax值)paste到A中,通过动态调试来实现B==> A

详细操作过程

以下为一道例题:
题中我们已知key,和cipher[32]的数组
题中的关键代码为
在关键函数中出了input其他参数皆为已知量
以下为关键函数的内部
i,j,k的值和input同样无关,仅仅是通过已知量S来进行的,同样可以将i,j看作是已知量,则唯一用到input的是以下的这串异或操作
其中将我们输入的input看作明文,密文ciphertext则是input^k^S得来的。这种简单的异或操作就是RC4加密,我们只需将加密得到的ciphertext赋给input用INPUT表示的话,那么有:
所以我们只需将ciphertext的值赋给input,再次得到的密文就是最开始输入的input即为flag

操作过程

得到ciphertext的十六进制的值
通过同态调试停住(停在RC4加密所对应的函数那),去看cipher[i]内存所对应的值
得ciphertext = "37276567FD7F00006400690073006B0056006F006C0075006D00650034005C00"
调试
随意输入32位 将ciphertext的值paste到input上
然后F8步过这个函数 然后得到的密文ciphertext位input得到flag

polar rev2024春季赛

🗒️polar rev2024春季赛

polar rev2024春季赛


Buuctf 8~19 20~24

🗒️Buuctf 8~19 20~24

Buuctf 8~19 20~24