题目:
or的敌人,and 有个兄弟叫or,or有个敌人叫xor,那么你能帮助or战胜他的敌人xor吗,xor的奥秘就在附件中,开始战斗吧! 注意:得到的 flag 请包上 flag{} 提交
用IDA打开,并进入到主函数中
这里科普一下小知识:假如
- x = 212 转化为二进制为 :11010100
- y = 155 转化为二进制为:10011011
- z 等于 x 和 y 异或的结果:x ^ y = 01001111
则他们的关系为:
- z = x ^ y
- x = z ^ y
- y = z ^ x
int __cdecl main(int argc, const char **argv, const char **envp)
{
char *v3; // rsi
int result; // eax
signed int i; // [rsp+2Ch] [rbp-124h]
char v6[264]; // [rsp+40h] [rbp-110h]
__int64 v7; // [rsp+148h] [rbp-8h]
memset(v6, 0, 0x100uLL);
v3 = (char *)256;
printf("Input your flag:\n", 0LL);
get_line(v6, 256LL);
if ( strlen(v6) !=
"本文介绍了如何使用逆向工程解决一个基于xor操作的解密挑战。在C语言的代码示例中,可以看到一个检查flag正确性的主函数,涉及字符串异或操作。关键信息存储在一个全局变量global中,通过Python脚本逆向异或过程,成功解密得到了flag{QianQiuWanDai_YiTongJiangHu}
最低0.47元/天 解锁文章
752

被折叠的 条评论
为什么被折叠?



