摘要: 题目描述 题目给出了一个虚拟机程序,其中 revvm 是解释器程序,chall.bin 是包含虚拟机指令的文件。 执行下面的命令运行虚拟机: ./revvm chall.rbin 结构分析 虚拟机程序结构如下: main(){ code, global = load_program() thread 阅读全文
posted @ 2021-12-20 22:19 Byaidu 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 游戏简介 捉猴啦 3(Ape Escape 3)是一款动作类游戏,发布时间为 2005 年 7 月,游戏厂商为 SCE,代理厂商为 SCEH。其游戏平台为 PlayStation 2。 游戏解包 首先下载游戏文件 Ape Escape 3 (USA).iso,直接解压缩可以得到四个文件: DATA. 阅读全文
posted @ 2021-12-12 04:37 Byaidu 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 简介 在使用 Il2CppDumper 解包 Unity WebGL 程序后可以得到包含 C# 方法信息的 dump.cs 文件。 但是 dump.cs 文件中给出的函数偏移 offset 既不是 wasm 文件中的偏移,也不是 WebAssembly.Table 表项的偏移,这给我们逆向 Unit 阅读全文
posted @ 2021-11-24 02:13 Byaidu 阅读(1157) 评论(2) 推荐(1) 编辑
摘要: 题目简述 题目是使用 Unity 发布的 WebGL 程序,在文本框中输入 flag 后点击下方按钮进行检查。 文件分析 F12 可以找到 WebGL 发布的三个文件: release_2018.data.unityweb 包含程序相关的资源数据 release_2018.wasm.code.uni 阅读全文
posted @ 2021-11-22 18:59 Byaidu 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 题目简介 题目给出程序 showyourflag 以及用该程序加密后的文件 yourflag。 可以通过命令行执行: showyourflag [infile] [outfile] 其中 infile 为输入文件,outfile 为输出文件。 加密分析 字节变换 程序首先对输入文件的内容进行逐字节变 阅读全文
posted @ 2021-10-26 05:50 Byaidu 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 证书校验 @Override // javax.net.ssl.X509TrustManager public void checkServerTrusted(X509Certificate[] arg4, String arg5) { int v1 = 0; try { while (v1 < a 阅读全文
posted @ 2021-10-18 23:02 Byaidu 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 众所周知,知名项目 OpenSSL 是教科书式的屎山,代码耦合程度高达 99%,项目结构和文档都混乱不堪,自从接口封装成 EVP 之后就彻底放弃治疗了,只有命令行还算好用一点。 当然其实也有更好的选择,比如简单强大的 mbedTLS(PolarSSL) 就深得我心,可惜学校课程要求使用 OpenSS 阅读全文
posted @ 2021-10-15 14:22 Byaidu 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 日志分析 通过 EXCEPTION_ACCESS_VIOLATION 可以判断异常类型是非法内存访问。 触发异常的指令地址位于 EIP=A95A3399,指向非法内存区域。 栈帧底部地址位于 EBP=1127F7C4,可以帮助恢复函数调用栈的结构。 Type: EXCEPTION_ACCESS_VI 阅读全文
posted @ 2021-09-29 01:39 Byaidu 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 日志分析 通过 EXCEPTION_ACCESS_VIOLATION 可以判断异常类型是非法内存访问。 触发异常的指令地址位于 EIP=6931A5CC,对应的汇编指令片段如下: mov eax, [esi] push dword ptr [eax+4] call sub_56BCA6A8 栈帧底部 阅读全文
posted @ 2021-09-14 00:51 Byaidu 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 大概是用 Webpack 给 JavaScript 加了混淆和压缩,逆向还原即可。 原脚本 原脚本解密生成中间脚本,再通过 eval 执行。 eval(function(p,a,c,k,e,r){e=function(c){return(c<62?'':e(parseInt(c/62)))+((c= 阅读全文
posted @ 2021-09-07 22:06 Byaidu 阅读(112) 评论(0) 推荐(0) 编辑