mrctf-wp
re pwn 题目贼棒,出题师傅们tql!
其他题目都不会,猜的
比赛的id: 1ing23 -
文章目录
re
似乎对于动调考察比较多,
ida远程动调其实挺香,go的题目是按看雪夜影师傅的文章的方法找到main函数在汇编级调试,注意参数传递啥的,
Transform
就一个异或和换位,ida-python导出数据就可,这个题还比较简单
cipher = [103, 121, 123, 127, 117, 43, 60, 82, 83, 121, 87, 94, 93, 66, 123, 45, 42, 102, 66, 126, 76, 87, 121, 65, 107, 126, 101, 60, 92, 69, 111, 98, 77]
data = [9L, 10L, 15L, 23L, 7L, 24L, 12L, 6L, 1L, 16L, 3L, 17L, 32L, 29L, 11L, 30L, 27L, 22L, 4L, 13L, 19L, 20L, 21L, 2L, 25L, 5L, 31L, 8L, 18L, 26L, 28L, 14L, 0L]
for i in range(33):
cipher[i] ^= data[i]
flag = [0] * 33
for i in range(33):
flag[data[i]] = cipher[i]
print(''.join(map(chr, flag)))
PixelShooter
搜索字符串’flag’可以找到,其实在apk解压后PixelShooter/assets/bin/Data/Managed目录下面的dll文件里,是Assembly-CSharp.dll,直接明文,或者直接打游戏搞出来应该也可。(这个dll是个.net文件,用dnSpy)
lol
main函数在: .text:000000000049A2D0
这个还是比较顶,后面是做了一个lua解释器么,其实动调,会看到一堆字符串处理成了指令一样的东西,大概可以有点感觉了,直接对着处理就行了。
arr = [83,80,73,80,76,125,61,96,107,85,62,63,121,122,101,33,123,82,101,114,54,100,101,97,85,111,39,97]
s = ''
for i in range(len(arr)):
if i%2 ==0:
s += chr(arr[i] - 6)
else :
s += chr(arr[i] ^ (i + 1))
print(s)
hello_world_go
main 函数在: .text:000000000049A2D0
直接去调试找到了main 函数,然后后面是明文flag吧,
可以看到一个flag长度,然后后面的check 函数参数中是明文flag
在.text:000000000049A428
的check函数调用位置&#x