Transform
很简单的逻辑分析
payload:
dword_40F040 = [0x09,0x0A,0x0F,0x17,0x07,0x18,0x0C,0x06,0x01,0x10,0x03,0x11,0x20,0x1D,0x0B,0x1E,0x1B,0x16,0x04,0x0D,0x13,0x14,0x15,0x02,0x19,
0x05,0x1F,0x08,0x12,0x1A,0x1C,0x0E,0x00]
b = [0x67,0x79,0x7B,0x7F,0x75,0x2B,0x3C,0x52,0x53,0x79,0x57,0x5E,0x5D,0x42,0x7B,0x2D,0x2A,0x66,0x42,0x7E,0x4C,0x57,0x79,0x41,0x6B,0x7E,0x65,
0x3c,0x5C,0x45,0x6F,0x62,0x4D]
flag = [a for a in range(33)]
for i in range(33):
flag[dword_40F040[i]] = b[i]^dword_40F040[i]
n = ""
for i in range(len(flag)):
n+=chr(flag[i])
print n
有一个点需要注意的是
最后一个值为0
,而不是8
PixelShooter
这是一个安卓逆向的题目
安卓unity游戏的核心逻辑一般位于assets\bin\Data\Managed\Assembly-CSharp.dll
- 方法一,直接用IDA查看
Assembly-CSharp.dll
直接查看字符串,一般位于末尾
- 方法二
用dnSpy反编译apk,先解压apk,然后将Assembly-CSharp.dll
放在dnSpy中
跟进GameOver
函数
Xor
这个题目也没什么难度,只是一些小问题,稍微记录一下
我在对main函数F5的时候,弹出Decompilation failure: call analysis failed
报错信息:对main函数进行F5时报错
找到对应的这一行
双击_isoc99_scanf这个函数 进去之后直接按F5
然后再退出去到main函数 再F5 发现成功反编译成伪码 不会再报错了
出现这个错误的原因就是我们的F5插件不能正确识别这个call的参数