BUU[FlareOn4]login
BUU[FlareOn4]login分析
下载题后,是一个.html的后缀,直接用记事本打开
<!DOCTYPE Html /><html> <head> <title>FLARE On 2017</title> </head> <body> <input type="text" name="flag" id="flag" value="Enter the flag" /> <input type="button" id="prompt" value="Click to check the flag" /> <script type="text/javascript"> document.getElementByI ...
BUU[羊城杯 2020]login
BUU[羊城杯 2020]login分析首先下载文件下来发现是一个py编译的exe,需要解包,然后反编译成py文件才能做
于是用cmd弄了一下
PS:把pyinstxtractor.py和6.exe(py文件名)文件放在同个目录下然后打开cmd,进入该目录,输入:python3(这个是你的python地址) pyinstxtractor.py 6.exe 这里我是把pyinstxtractor.py和6.exe都放在我的python地址python3里头了
然后它会生成一个文件夹
然后去里面找到struct和login这两个东西,然后分别放入winhex中去恢复数据,因为在将python文件打包成exe文件的过程中,会抹去pyc文件前面的部分信息,所以在反编译之前需要检查并添加上这部分信息,这部分信息可以通过struct文件获取
windex中打开struct文件后,把struct文件前几个字节插入login开头(插入的个数还是要看解包后的文件是从哪里开始丢失的数据)
这就是丢失部分,然后去补充到login里头,也就是复制粘贴一下
即可,然后将login的后缀改成.pyc
接着用 ...
BUU[安洵杯 2019]crackMe
BUU[安洵杯 2019]crackMe分析首先查壳,无壳32位,放入IDA
先shift+F12找到关键string
这里直接交叉引用它,去找到它
那么新的表为abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/
接着去看一下Handler函数
接着去sub_411172函数看一下
很容易知道v2就是SM4加密的密匙了,然后就这去看一下TopLevelExceptionFilter函数
那么换位之后的Str2为”U1ATIOpkOyWSvGm/YOYFR4!!”
然后看一下sub_41126C函数,确定Str1
发现它是一个base64的加密,但是前面又有一个sub_4110FF函数,点进去看一下
那么新表为”yzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/abcdefghijklmnopqrstuvwx”,然后去看一下sub_411136函数
发现只有Str1=Str2才正确
思路总结1.因为最后Str1==Str2,所以首先是将Str2进行换表的base ...
CFI-CTF 2018 IntroToPE
[CFI-CTF 2018]IntroToPE分析
首先查壳发现是是一个net的文件然后运行一下看一下
这里直接用dnSpy打开,然后根据这个messagebox来,如果要正确的话,那么一定要按Validate,然后去dnSpy中搜索看看
可以看到这里是很典型的base64的加密,直接去解密看看
得到flag{.NetC#1s@w3s0m3}
总结
这是第一次做这种题,用C#写的,以后应该也会遇见吧,要多留意,一般C#的题都用dnSpy来解题
2019红帽杯 xx
[2019红帽杯]xx分析首先查壳,发现是64位无壳的,然后分析
xxtea函数
首先这一部分就像是一个tea加密然后结合题目XX就在是可能是xxtea加密
总的分析
判断输入的字符串的每个字符是否包含在”qwertyuiopasdfghjklzxcvbnm1234567890”中
取输入字符串的前4位字符,即”flag”,扩展为16位,作为xxtea加密的秘钥key
将输入的字符串使用key加密,加密后的字符保存在字符数组v19,共24位字符
打乱v19数组,保存到v20数组中
将24位字符,每3位为一组,每一组都进行异或,得到新的加密字符串
将新的加密字符串与已经存在的字符串比较,相同即正确
脚本import xxtearesult = 'CE BC 40 6B 7C 3A 95 C0 EF 9B 20 20 91 F7 02 35 23 18 02 C8 E7 56 56 FA'.split(" ")res = [int(i,16) for i in result]#小端序for i in range(7,-1,-1): t ...