社区
进程/线程/DLL
帖子详情
100分求win9x得到PDB正确地址的那个异或值
GR
2003-11-08 09:43:53
ProcessID ^ 某值,
我知道这个值是随系统随机弄的。怎么弄到这个值,
...全文
48
4
打赏
收藏
100分求win9x得到PDB正确地址的那个异或值
ProcessID ^ 某值, 我知道这个值是随系统随机弄的。怎么弄到这个值,
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
stonewind
2003-11-09
打赏
举报
回复
由ThreadID和PTHHEAD_DATABASE得到这个值
(ThreadID XOR PTHREAD_DATABASE)
PTHREAD_DATABASE由以下方法得到:
pTIB=FS:[18h]
pThreadDatabase=pTIB-0x10
GR
2003-11-09
打赏
举报
回复
ft.这个我知道。在matt的书里有写。有没有其他方法,
GR
2003-11-08
打赏
举报
回复
我不是想看系统进程。我问这个是想找到某个进程的句柄表。PROCESSENTRY32的processId总要抑或回去才能跟到PDB的正确地址吧。没有PDB的地址怎么能找到进程的HANDLE TABALE?,
fairyprince
2003-11-08
打赏
举报
回复
在得到系统的快照句柄后,就可以对当前进程的标识号进行枚举了,通过这些枚举出的进程标识号可以很方便的对进程进行管理。进程标识号通过函数 Process32First() 和 Process32Next()而得到,这两个函数可以枚举出系统当前所有开启的进程,并且可以得到相关的进程信息。 这两个函数原型声明如下:
BOOL WINAPI Process32First(HANDLE hSnapshot, LPPROCESSENTRY32 lppe);
BOOL WINAPI Process32Next(HANDLE hSnapshot,LPPROCESSENTRY32 lppe);
以上两个函数分别用于获得系统快照中第一个和下一个进程的信息,并将获取得到的信息保存在指针lppe所指向的PROCESSENTRY32结构中。函数第一个参数hSnapshot为由CreateToolhelp32Snapshot()函数返回得到的系统快照句柄;第二个参数lppe为指向结构PROCESSENTRY32的指针,PROCESSENTRY32结构可对进程作一个较为全面的描述,其定义如下:
typedef struct tagPROCESSENTRY32 {
DWORD dwSize; // 结构大小;
DWORD cntUsage; // 此进程的引用计数;
DWORD th32ProcessID; // 进程ID;
DWORD th32DefaultHeapID; // 进程默认堆ID;
DWORD th32ModuleID; // 进程模块ID;
DWORD cntThreads; // 此进程开启的线程计数;
DWORD th32ParentProcessID; // 父进程ID;
LONG pcPriClassBase; // 线程优先权;
DWORD dwFlags; // 保留;
char szExeFile[MAX_PATH]; // 进程全名;
} PROCESSENTRY32;
以上三个API函数均在头文件tlhelp32.h中声明,运行时需要有kernel32.lib库的支持。通过这三个函数可以枚举出当前系统已开启的所有进程,并可获取到进程的各相关信息,下面给出一个简单的应用示例。在此示例中将枚举出系统的所有进程,并获取各进程的标识号和相应程序的绝对路径,进程标识号在下一步对进程的管理中将要用到,程序路径则直接通过列表控件显示出来:
// PROCESSENTRY32结构对象
PROCESSENTRY32 pe;
// 创建快照句柄
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
// 先搜索系统中第一个进程的信息
Process32First(hSnapshot, &pe);
// 下面对系统中的所有进程进行枚举,并保存其信息
do{
// 把进程对应的文件路径名填入列表框
int index = m_ctlwndList.AddString(pe.szExeFile);
// 设置列表框中该项的Data相应的进程的ID号,利于以后终止该进程
m_ctlwndList.SetItemData(index, pe.th32ProcessID);
} while (Process32Next(hSnapshot, &pe));
// 关闭快照句柄
CloseHandle(hSnapshot);
XYCTF-REVERSE(完结)
第一次正式参加CTF比赛,没有AK逆向还是有些遗憾,这是一些自己写出来的题的WP,未解出的之后会复现。
win
dows pwn 基础知识
在
Win
10 和
Win
Server2016 版本之前,只有一种堆类型 NT Heap在
Win
10 和
Win
Server2016 之后,引入了 Segment Heap(段堆)在之后版本中,除了 UWP 程序之外 一般都继续使用 NT Heap 进行堆管UWP(Universal
Win
dows Platform)是
Win
10 引入的一种新的应用程序开发模型,他们采用了一套共享的 API。所以采用 UWP开发的程序,可以在所有
Win
10 设备上运行。
两款
Win
dows平台反汇编利器Hiew与
Win
32Dasm深度解析
Hiew 和
Win
32Dasm 或许已经不再主流,但它们所体现的工程哲学——简洁、专注、贴近底层——永远不会过时。在这个AI自动生成反编译代码的时代,我们更需要回归本质:理解字节是如何流动的,寄存器是如何变化的,内存是如何映射的。因为只有掌握了这些,你才能真正掌控逆向的方向盘,而不是被动跟随工具的输出结果。所以,下次当你面对一个新的二进制文件时,不妨先放下IDA,打开Hiew,看看那一排排十六进制数字背后,藏着怎样的故事。🔍✨毕竟,每一个90,都曾是一个梦想的起点。
【爬虫逆向】Python加密算法大揭秘:应用场景与实现技巧
在我们进行js逆向的时候. 总会遇见一些我们人类无法直接能理解的东西出现. 此时你看到的大多数是被加密过的密文.今天在这里教大家各种加密的逻辑。
64位
Win
dows驱动开发SSDT HOOK技术实战教程
在现代
Win
dows操作系统中,驱动程序是连接硬件与系统内核的关键桥梁。随着
Win
dows平台的不断演进,其驱动开发模型也经历了从早期的NT式驱动到WDM、再到KMDF与UMDF的抽象化发展。理解这些驱动模型的设计理念、运行机制以及彼此之间的差异,对于从事64位内核开发、安全研究或系统级软件工程的技术人员至关重要。本章将深入剖析
Win
dows驱动生态的核心架构,重点聚焦于三种主流驱动模型——WDM、KMDF和UMDF,并结合实际开发场景,解析其底层逻辑与工程实践。
进程/线程/DLL
15,467
社区成员
49,170
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章