easyre-reverse1-reverse2-内涵的软件-新年快乐-[BJDCTF 2nd]guessgame-helloword-xor

easyre

64位
ida打开 shift+F12看字符串

flag{this_Is_a_EaSyRe}

reverse1

64位
ida打开 看字符串
在这里插入图片描述
双击过去
在这里插入图片描述
ctrl+x查看交叉引用
在这里插入图片描述
F5查看伪代码(ASCII码转换按R键)
在这里插入图片描述
在这里插入图片描述
可知,将{hello_world}中的o换成0即可

flag{hell0_w0rld}

reverse2

在这里插入图片描述
在这里插入图片描述
flag{hack1ng_fo1_fun}

内涵的软件

32位
在这里插入图片描述
flag{49d3c93df25caad81232130f3d2ebfad}

注:建议先运行一下看看有什么,针对运行出的文字找,汉字可以看Hex View窗口的

新年快乐

在这里插入图片描述
UPX壳,可手动,可用脱壳机
32位
脱完壳拖进ida
在这里插入图片描述
flag{HappyNewYear!}

[BJDCTF 2nd]guessgame

在这里插入图片描述

flag{S1mple_ReV3r5e_W1th_0D_0r_IDA}

helloword

在这里插入图片描述
安卓逆向,模拟器打开,出现此界面
使用Android Killer
在这里插入图片描述
flag{7631a988259a00816deda84afb29430a}

xor

在这里插入图片描述
异或,再异或回去就好了
看一下global
在这里插入图片描述
shift+E可以导出数据
在这里插入图片描述

str1 = ['f', 0x0A, 'k', 0x0C, 'w', '&', 'O', '.', '@', 0x11, 'x', 0x0D, 'Z', ';', 'U', 0x11, 'p', 0x19, 'F', 0x1F, 'v',
        '"', 'M', '#', 'D', 0x0E, 'g', 6, 'h', 0x0F, 'G', '2', 'O']

x = 'f'

for i in range(1, len(str1)):
    if (isinstance(str1[i], str)):
        if (isinstance(str1[i - 1], str)):
            x += chr(ord(str1[i]) ^ ord(str1[i - 1]))
        else:
            x += chr(ord(str1[i]) ^ str1[i - 1])
    else:
        x += chr(str1[i] ^ ord(str1[i - 1]))

print(x)

flag{QianQiuWanDai_YiTongJiangHu}

猜你喜欢

转载自blog.csdn.net/AlienEowynWan/article/details/113759618