v8=[83,116,113,96,112,99,125,78,87,103,57,110,104,82,102,106,113,32,123,125,115,104] for i in range(0,22): print(chr(i^v8[i]))
#include <iostream> int main() { char str1[] = "stq`pc}NWg9nhRfjq {}sh"; for ( int i = 0; i < 22; ++i) { str1[i] = i ^ str1[i]; } printf("%s&
我用的是radare2, main() 里面是16进制的,需要转一次10进制,其他都一样。
wp真水
#!/usr/bin/python3 a=[83,116,113,96,112,99,125,78,87,103,57,110,104,82,102,106,113,32,123,125,115,104] b='' for i in range(len(a)): b += chr(a[i]^i) print (b)
a=[xxxxx] ■ for i in range(22): ■ print chr(int(a[i])^i)
直接看代码,a = [83, 116, 113, 96, 112, 99, 125, 78, 87, 103, 57, 110, 104, 82, 102, 106, 113, 32, 123, 125, 115, 104] w = [] b= 0 while b < 22: for i in range(128): if b ^ i == a[b]:
使用IDA查看伪代码,使用ASCII值与i进行转换flag
#include <stdio.h> #include <stdlib.h> int main() { int a[22] = {83, 116, 113, 96, 112,
v8 = [83, 116, 113, 96, 112, 99, 125, 78, 87, 103, 57, 110, 104, 82, 102, 106, 113, 32, 123, 125, 115, 104] correct_string = ''.join(chr(v8[i] ^ i) for i in range(len(v8))) print(correct_string)