随笔分类 -  逆向工程

Inline Hook
摘要:Inline Hook IATHook的缺点:不在IAT表的函数没办法实现hook Inline Hook(内联HOOK) 让正常程序执行的流程跳转到我们写好的代码中,执行完后再回到原始地址 硬编码 在计算机程序或文本编辑中,硬编码是指将可变变量用一个固定值来代替的方法。是用来给计算机看的 JMP的 阅读全文
posted @ 2021-03-09 16:20 Sna1lGo 阅读(233) 评论(0) 推荐(0) 编辑
IAT HOOK
摘要:IAT HOOK 首先IAT(Import Address Table)是一个表,叫导入地址表表,也是就是一个存放导入函数地址的表,dll文件中需要使用的函数地址都会存放到这个表里面,PE文件在硬盘中存储的时候,也就是在没有加载到内存的时候,这个表和INT表的内容一样都是存放的一个需要用到的函数的名 阅读全文
posted @ 2021-03-08 07:04 Sna1lGo 阅读(268) 评论(0) 推荐(0) 编辑
消息HOOK
摘要:消息HOOK Windows操作系统是事件驱动的。事件被包装了消息发送给窗口,比如点击菜单,按钮,移动窗口等等 消息处理过程 如: 1 按下键盘时,会产生一个键盘按下的消息,这个消息首先加入系统消息队列 2 操作系统从系统消息队列里面分发消息给具体的程序的消息队列 3 程序自身通过GetMessag 阅读全文
posted @ 2021-03-07 13:28 Sna1lGo 阅读(147) 评论(0) 推荐(0) 编辑
DLL注入
摘要:DLL注入 将一个不属于某进程的DLL文件加载到该进程当中,称之为DLL注入 DLL初衷是给第三方的应用程序进行一个功能的扩展 DLL注入方式 远程线程注入 给进程创建一个远程线程来处理 远程线程注入相关API OpenProcess打开远程进程 VirtualAllocEx 在远程进程中申请内存空 阅读全文
posted @ 2021-03-03 12:31 Sna1lGo 阅读(342) 评论(0) 推荐(0) 编辑
Windows-内存管理总结
摘要: 阅读全文
posted @ 2021-03-03 11:13 Sna1lGo 阅读(72) 评论(0) 推荐(0) 编辑
PE文件解析-- 总结
摘要: 阅读全文
posted @ 2021-03-03 10:31 Sna1lGo 阅读(139) 评论(0) 推荐(0) 编辑
文件映射-----共享内存限制多开
摘要:共享内存限制多开 在内存中申请一个空间来表示的共享的,然后后面的进程都映射到这个内存就好了。 代码实现 首先,程序先找到对应名字的内核mapping对象,如果没有就说明需要创建一个就调用CreateMapping,如果有就就用这个Mapping,然后再映射,映射后判断是否大于3,如果没有就继续,有就 阅读全文
posted @ 2021-03-03 01:30 Sna1lGo 阅读(251) 评论(0) 推荐(0) 编辑
内存管理-文件映射
摘要:文件映射 文件映射的概念: 文件映射(Mapping)是一种将文件内容映射到进程虚拟内存的技术 映射成功的文件可以用视图,来引用这段内存,从而达到操作位于此段内存中的文件的目的 文件映射最大的一个特点:可以在不同的进程间共享数据(跨进程) 文件映射和正常操作文件的区别 正常操作文件 CreateFi 阅读全文
posted @ 2021-03-03 01:07 Sna1lGo 阅读(343) 评论(0) 推荐(0) 编辑
内存管理-虚拟内存
摘要:虚拟内存 每个进程都有4GB的虚拟内存运行空间 内存分页的概念: 操作系统管理内存是将内存分成一页一页来管理,每一页的大小是4K,也就是0x1000,4G的内存共有1M页 使用了分页机制之后,4G的地址空间被分成了固定大小的页,每一页或者被映射到物理内存,或者被映射到硬盘上的交换文件中,或者没有映射 阅读全文
posted @ 2021-03-03 00:34 Sna1lGo 阅读(214) 评论(0) 推荐(0) 编辑
内存管理-堆
摘要:内存管理-堆 windows32位下,每个进程都有自己独立的4G内存空间,高2G是操作系统内核使用,低2G是供用户使用。 每个进程中使用的都是虚拟地址,虚拟机地址到物理地址的转换由操作系统完成,所以我们无法在自己的进程当中访问其他进程的内存。 对于不同的进程Windows尽量保证同一份数据,在物理内 阅读全文
posted @ 2021-03-02 19:49 Sna1lGo 阅读(117) 评论(0) 推荐(0) 编辑
X64程序逆向分析
摘要:X64程序逆向分析 x64指令集 x64位程序使用的是x64指令集,64指令集有AMD64,EM64T,IA-64三种。 AMD64是最早推出,intel和惠普联合推出了IA-64但是没有用户起来 Intel直接拷贝AMD的指令集推出了IA-32E后改名为EM64T,也就是intel6。统称为x64 阅读全文
posted @ 2021-02-08 18:13 Sna1lGo 阅读(475) 评论(0) 推荐(0) 编辑
逆向工程-实战第二个程序
摘要:逆向工程-实战第二个程序 下载地址:https://download.csdn.net/download/weixin_43916597/15094003 找到关键代码的技巧 1 通过字符串(不管是ascci还是unicode) 2 通过锁定API 在ollydbg中使用Crtl+G可以给Windo 阅读全文
posted @ 2021-02-06 00:40 Sna1lGo 阅读(93) 评论(0) 推荐(0) 编辑
逆向工程-实战第一个程序
摘要:逆向工程-实战第一个程序 下载地址:https://download.csdn.net/download/weixin_43916597/15093466 分析步骤 1 运行程序,观察程序是什么样子 2 明确自己的目的 3 找到关键代码的位置进行处理 首先运行这个简单的Crack1程序 应该就是一个 阅读全文
posted @ 2021-02-06 00:35 Sna1lGo 阅读(123) 评论(0) 推荐(0) 编辑
初步利用CE分析游戏人物结构
摘要:初步利用CE分析游戏人物结构 工具 CE 6.8.1 游戏:口袋西游 注册使用账户 利用CE分析 这里我猜测,这个角色和各种模型肯定是用面向对象的思想来处理的,所以这里我先利用筛选的思想找到了血量的地址,虽然没有找动态地址,但是这里没关系 我在这里修改了这个内存的值后很明显的可以看到变化所以我这里的 阅读全文
posted @ 2021-01-09 20:58 Sna1lGo 阅读(822) 评论(0) 推荐(0) 编辑
卸载dll
摘要:卸载dll 在注入dll后,类似于火绒剑这种安全软件,肯定会查到注入,所以这里肯定要卸载dll来防止被发现 自加自卸载 对于自己的程序自己添加,自己卸载dll还是比较轻松,只需要一个FreeLibrary的API就好了下面直接上源代码 #include"vs_plugin_charu.h"#incl 阅读全文
posted @ 2021-01-09 01:44 Sna1lGo 阅读(605) 评论(0) 推荐(0) 编辑
windows-内存地址和偏移
摘要:windows-内存地址和偏移 工具 植大战僵尸经典版 下载地址:https://download.csdn.net/download/weixin_43916597/14040707 CE 6.8.1 下载地址:https://download.csdn.net/download/weixin_4 阅读全文
posted @ 2021-01-08 01:11 Sna1lGo 阅读(2495) 评论(0) 推荐(0) 编辑
DLL远线程注入-C/C++
摘要:DLL远线程注入 远程线程创建和内存自由分配 远线程注入技术: 强制创建一个目标进程的线程:将我们的外挂木马DLL加载进去 加载 LoadLibrary api函数来处理 强制创建一个目标进程的线程 CreateRemoteThread HANDLE CreateRemoteThread( HAND 阅读全文
posted @ 2020-12-14 15:39 Sna1lGo 阅读(262) 评论(0) 推荐(0) 编辑
应用程序和dll通信-易语言
摘要:应用程序和dll通信-易语言 对于易语言没有静态和动态调用的处理。 首先 在易语言中新建一个动态链接库,并添加导出函数 生成一个应用程序来处理dll函数 在windows窗口程序中添加一个button控件来响应事件,双击button进入单击响应 然后在消息响应框里选择插入dll命令 在dll插入命令 阅读全文
posted @ 2020-12-12 15:45 Sna1lGo 阅读(798) 评论(0) 推荐(0) 编辑
应用程序与dll的动态通信:c/c++
摘要:应用程序与dll的动态通信:c/c++ 动态调用是在运行的时候完成的。 首先将指定模块加载到调用的进程的地址空间里 采用LoadLibraryA函数来处理来获取dll的句柄 https://docs.microsoft.com/en-us/windows/win32/api/libloaderapi 阅读全文
posted @ 2020-12-12 14:16 Sna1lGo 阅读(347) 评论(0) 推荐(0) 编辑
应用程序与dll的静态库通信
摘要:应用程序与dll导出函数的通信方式 应用程序与DLL导出函数的”静态库“通信-C/C++ 何为静态链接库和动态链接库的定义是一样的,区别就在于共享程序代码的方式。 程序一般是需要经过预处理,编译、汇编和链接几个步骤,静态库特点是可执行文件中包含了库代码的一分完整拷贝,缺点就是多次使用就会有多分冗余拷 阅读全文
posted @ 2020-12-12 01:49 Sna1lGo 阅读(155) 评论(0) 推荐(0) 编辑