首先反汇编的到C代码
重点应该在
for ( i = 0; i < strlen(s); ++i ) { if ( (i & 1) != 0 ) v3 = 1; else v3 = -1; *(&t + i + 10) = s[i] + v3; } 通过一系列操作将结果写入flag.txt中
再去看看t和s装了什么
s就是要处理的数据
t应该是flag t的第一个数据是53h 也就是S所以连起来
SharifCTF{???}
然后就可以写代码得出flag
知道怎么处理flag以后可以直接在处理完写入flag.txt时候下断点进入动态调试通过分析发现rdx存放着相关数据
相关知识: &是C语言里面的与位运算 变量1 & 变量2 两个变量将 *** 作数对应位进行比对,二者都为1时返回1,否则返回0
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)