2.10学习记录
misc
九连环
下载附件后是一张jpg文件,用010查看,发现图片里面有压缩包发现得到的压缩包有密码,用001看一下是真加密还是伪加密
发现是伪加密,用binwalk分离出来,发现一张图片和压缩包,而压缩包是有密码的,就从图片入手
图片没有什么信息,就去查了一下,发现使用steghide破解
破解开就是密码了
解开压缩包的密码里面就是flag
re
guessgame
先打开程序,发现可以交互查一下壳,发现没壳
看了发现是一个64位文件,放进ida看一下
发现主调函数里面没有有用的信息,用shift+F12看一下字符串
结果打开就发现了
reverse1
先查壳发现没壳,是一个64位的exe,用ida看看主调函数
在主调函数中发现将o替换为0,接着用shift+F12看看字符串
发现这个长得像flag,按照主调函数将o换为0试试,发现就是flag
reverse2
拿到附件先查壳发现是一个64位的elf文件,用ida看主调函数
发现这里进行了异或操作,将i和r换为了1,接下来就去找flag字符串,追踪下去就能找到了
完成替换即可得到flag
reverse3
拿到附件先查壳无壳,是个64位文件,用ida看看
感觉像是字符替换,用shift+F12找找看看
直接破案了,没换表的base64,接下来去找密文
顺着追查下去就找到了,用赛博厨师整一下就行
pyre
下载附件发现是一个pyc文件,发现不能直接打开,去搜索了一下需要反编译一下,用在线工具就可以了这串加密代码是用了异或算法和取模计算,逆向过来就是exp了
code = [
"\x1f",
"\x12",
"\x1d",
"(",
"0",
"4",
"\x01",
"\x06",
"\x14",
"4",
",",
"\x1b",
"U",
"?",
"o",
"6",
"*",
":",
"\x01",
"D",
";",
"%",
"\x13",
]
for i in range(len(code)-2,-1,-1):
code[i]=chr(ord(code[i])^ord(code[i+1]))
# print(hex(ord(code[i])))
for i in range(len(code)):
code[i]=chr((ord(code[i])+128-i)%128)
print(code[i],end='')