首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
windbg寻找kernel32基址
2024-11-06
寻找kernel32.dll的地址
为了寻找kernel32.dll的地址,可以直接输出,也可以通过TEB,PEB等查找. 寻找TEB: dt _TEB nt!_TEB +0x000 NtTib : _NT_TIB +0x01c EnvironmentPointer : Ptr32 Void +0x020 ClientId : _CLIENT_ID +0x028 ActiveRpcHandle : Ptr32 Void +0x02c ThreadLocalStoragePointer : Ptr32 Void +0x030 Pro
windbg分析Kernel32.dll导出表
写在前面的话: 继续上篇,在获得了Kernel32.dll基址的基础上,分析它的导出表结构: 对PE结构不太熟悉的同学,可以参考看雪论坛里的一篇帖子:https://bbs.pediy.com/thread-224265.htm 零.思路说明 分析之前,要明确我们的目的是,为了能在程序里获得某些API的地址: I) 遍历导出名称表(下面统称为ENT),匹配到需要的函数[匹配过程中,设置一个自增的变量,这样找到后,变量里就是该函数在ENT里的下标] II) 根据导出序号表(下面统称EOT),
CE寻找游戏基址
什么是游戏基址? 游戏基址是保持恒定的两部分内存地址的一部分并提供一个基准点,从这里可以计算一个字节数据的位置.基址伴随着一个加到基上的偏移值来确定信息准确的位置(绝对地址). 全局基址 一级基址 二级基址 三级基址的关系: 第一步.计算机内存一般分为四级存储.(印象里好像是四级). 第二步.在最底下的,往往是游戏的全局基址(决定用户界面以及一些细节等)和一些响应用户操作而对应实施的命令. 第三步.该是传递基址了.现在网游的基址往往是动态的.这个是因为底层的基址不会直接传递给上一级内存.它会加上
windbg查找Kernel32.dll基址
一.首先准备好一个程序,运行起来,用windbg进行附加调试,由于每个windows下的程序都会加载kernel32.dll,因此,找基址的过程是一样的: 二.查看PEB地址: 法一.r $peb 法二.通过TEB获取,r $teb 获取到teb地址后,对_TEB结构体解析dt _TEB 3ca000 法三.通过fs寄存器获取,我们知道fs:[0]就是TEB结构体的首地址,但是,在windbg里dd fs:[0]时,地址却做了隐藏: 那该怎么办呢,其实,这就要看下TEB的结构了 在TEB结构的
FS获取KERNEL32基址的三种方法
FS寄存器指向当前活动线程的TEB结构(线程结构) 偏移 说明 000 指向SEH链指针 004 线程堆栈顶部 008 线程堆栈底部 00C SubSystemTib 010 FiberData 014 ArbitraryUserPointer 018 FS段寄存器在内存中的镜像地址 020 进程PID 024 线程ID 02C 指向线程局部存储指针 030 PEB结构地址(进程结构) 034 上个错误号 在shellcode中用它来找KERNEL32.DLL基地址是常
N种内核注入DLL的思路及实现
内核注入,技术古老但很实用.现在部分RK趋向无进程,玩的是SYS+DLL,有的无文件,全部存在于内存中.可能有部分人会说:"都进内核了.什么不能干?".是啊,要是内核中可以做包括R3上所有能做的事,软件开发商们也没必要做应用程序了.有时,我们确实需要R3程序去干驱动做起来很困难或者没必要驱动中去做的事,进程 / DLL是不错的选择,但进程目标太大,所以更多的同学趋向于注DLL. 若要开发安全软件.小型工具,可借鉴其思路,Anti Rootkits时,在某些极端情况下,可使用同
[转]N种内核注入DLL的思路及实现
内核注入,技术古老但很实用.现在部分RK趋向无进程,玩的是SYS+DLL,有的无文件,全部存在于内存中.可能有部分人会说:“都进内核了.什么不能干?”.是啊,要是内核中可以做包括R3上所有能做的事,软件开发商们也没必要做应用程序了.有时,我们确实需要R3程序去干驱动做起来很困难或者没必要驱动中去做的事,进程 / DLL是不错的选择,但进程目标太大,所以更多的同学趋向于注DLL. 若要开发安全软件.小型工具,可借鉴其思路,Anti Rootkits时,在某些极端情况下,可使用同样的技术发
PEB及LDR链
PEB地址的取得在NT内核系统中fs寄存器指向TEB结构,TEB+0x30处指向PEB结构,PEB+0x0c处指向PEB_LDR_DATA结构,PEB_LDR_DATA+0x1c处存放一些指向动态链接库信息的链表地址,win7下第一个指向ntdl.dll,第三个就是kernel32.dll的. typedef struct _TEB{ NT_TIB Tib; /* 00h */ PVOID EnvironmentPointer; /* 1Ch */ CLIENT_ID Cid; /* 20h *
【旧文章搬运】PE感染逆向之修复(Serverx.exe专杀工具出炉手记)
原文发表于百度空间,2008-10-4看雪论坛发表地址:https://bbs.pediy.com/thread-73948.htm========================================================================== 这篇文章是在Servex.exe专杀工具写完之后的一些小小感想,关于PE感染和修复,大牛飘过~ 自某日不小心中了Serverx.exe病毒,电脑中大部分EXE文件被感染,系统盘system32目录下的病毒文件Serve
linux kernel 0.11 head
head的作用 注意:bootsect和setup汇编采用intel的汇编风格,而在head中,此时已经进入32位保护模式,汇编的采用的AT&T的汇编语言,编译器当然也就变成对应的编译和连接器了,很多汇编指令右侧都会多l,如or变成orl却别与实模式的汇编指令. ①设置中断描述符表: >中断描述符表设置为256个项,初始化指向ignore_int中断门.然后加载中断描述符表寄存器. ②检查 A20 地址线是否已经打开,测试系统是否含有数学协处理器 ②设置全局描述符表: ③设置分页机制: &g
逆向知识之CS1.6辅助/外挂专题.1.实现CS1.6主武器副武器无限子弹
逆向知识之CS辅助/外挂专题.1.实现CS主武器副武器无限子弹 PS: 相信大家CS1.6这类的FPS应该玩过.现在我们通过外挂手法.讲解逆向的本质.以及应用. 关于CS1.6的下载.网络百度下载即可. 一丶主武器无限子弹寻找方法. 首先我们知道.在CS中主武器有子弹个数.那么我们可以通过CE寻找子弹的个数增加或者减少来进行寻找我们的数据. 关于CE的使用.可以参考网络教程.很简单.主需要来回扫描即可. 寻找思路: 1.首次扫描子弹个数 2.变化子弹继续扫描. 3.重复2步骤.直到地址很少. 4
基于C++ Qt实现的红色警戒3修改器
前言 这部修改器制作有一段时间了,但是一直没出教程.今天利用周末空闲写篇教程,给后来者指路的同时也加深自己对游戏修改器的理解,大佬就随便看看吧 浏览了一下网络,形形色色的单机游戏修改器教程,但是基本只实现了一到两个功能,GUI图形界面也没有.网站上能下载到的实现很多功能的修改器却又不开源,对新手不够友好 为什么选择红警3而不是其他游戏呢? 其一,它是单机游戏,制作网络游戏修改器(外挂)是违法的,根据<计算机信息网络国际联网安全保护管理办法>第六条规定:“任何单位和个人不得从事下列危害计算机信息
ShellCode模板
前言 在上一篇文章上使用到的添加用户的shellcode是怎么得到的呢? 先来拆分一下汇编的功能 ;寻找kernel32.dll的基地址 xor ecx,ecx mov eax,dword ptr fs:[ecx+30h] ; EAX = PEB mov eax,dword ptr [eax+0Ch] ; EAX = PEB->Ldr mov esi,dword ptr [eax+14h] ; ESI = PEB->Ldr.InMemOrder lods dword ptr [esi] ; E
shellcode生成框架
因为vs编译后自己会生成很多东西,我们稍微配置下 先获取kernel32基址 __declspec(naked) DWORD getKernel32() { __asm { mov eax, fs:[30h] //PEB mov eax, [eax + 0ch] //PEB->Ldr mov eax, [eax + 14h] //PEB->Ldr.InMemOrder mov eax, [eax] //第二个模块 mov eax, [eax] //第三个模块 mov eax, [eax + 1
shellcode 开发
0x00 设置堆栈 栈顶指针按位与之后,将栈桢以16字节的大小对齐: push rbp ;store rbp original state mov rbp, rsp ;set stack base point to current stack top sub rsp, 60h ;reserve stack space for called functions and rsp, 0fffffffffffffff0h ;make sure stack 16-byte aligned 或者 push
修改记事本PE结构弹计算器Shellcode
目录 修改记事本PE结构弹计算器Shellcode 0x00 前言 0x01 添加新节 修改节数量 节表位置 添加新节表信息 0x02 添加弹计算器Shellcode 修改代码 0x03 修改入口点 计算跳转OEP偏移 0x04 bug修复 0x05 验证结果 修改记事本PE结构弹计算器Shellcode 0x00 前言 在上一篇文章中介绍了PE节表的分析,这篇文章主要是对其进行手动实验来加深对节表的理解,并且这里用一个记事本的例子做演示,我们用Winhex软件通过修改.添加十六进制数据让记事本
旧书重温:0day2【2】 实验:三种获取kernel32.dll基址的方法
0x01 找kernel32基地址的方法一般有三种: 暴力搜索法.异常处理链表搜索法.PEB法. 0x02 基本原理 暴力搜索法是最早的动态查找kernel32基地址的方法.它的原理是几乎所有的win32可执行文件(pe格式文件)运行的时候都加载kernel32.dll,可执行文件进入入口点执行后esp存放的一般是Kernel32.DLL 中的某个地址,所以沿着这个地址向上查找就可以找到kernel32的基地址.那么如何知道我们找到的地址是kernel32的基地址呢?因为kernel32.dll
【C++】从零开始的CS:GO逆向分析1——寻找偏移与基址的方法
[C++]从零开始的CS:GO逆向分析1--寻找偏移与基址的方法 前言:此文章主要用于提供方法与思路,fps游戏基本都能如此找偏移,文章里找的偏移比较少,主要用来演示寻找思路,文章的后记中会附一个大佬的github项目,项目会定期更新CS:GO游戏中常用的偏移值,写程序的时候使用大佬项目里的内容即可.本章需要CE基础,达到会改植物大战僵尸的阳光就可以了,全称采用CE搜基址,没有使用汇编分析. 环境:Steam里的CS:GO 和 Cheat Engine7.4,配置好这两个我们就正式开始了
Windbg调试命令详解
作者:张佩][原文:http://www.yiiyee.cn/Blog] 1. 概述 用户成功安装微软Windows调试工具集后,能够在安装目录下发现四个调试器程序,分别是:cdb.exe.ntsd.exe.kd.exe和Windbg.exe.其中cdb.exe和ntsd.exe只能调试用户程序,Kd.exe主要用于内核调试,有时候也用于用户态调试,上述三者的一个共同特点是,都只有控制台界面,以命令行形式工作. Windbg.exe在用户态.内核态下都能够发挥调试功能,尤其重要的是,它不再是命令
调试SQLSERVER (二)使用Windbg调试SQLSERVER的环境设置
调试SQLSERVER (二)使用Windbg调试SQLSERVER的环境设置 调试SQLSERVER (一)生成dump文件的方法调试SQLSERVER (三)使用Windbg调试SQLSERVER的一些命令 大家知道在Windows里面,调试可以分为两个领域: 1.内核态调试 2.用户态调试 一般的程序都是运行在用户态,包括SQLSERVER,SQLServer 会依赖于操作系统的Win32/Win64 API去调用I/O或者其他他需要的服务 用户态程序调试和内核态程序调试是不太一样的,即使
热门专题
svn 启动版本库浏览器 卡住了
activiti 并行网关 排他性
c# 两个list取交集高效率
查看pb文件中每个tensor
Mac安装破解JRebel
weblogic 10.3.6 镜像下载
PHPstudy链接指向压缩包怎么无法下载
python uml 类图
svn客户端安装及配置教程 windows
nas git 远程登陆
jenkins插件加速
DDNS服务选择为let免费证书后提示有个黄标
springboot kafka生产者
内嵌tomcat Apache Tomcat 文件包含漏洞
springboot内置tomcat默认404
mac配置git环境
ion-option-button 关闭
arcmap 北极 坐标设置
windows访问nfs
python openpyxl已有数据的excel追加数据