KiFastCallEntry Hook (利用栈回溯技术)

利用 栈回溯 技术,定位 KiFastCallEntry API 地址空间,搜索特征码后进行inline hook,KiFastCallEntry 是大多数 ring3 到 ring0 API调用必经 之路, 所以 hook之后可以 监视很多 程序行为. 基于一个前提: KiFastCallEntry 函数 作用是:初始化 kernel stack , 根据 …

硬编码-什么是硬编码

二进制编辑工具打开exe 图中可以看出程序都是由二进制数据组成 无论多么复杂的程序都只包含两部分,数据和指令。数据和指令的划分并没有明显的界限。具体取决于EIP 指令是有自己的格式。 CPU相关的指令: x86 x64 arm 硬编码就是指令集的指令

PE文件解析 入门篇

前言 - PE文件解析 系列文章的第二篇,上一篇参考:PE文件解析 基础篇 介绍区块头表和区块 解析出区段表 完成RVA转FOA的功能 解析出数据目录表各种表的位置和大小 源码放在附件 1.区块头表 - pe文件头与原始数据之间存在一个区块表,区块表包含了每个块在映像(内存)中的信息,分别指向不同的区块实体。

PE文件解析 基础篇

前言 - 之前学习了PE格式,为了更好的理解,决定写一个类似LoadPE的小工具。 编译器是VS2015,采用MFC框架。 此系列文章采用边介绍知识点,边写代码的形式,以免变的无聊丧失兴趣。 PE知识请参照《加密与解密》第10章。 PE文件格式1. PE文件基本概念 - PE文件是windows系统中遵循PE结构的文件,比如以.exe .dll为后缀名的文件 …

批量提取公众号文章的python脚本

如何获取?http://xingyue.artizen.me 1 2 3 4 5 6 7 8 9 10 11 12 coding:utf-8 import json import pprint links_array = [] with open('msg.txt',encoding='utf-8') as file: for line in file: s …

C++ 标准库中缺少的字符串函数:`starts_with` 和 `ends_with`

C++ 标准模板库的 std::string 很好很强大,但是并没有提供判断一个字符串是否以另一个字符串开始/结束的接口。这里为 std::basic_string<charT> 提供这两个接口。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 …

Linux统计文件夹下的文件数目

Linux下有三个命令:ls、grep、wc。通过这三个命令的组合可以统计目录下文件及文件夹的个数。 统计当前目录下文件的个数(不包括目录) 1 $ ls -l | grep "^-" | wc -l 统计当前目录下文件的个数(包括子目录) 1 $ ls -lR| grep "^-" | wc -l 查看某目录下文件夹(目录)的个数(包括子目录) 1 ls …

Linux 命令行下下载 Google Drive/Docs

转载自 https://onebox.site/archives/250.html 说到如何在Linux命令行下下载Google网盘(云端硬盘)的文件,第一个想到的应该是gdrive(prasmussen/gdrive),这个脚本可以下载、上传、同步等功能,当然需要事先命令gdrive about关联网盘,显然适合自己使用。

简单的GDI操作

简单的GDI操作 窗口程序的本质 :GUI GDI GDI: Graphics Device Interface,图形设备接口,这是Windows提供的一组用于绘制图像的API GUI: Graphical User Interface,图形用户界面,是指用户操作软件的界面方式,以区别于字符方式 说白了 GDI是一套实打实的接口,真实存在 GUI只是一个概念 …

消息机制与模拟消息

消息机制与模拟消息 消息机制 硬件产生事件 被操作系统捕获,封装成消息 操作系统发送到系统消息队列 再由操作系统由系统消息队列发送到 对应的线程内核对象中的线程消息队列 线程消息队列处理完毕后,将时间送回操作系统 由操作系统调用窗口回调函数 => WindowProc() 线程消息队列 处理 GetMessage() => 取出消息 …

新建一个窗口程序

新建一个窗口程序 消息机制 创建窗口的几个步骤 创建窗口类 注册窗口类 创建窗口 显示窗口 构建消息循环 创建过程 demo : https://github.com/luodaoyi/cpp_code/tree/master/MemoryInjectTool/CreateWindows //1 创建窗口类型模板 WNDCLASS wndclass = { …

模块隐藏

模块隐藏 遍历模块 HANDLE WINAPI CreateToolhelp32Snapshot( DWORD dwFlags, DWORD th32ProcessID ) //dwFlags: TH32CS_SNAPMODULE 遍历模块 PEB (Process Environment Block 进程环境块) 存放进程信息,每个进程都有自己的PEB信息 …

文件系统

文件系统 什么是文件系统 文件系统是操作系统用于管理磁盘上文件的方法和数据结构,简单说就是在磁盘上如何组织文件的方法,是软件层面的东西 windows上有哪几种文件系统 类型 NTFS FAT32 磁盘分区容量 2T 512MB – 2TB (早先只有32GB) 单个文件容量 4GB以上 最大4GB EFS加密 Y N 磁盘配额 Y N 如何操作文件系统 卷 …

远程线程注入

远程线程注入 线程是什么 如果说进程是个大房子,那么线程是进程中干活的人 线程是进程的灵魂 使用进程提供的数据 执行进程提供的代码 临时数据存储在计算机的寄存器中 创建线程 //在自己的进程中创建线程 CreateThread() //在别人的进程中创建线程 HANDLE WINAPI CreateRemoteThread ( _In_ HANDLE …