from_the_shadow_plus
一个CS构架的代理。类似ss使用私有加密格式传输数据。选手需要通过逆向分析通信数据包个具体格式。然后编写脚本对pcap流量包中的通信流量进行解密从而获得flag
在通信过程中使用了rsa密钥交换并且只提供给选手client端的binary。不过因为密钥长度只有256位。可以直接通过因式分解求得密钥
解密脚本
#!/bin/bashfile="aaa.pcap"# Get all TCP stream numbersfor stream in `tshark -r $file -T fields -e tcp.stream | sort -n | uniq`do# Extract specified stream from $file and write it to a separate file. tshark -r "$file" -Y "tcp.stream eq $stream" -w "$file.$stream.pcap"done
先是由t.sh将流量包按照tcp流切片。然后逐个解密寻找flag特征即可
babyre
题目给了两个文件 一个babyre binary和一个output.file
对babyre进行逆向分析:
sub_D40 为压缩(或加密)算法,是主要要分析的目标:
其算法逻辑如下:
1、设置编码位置为输入流的开始
2、在滑窗的待编码区查找搜索区中的最大匹配字符串
3、如果找到字符串,输出(偏移值, 匹配长度), 窗口向前滑动“匹配长度”
4、如果没有找到,输出(0, 0, 待编码区的第一个字符),窗口向前滑动一个单位
5、如果待编码区不为空,回到步骤2
通过分析发现这是一个 lz77的压缩算法,按照算法逆向则可以解压。
King of KOF
详细描述解题过程、每一步必须附带截图、解题过程中用到的工具在文档中说明、解题过程中涉及到的利用代码请在解题工具中详细说明。
此文档中只写解题思路,其他内容不在此显示
题目附件是一个拳皇97的安装包,拳皇97的主体没做任何更改,关键部分再安装包安装的过程中,如果使用*unix下的file命令可以看出安装包是用NSIS打包的
搜索可得到多种解包的方式,见链接
https://nsis.sourceforge.io/Can_I_decompile_an_existing_installer#Decompilers
解包得到安装脚本后,后边就是常规的逆向问题了,flag经过tea加密和base64编码后写到了注册表中,逆向nsi脚本和dll中的逻辑就可以得到flag。
Encryptor
详细描述解题过程、每一步必须附带截图、解题过程中用到的工具在文档中说明、解题过程中涉及到的利用代码请在解题工具中详细说明。
此文档中只写解题思路,其他内容不在此显示
encryptor是一个使用了chow实现的whitebox aes加密程序。ida分析可以发现经过了混淆处理但没有strip,其中SBox虽然在使用TBox的加密过程中未被调用到但仍存在于文件中&