鱼C论坛

 找回密码
 立即注册
查看: 2961|回复: 4

【讨论】关于R3下的api hook的【求助】

[复制链接]
发表于 2014-5-28 10:33:58 | 显示全部楼层 |阅读模式
1鱼币
要求是这样的:编写一个loader加载器,加载各种程序安装包的时候(PC机 XP 无保护),把系统默认的安装路径变为D:\MyloaderInstall。不用loader的时候就不作任何改动。

我是打算这样设计的:
OPENFILENAME结构体 打开指定安装包A.exe 获取到A.exe绝对路径 和 文件名 等 相关信息
CreateProcess以挂起方式(CREATE_SUSPENDED)打开A.exe

因为安装包默认路径是读取注册表HKLM\Sofeware\Microsoft\Window\CurrentVersion下的ProgramFilesDir项的值。所以要hook RegQueryValueExW这个api

然后我把hook RegQueryValueExW的代码写在一个dll 然后loadInject()以远线程方式注入A.exe

最后ResumeThread恢复挂起的进程A.exe。

到这里有前辈指点错误吗?
=========================================
首先我是选择inline hook 这种方式处理RegQueryValueExW,但处理失败,用XueTr观察发现CreateProcess以挂起方式(CREATE_SUSPENDED)打开A.exe只有ntdll.dll。

问题1:是因为只有ntdll.dll 没有kernel32.dll 和 advapi32.dll 所以我找不到RegQueryValueExW?

问题2:再之前没用XueTr发现只加载了ntdll.dll的时候,我处理RegQueryValueExW发现时能跳转进入MyRegQueryValueExW的,但参数各种混乱~

问题3:以题目要求,还适不适合用inline hook 处理RegQueryValueExW?IAT hook?SSDT hook?

以上,真心跪求指点!

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-28 19:04:27 | 显示全部楼层
直接打开运行A.EXE。。。然后运行。。注意。。不挂起。。
然后直接HOOK GetSystemDirectory或者你说的的那个API(我没弄过)。。。。很简单啊。。。。
不需要你弄得那么复杂。。
ReadPeocessMemory
WriteProcessMemory
这两个API就解决。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-5-29 11:22:55 | 显示全部楼层

GetSystemDirectory这个是系统文件路径,hook这个逮不到安装包的默认路径

还有,
我的loader是指定某   “程序安装包”   就是说你用QQ也得下个QQInstall下来吧?
然后安装的时候,默认路径是C:\Program Files ,这个是QQIstall.exe进程初始化的是要读注册表获取的,
你直接打开,还怎么修改?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-29 12:15:33 | 显示全部楼层
志志志志志志 发表于 2014-5-29 11:22
GetSystemDirectory这个是系统文件路径,hook这个逮不到安装包的默认路径

还有,

我说的是原理。。。不是叫你用GetSystemDirectory这个。。。
hook。。。内存。。。
修改。。
懂?。。。内存hook。。。。
她要读取注册表。。那你就再他读取之前修改。。
就这样。。你慢慢研究嘛。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-5-31 17:23:00 | 显示全部楼层
向往青莲 发表于 2014-5-29 12:15
我说的是原理。。。不是叫你用GetSystemDirectory这个。。。
hook。。。内存。。。
修改。。

原理. . . 呵呵~
你先按你的想法试试吧。
我只能说 不挂起 再hook没效果。
我只能挂起后等待目标函数的dll加载完才能进行内存hook
方法已经找到了,谢谢你的原理。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 05:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表