你👱🏻‍这学期要学逆向,期末需要offonline做5道逆向题

那你👱🏻‍得看一下逆向题了

easyre

确实是easy了,F12+shift(可以将程序中所有的字符串列出来)即可拿捏

reverse1

你👱🏻‍照样F12+shift看到了

跟着点进去看源🐴,这个str2沾点不对劲

跟进str2

可以看到一个格式很像flag的,但是直接交其实交不了,再看伪代码处,有个对str2的判断,这里用的是asc码

这里的意思就是把o换成0

也就是flag{hell0_w0rld}

reverse2

你👱🏻‍反编译main函数,这个应该就是主题了吧

再找到貌似是flag的字符串

这里应该就是对{hacking_for_fun}进行变换了

这里很明显能看出来在遍历字符串,并将i和r换为1

所以flag为flag{hack1ng_fo1_fun}

内涵的软件

字符串这里把DBAPP换成flag就行了

新年快乐

这道题首先需要用脱壳工具进行脱壳

脱壳后用F12找到含有flag的字符串得到主函数

这里就是跟HappyNewYear!进行比较

所以flag就是flag{HappyNewYear!}

xor

查壳发现没有

直接反编译查看主函数

进行代码分析发现第九行代码说明flag字符长度为33

输入一个长度为33的字符串,然后字符串里面的每个字母与前面的字母进行异或

逻辑很简单,就是把下一个和之前的一个异或,然后保存

点击”Input your flag:\n”,提取里面的值

选中后按shift+E导出数据

这里应该是ASCII🐴

写个脚本

a= [0x66, 0x0A, 0x6B, 0x0C, 0x77, 0x26,
0x4F, 0x2E, 0x40, 0x11, 0x78, 0x0D,
0x5A, 0x3B, 0x55, 0x11,
0x70, 0x19, 0x46, 0x1F, 0x76, 0x22,
0x4D, 0x23, 0x44, 0x0E, 0x67,
0x06, 0x68, 0x0F, 0x47, 0x32,0x4F]

s=''
s+='f'
for i in range(1,len(a)):
s+=chr(a[i]^a[i-1])
print(s)

拿到flag

helloword

下载apk文件 用apk模式打开 查找字符串即可