1、打开资源文件得到一个daolnwod.zip,文件名字是download的逆转。
2、继续打开daolnwod.zip,发现格式错误。
3、用winhex打开该文件,发现该文件的文件头是000000开头
4、联系到文件名daolnwod是download,联想到该文件可能需要进行二进制逆转,所以找到文件末端
5、文件末端由后往前是504b0304,是压缩文件的文件头。
6、这里自己写了一个java脚本,进行逆转,其中source对应的路径是要逆转的文件的路径,dest的路径是逆转成功后写入的路径。
public static void main(String[] args) throws IOException { String source = "G:\\daolnwod.zip"; String dest = "G:\\dest.zip"; InputStream inputStream=new FileInputStream(source); OutputStream outputStream=new FileOutputStream(dest); int byteRead; ArrayList<Integer> inArr = new ArrayList<>(); while((byteRead=inputStream.read()) != -1){ inArr.add(byteRead); } for (int i = 0; i <inArr.size() ; i++) { outputStream.write(inArr.get(inArr.size()-i-1)); } inputStream.close(); outputStream.close(); return; }
7、打开逆转文件dest.zip得到flag
WMCTF{Happy_birthd4y_XMAN><}