SYCTF2023-Reverse官方题解
SYCTF2023-Reverse官方题解
01
程序逻辑:将flag异或“随机数”后得到正确flag,再直接与输入比较。
只要srand的参数确定了,一系列rand()返回值都能确定。其中flag原值可通过IDA Pro的LazyIDA一键导出(需要另行安装)。
exp:
1 |
|
ezGo
Go语言代码阅读题,加密逻辑:flag先异或0x9C,再经过换表Base64后转十六进制。
异或解密:
1 | enc=[0xf7,0xce,0xde,0xaf,0xf0,0xa8,0xec,0xc4,0xf4,0xa8,0xf3,0xce,0xff,0xe6,0xf3,0xd2,0xf9,0xaf,0xff,0xd6,0xfb,0xcc,0xeb,0xc8,0xfb,0xe5,0xcd,0xcd,0xf8,0xe6,0xef,0xd3,0xfe,0xf6,0xff,0xcc,0xfb,0xcd,0xa8,0xd6,0xf8,0xcc,0xf7,0xd3,0xf8,0xcd,0xff,0xcc,0xf4,0xaf,0xf8,0xaa,0xf8,0xdd,0xf7,0xce,0xea,0xfb,0xa1,0xa1] |
CyberChef脚本
1 | From_Hex('Auto') |
CrackSYapk
用jadx打开,发现为AES加密,其中密钥为“SYCTF2023yyds666”,密文在flag数组中。解密exp:
1 | import java.security.*; |
也可以用赛博厨子做:
1 | Input:04e0c74c92896018e33ca075a213516893d4da3b473e0094599fd4410af7dde880373c6dd9eeb8806ecd00bc1b1c3576 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 The Blog of Monoceros406!