摘要:
二进制文件信息获取 首先不废话,先直接上 Detect It Easy 来看看这个二进制文件。 可以知道这是一个没有加壳的 64 位 Linux 程序。 静态分析 之后拖入 IDA 进行静态分析,发现没有去除符号,直接就找到了 main 函数,然后对这个函数进行 F5 可以看到 RxEncode 这 阅读全文
摘要:
我们可以用 man 命令看一下这个 nc 是何方神圣 在终端中输入 man nc 就可以看到 我们可以看到 nc 命令就是一个 TCP/UDP 连接工具,可以与别的计算机建立 TCP/UDP 连接并传输数据。作用有点类似于 postman,只不过 postman 是 HTTP 协议的数据传输测试工具 阅读全文
摘要:
感谢 https://github.com/jakespringer/angr_ctf/blob/master/SymbolicExecution.pptx 这篇 PPT 和 https://www.bilibili.com/video/BV167411o7WK?t=1043 这个视频,本文章的出现 阅读全文
摘要:
本文章内容大部分来自于对《0day安全:软件漏洞分析技术(第二版)》的整理 PE 文件概述 PE 文件是 Windows 可执行文件的格式,PE 文件按照一定的规定,将代码,数据(程序定义的变量和常量),程序资源(图片等)按照一定的格式存储在一个文件中,方便系统运行程序的时候将代码加载到内存中。如果 阅读全文
摘要:
【自动发现程序实例】 一般来说,在执行flask run命令运行程序前,我们需要提供程序实例所在模块的位置 。 Flask会自动探测程序实例,自动探测存在下面这些规则: 从当前目录寻找app.py和wsgi.py模块,并从中寻找名为app或application的程序实例 从环境变量FLASK_AP 阅读全文
摘要:
作者: 阮一峰 日期: 2007年11月 8日 原网址: http://www.ruanyifeng.com/blog/2007/11/mvc.html 1. 如何设计一个程序的结构,这是一门专门的学问,叫做"架构模式"(architectural pattern),属于编程的方法论。 MVC模式就 阅读全文
摘要:
逆向题目中,有一些题目会调用一些加密或者编码算法,如果自己一行一行去读,又耗时又耗力。最近在读《从0到1 CTFer成长之路》这本书,这本书中归纳了部分逆向题目中常见的算法特征。如果能找到这些算法特征,那么判断算法就能秒解了。 本博客不定期慢更 特征值识别 在一些算法中,往往不可避免要用到部分常数。 阅读全文
摘要:
这个题目是我目前为止做过的最难的逆向题目了,相当的恶心。不过适应了也还好。不说了,拿到程序后丢进ida,发现是一个 32 位程序,先进WinMain函数,然后F5反汇编。最终我们拿到了这样的一个程序: int __stdcall WinMain(HINSTANCE hInstance, HINSTA 阅读全文
摘要:
这次题解我们来点不一样的,一般我们逆向都用ida,但是之前我找了一个工具 ghidra,这次我打算用这个工具来做这个题目。 先来张截图感受一下吧: 首先不废话,将程序拖进工具。选中main函数,可以看到该工具自动生成的main函数伪代码。 本题解中的部分伪代码变量被我修改过,方便阅读 void ma 阅读全文
摘要:
这个题目本来不应该会很难的,主要是这个题目用 ida 转伪代码的时候,伪代码过于奇葩,导致题目卡在了最后一步。 不说了上题解。 我们首先将程序丢进ida,然后找到main函数后按住F5翻译成伪代码。然后得到了这个代码。 为了方便阅读,部分代码的变量被我重新命名过 void __fastcall __ 阅读全文