上一页 1 2 3 4 5 6 7 8 ··· 18 下一页
摘要: 这里我用的是vs2019开发的 首先创建一个mfc项目 名字自己取 选择基于对话框,在静态中使用mfc 直接点完成就好了,这个时候我们创建3个列表一个显示头部功能栏 一个是显示服务器的 一个显示消息日志列表 添加size消息处理 在主窗体改变大小时 相应改变list 大小 void CRedmanC 阅读全文
posted @ 2021-08-16 16:52 紅人 阅读(277) 评论(0) 推荐(1) 编辑
摘要: 首先来看我们需要用到的技术 1.Windows控件使用 2.多线程,线程同步,互斥等 3.Socket通信 4.Winddos下远程注入技术 dll注入 5.hook 6.Windows服务程序的开发 7.视频图像算法 8.设计模式 大概是这么多初期用的技术 ,后面的技术就是 1.驱动 2.免杀 暂 阅读全文
posted @ 2021-08-15 15:11 紅人 阅读(260) 评论(0) 推荐(1) 编辑
摘要: 网上下载的小游戏,试试看能不能让飞机自己躲子弹 看pe结构是一个固定基址不是变址这样就不用算偏移了 先是更具屏幕显示字符串找到打印函数 的位置 一步步向上看他的逻辑处理 堆栈返回地址 猜测用了bitblt 函数 找到关键判断 接着找子弹的地址 关键跳上面一个函数就是判断是否在子弹范围 里面肯定有子弹 阅读全文
posted @ 2021-08-10 22:17 紅人 阅读(282) 评论(0) 推荐(0) 编辑
摘要: #include <windows.h> int main() { //绝对路径 char csPath[] = "C:\\Users\\Lenovo\\Desktop\\ConsoleApplication3\\Debug\\config.ini"; char csBuffer[256]; //创 阅读全文
posted @ 2021-08-09 14:22 紅人 阅读(568) 评论(0) 推荐(0) 编辑
摘要: 首先构建一个正常的dll 创建动态链接库 // dllmain.cpp : 定义 DLL 应用程序的入口点。 #include "pch.h" #include <stdio.h> BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for 阅读全文
posted @ 2021-08-08 15:57 紅人 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 上一篇 用的命令 cl /c xx.cpp //编译成obj link /dll /out:mou1.dll x.obj //链接生成dll 文件 cpp 的导入可以直接声明 导出函数 extern "C" __declspec(dllexport) void mou1() { puts("mou1 阅读全文
posted @ 2021-08-08 03:00 紅人 阅读(153) 评论(0) 推荐(0) 编辑
摘要: vs 可以直接编写创建 可以以 一个函数一个cpp 文件 来创建lib 库 类似 #include <stdio.h> extern "C" void mou1() { puts("mou1"); } 也可以通过 手工编译 cd 到当前文件夹 cl /c mou.cpp //编译 obj 文件lib 阅读全文
posted @ 2021-08-08 00:39 紅人 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 初始化窗体 函数 int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow) { } 第一个参数是 装载基地址 阅读全文
posted @ 2021-08-04 23:31 紅人 阅读(214) 评论(0) 推荐(0) 编辑
摘要: typedef struct _IMAGE_TLS_DIRECTORY32 { DWORD StartAddressOfRawData; DWORD EndAddressOfRawData; DWORD AddressOfIndex; // PDWORD DWORD AddressOfCallBac 阅读全文
posted @ 2021-08-01 15:50 紅人 阅读(147) 评论(0) 推荐(1) 编辑
摘要: typedef struct _IMAGE_DELAYLOAD_DESCRIPTOR { union { DWORD AllAttributes; struct { DWORD RvaBased : 1; // Delay load version 2 DWORD ReservedAttribute 阅读全文
posted @ 2021-07-31 23:02 紅人 阅读(259) 评论(0) 推荐(1) 编辑
摘要: 0x01IMAGE_RESOURCE_DIRECTORY 资源表分布图 查看一个exe 资源表 4000位置 资源目录头的结构体 typedef struct _IMAGE_RESOURCE_DIRECTORY { DWORD Characteristics; DWORD TimeDateStamp 阅读全文
posted @ 2021-07-31 19:20 紅人 阅读(135) 评论(0) 推荐(0) 编辑
摘要: //@[comment("MVI_tracked")] typedef struct _IMAGE_BASE_RELOCATION { DWORD VirtualAddress; DWORD SizeOfBlock; // WORD TypeOffset[1]; } IMAGE_BASE_RELOC 阅读全文
posted @ 2021-07-31 14:54 紅人 阅读(65) 评论(0) 推荐(0) 编辑
摘要: _IMAGE_EXPORT_DIRECTORY 这个结构体 typedef struct _IMAGE_EXPORT_DIRECTORY { DWORD Characteristics; DWORD TimeDateStamp; WORD MajorVersion; WORD MinorVersio 阅读全文
posted @ 2021-07-31 01:30 紅人 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 导入表在就是在.rdate 节表当然不绝对 导入表在 数据目录 第2个 导入函数在第13个 可以看到rdata 表 起始2000位置 导入表在2538 iat 在2000 这里的rva 地址都要转换为foa 地址 就是 当前rva-初始rva+foa偏移 就是文件物理偏移位置 通过数据找到导入表位置 阅读全文
posted @ 2021-07-31 00:26 紅人 阅读(117) 评论(0) 推荐(1) 编辑
摘要: 0x01IMAGE_DOS_HEADER 首先是dos头 typedef struct _IMAGE_DOS_HEADER { // DOS .EXE header WORD e_magic; // Magic number WORD e_cblp; // Bytes on last page of 阅读全文
posted @ 2021-07-30 19:33 紅人 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 当我们在od 调试时 看到虚拟rva 如何转换到对应的foa地址 00477a40 就是他的va va=rva+入口地址 先看一下内存地址 可以看到此代码地址 位于 upx1 块内 在用pe工具查看 他的文件偏移地址 foa 可以看到是 400h 计算公式就是 upx1(rva)-当前你要找到rva 阅读全文
posted @ 2021-07-30 18:56 紅人 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 首先可以利用一些工具来查看他的编程语言。 0x01Delphi 可以直接查找特征二进制字符串 ??是任意字节的意思 这个特征码bc++同样适用 740E8BD38B83????????FF93???????? 找到的是je 在下面的call 下断点 往复一直下一个都下断点 可以看到成功断下。 也可以 阅读全文
posted @ 2021-07-27 18:38 紅人 阅读(574) 评论(0) 推荐(0) 编辑
摘要: 看一个简单示例 看下401301地址 同一个地址 壳还未释放时候 释放后得样子 这里可以加一个初始化api断点 bp GetStartupInfoA 这个重新加载再看 你下断点也不会被激活 但是在初始化断点后就可以看到 bp GetStartupInfoA 拦截下后 就是壳释放后 在下程序断点就不会 阅读全文
posted @ 2021-07-26 18:53 紅人 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 当遇见地址之后大概率 会有文件操作 这里根据最近一个函数 只是要调用的函数进行参数初始化 对文件需要的参数进行初始化 这里的80 就是 80000000 文件的读取属性 #define GENERIC_READ (0x80000000L) 可以看到读取文件以ascii 形式 HANDLE Creat 阅读全文
posted @ 2021-07-21 20:12 紅人 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 字符串对比的代码反汇编可以看到这个指令 repe是一个串操作前缀,它重复串操作指令,每重复一次ECX的值就减一 或者ZF为0时停止。 通过zf位判断2个字符串是否相等 为0时表示不相等 1为相等 阅读全文
posted @ 2021-07-20 19:59 紅人 阅读(482) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 18 下一页