摘要: DiE 检查,是 Nuitka 单文件模式打包的 python 程序 用 ProcessMonitor 监控程序,发现它会把资源解压到 temp 文件夹 从这些 dll(pyd)的名字来看,crackme_hard.dll 最有可能是我们需要的。 用 ida 打开,从导出表里找到 run_code, 阅读全文
posted @ 2026-03-05 16:06 矛盾空间 阅读(48) 评论(0) 推荐(0)
摘要: upx 解压,得到 CM1.exe 是一个 DialogBoxParam 窗口程序 很容易找到 67 行的 sub_140008720 函数 sub_140008720 中,很多函数都加了会互相抵消的偏移,用来干扰分析。把它们 patch 掉即可 首先根据输入的 password 计算一个 64 位 阅读全文
posted @ 2026-03-05 16:04 矛盾空间 阅读(21) 评论(0) 推荐(0)
摘要: Hyper-V is a well known, well documented virtualisation framework with excellent tooling. Wait, no that's not it. Windows Hypervisor Platform 首先创建虚拟机和 阅读全文
posted @ 2026-03-04 17:45 矛盾空间 阅读(4) 评论(0) 推荐(0)
摘要: 主要有两种反调试方法 第一种在 sub_A01990 中,检查各种标志位 第二种在 sub_A01930,sub_A01950 中,检查执行时间 通过分析可知,main 函数加载了一个 PE 文件,在其中找到导出的 getflag 函数并调用。 解密部分在 sub_A01F00,比较复杂,可以动态调 阅读全文
posted @ 2025-12-13 14:07 矛盾空间 阅读(22) 评论(0) 推荐(0)
摘要: 记录一下如何用 pywin32 加载 exe 的资源。 import win32api import win32con import os import subprocess def load_resource(filename): password = '' hModule = win32api. 阅读全文
posted @ 2025-12-12 21:36 矛盾空间 阅读(18) 评论(0) 推荐(0)
摘要: std::vector<Ty> struct std::vector<Ty> { Ty *_Myfirst; Ty *_Mylast; Ty *_Myend; }; std::string struct std::string { union _String_val { char _Buf[16]; 阅读全文
posted @ 2025-12-03 21:11 矛盾空间 阅读(11) 评论(0) 推荐(0)
摘要: 先用 DIE 检查,是汇编写的 exe 程序 把中间的一大段数据转成数据,是 base64 编码。Shift + E 导出,把换行删掉 明显是 png 图片 stegsolve 查看图片,没有多余的数据。但是在 RGB 的 panel 0 上方明显和其他地方不一致,猜测 LSB 隐写 感觉开头像 D 阅读全文
posted @ 2025-12-02 02:09 矛盾空间 阅读(42) 评论(0) 推荐(0)
摘要: 在 C++ 标准 RTTI(dynamic_cast / typeid)普及之前,MFC就通过 DECLARE_DYNAMIC,IMPLEMENT_DYNAMIC 等宏实现了一套 RTTI。 CRuntimeClass 是核心部分,用于描述每个 class 信息。每个继承 CObject 的 cla 阅读全文
posted @ 2025-12-01 23:48 矛盾空间 阅读(24) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2025-10-30 01:37 矛盾空间 阅读(0) 评论(0) 推荐(0)
摘要: main 分析 main 函数。创建一个新线程,它的参数是主线程的句柄。主线程检查输入是否正确,如果错误执行 if 里面的内容,如果正确执行 sub_1400093B0()。 把字符串串算出来,方便理解程序。顺便把其他函数重命名一下 StartAddress StartAddress 里面前两个函数 阅读全文
posted @ 2025-10-25 14:35 矛盾空间 阅读(53) 评论(0) 推荐(0)