社区
进程/线程/DLL
帖子详情
100分求win9x得到PDB正确地址的那个异或值
GR
2003-11-08 09:43:53
ProcessID ^ 某值,
我知道这个值是随系统随机弄的。怎么弄到这个值,
...全文
28
4
打赏
收藏
100分求win9x得到PDB正确地址的那个异或值
ProcessID ^ 某值, 我知道这个值是随系统随机弄的。怎么弄到这个值,
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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 设备上运行。
OllyDBG教程
一、OllyDBG 的安装与配置 OllyDBG 1.10 版的发布版本是个 ZIP 压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了。汉化版的发布版本是个 RAR 压缩包,同样只需解压到一个目录下运行 OllyDBG.exe 即可: OllyDBG 中各个窗口的功能如上图。简单解释一下各个窗口的功能,更详细的内容可以参考 TT 小组翻译的中文帮助:
反病毒引擎设计
本文将对当今先进的病毒/反病毒技术做全面而细致的介绍,重点当然放在了反病毒上,特别是虚拟机和实时监控技术。文中首先介绍几种当今较为流行的病毒技术,包括获取系统核心态特权级,驻留,截获系统操作,变形和加密等。然后分五节详细讨论虚拟机技术:第一节简单介绍一下虚拟机的概论;第二节介绍加密变形病毒,作者会分析两个著名变形病毒的解密子;第三节是虚拟机实现技术详解,其中会对两种不同方案进行比较,同时将剖析一个
逆向基础 OS-specific (四)
左懒 · 2015/08/16 18:0668章
Win
dows Nt68.1 CRT(
win
32)程序一开始就从main()函数执行的?事实并非如此。如果我们用IDA或者HIEW打开一个可执行文件,我们可以看到OEP(Original Entry Point)指向了其它代码块。这些代码做了一些维护和准备工作之后再把控制流交给我们的代码。这就是所谓的startup-code或叫CRT code(C...
进程/线程/DLL
15,473
社区成员
49,171
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章