随笔分类 - 逆向
逆向知识&笔记
摘要:逆向 | linux c父子进程通信模板 #include <stdio.h> #include <sys/types.h> #include <sys/wait.h> #include <unistd.h> #include <stdlib.h> #include <errno.h> int ma
阅读全文
摘要:逆向 | 双进程保护模板 继续补充书中的代码: #include <stdio.h> #include <Windows.h> #define _PEB void int FatherProcessMain(); int ChildProcessMain(); // 提前声明函数 int main(
阅读全文
摘要:逆向 | 导入表注入代码示例 还是在编写书中的实验代码,冗余部分比较多可以优化,实验对象是32位pe文件。 // IID_Loader.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <stdio.h> #include <Windows.h> #i
阅读全文
摘要:逆向 | PE 新增节 还是给自己的书写代码,这里顺便存一份: 操作的样本是32位的。 #include <stdio.h> #include <Windows.h> #include <string.h> VOID hex_print(UCHAR* p, DWORD size) { DWORD i
阅读全文
摘要:逆向实战 | 手撕咚咚考勤定位打卡 傻逼软件,不说废话直接开始。 安卓定位归根道理如果要获取经纬度跑不出两个函数: 我干的事情很简单,直接一手硬编码写死(自己去地图软件找要定位的经纬度,经纬度都要改掉),并且从理论上说这个方法适用于大多数软件的定位功能: 正常获取: patch(double写IEE
阅读全文
摘要:逆向 | 检查系统强制签名检查是否开启 存一份代码: #include <stdio.h> #include <Windows.h> #include <winternl.h> //#include <Ntstatus.h> #pragma comment(lib,"ntdll.lib") int
阅读全文
摘要:逆向 | 查窗口名代码 存一份,有时候窗口名FindWindow找不到可能是少了空格之类的 #include <iostream> #include <Windows.h> using namespace std; BOOL CALLBACK EnumChildProc( HWND hwnd, LP
阅读全文
摘要:逆向 | Win7扫雷x64版本内存雷区读取 继续写书,这是我为书中实验编写的测试代码。 #include <windows.h> #include <stdio.h> #include <tlhelp32.h> #include <string.h> int main() { // 获取pid H
阅读全文
摘要:逆向 | 物理机加载驱动的坑 驱动在虚拟机测试好以后准备直接上物理机用,然后发现可以注册但是不能启动,具体表现为StartService error 577,就是说签名不合格,这签名验证的时候wdk测试签名是过不了的。所以要关掉强制签名验证,通过一次性的方法:设置->系统恢复高级选项重启,就可以了,
阅读全文
摘要:逆向 | 驱动挂靠进程直接读内存 参考:https://cloud.tencent.com/developer/article/2358904 https://github.com/Whitebird0/driver_read_and_write/blob/main/04-读写内存/ReadMemo
阅读全文
摘要:逆向 | 驱动IRP通信模板 踩了很多坑,比如说IoCreateDevice以后要删除,符号链接也要在卸载的时候删除啥的。 反正存个模板在这儿下次就能套了: #include <ntddk.h> #include <stdio.h> #include <stdlib.h> // 0-2047是保留的
阅读全文
摘要:逆向 | dll注入挂键盘钩子 有的对线程有要求的调用可以挂键盘钩子,之前没存档,这次重写一遍: // injecteddll.cpp : Defines the entry point for the DLL application. // #include "stdafx.h" #include
阅读全文
摘要:逆向 | 在VS x64 WDK环境下使用内联汇编 找到一个解决方案,但是这个是函数调用,单独创建.asm解决的,凑合能用: https://rayanfam.com/topics/inline-assembly-in-x64/
阅读全文
摘要:re | win11 + windbg接收不到内核调试DbgPrint解决 网上都是改注册表或者用工具,这不是纯脱裤子放屁吗?怎么可能不让你接收到呢? 还有个CSDN的修改注册表还抄的别人的,真可笑。 人微软都说了怎么弄了:https://learn.microsoft.com/zh-cn/wind
阅读全文
摘要:re | 植物大战僵尸年度版gdi僵尸位置画框 最近写的东西,随便练练手,绘制的部分上一个博客中有精简版本。 程序使用的是僵尸结构体线性数组,取僵尸的部分写的非常优雅,感兴趣的可以去逆一下看看。 效果: 代码如下: #include <Windows.h> WCHAR szTitle[] = L"m
阅读全文
摘要:re | win32 gdi透明窗口中画框 鼠标穿透 使用vs2022编译的,便于游戏辅助的画框mzbox项目。 #include <Windows.h> WCHAR szTitle[] = L"mzbox"; WCHAR szWindowClass[] = L"mzclazz"; HINSTANC
阅读全文
摘要:re | 通过C语言编写shellcode(vc6) 接上一篇博客:https://www.cnblogs.com/Mz1-rc/p/17923224.html 对上文中代码进行修改,不使用全局字符串,不使用外部函数调用,关闭/GZ编译选项(栈检查): #include <stdio.h> #inc
阅读全文
摘要:re | 通过PEB遍历进程模块&手动查找导出表调用函数 最近在设计实验,重新写一些代码存一下: 使用vc6编译通过。 比较好的参考文章:https://www.cnblogs.com/bokernb/p/6404795.html #include <stdio.h> #include <windo
阅读全文
摘要:# 逆向 | 简单调试器进程检测、虚拟机进程检测、启动路径检测、计算机名检测 写在自己书里的代码,丢一份到blog。 简单调试器检测: ```cpp #include #include // 定义枚举值 const int ProcessDebugPort = 0x7; const int Proc
阅读全文
摘要:逆向 | frida hook local device的spawn启动 网上没资料,翻了一下frida源代码,感觉这样写比较好。 代码: import frida import sys pid = frida.spawn("hello.exe") frida.resume(pid) # 注意res
阅读全文