youxiaxy
发表于 2017-10-7 19:13
zhengwuji 发表于 2017-10-7 19:09
那你是用什么软件把exe写进内存?还有你kernel32.dll HOOKGetmodulehandle 我用PYG试了一下无效,是不 ...
我使用代码 撸的 ,
zhengwuji
发表于 2017-10-7 19:14
youxiaxy 发表于 2017-10-7 19:13
我使用代码 撸的 ,
不是吧!代码撸的!你用什么语言去撸的!还有你那个HOOK API也是用代码撸进去的?
youxiaxy
发表于 2017-10-7 19:21
zhengwuji 发表于 2017-10-7 19:14
不是吧!代码撸的!你用什么语言去撸的!还有你那个HOOK API也是用代码撸进去的?
用的 C++。。。HOOK API 用 exe直接 VirtualAllocEx申请一段空间 跳过去。然后 writeProcessMemory写入 shellcode.并修改 API入口点 跳转到 shellCode
在 shellcode 中 判断 4010ee 是否 为0xff,决定 是否修改。
并 最终 跳回到正确 的GetModulehandle 继续执行。
zhengwuji
发表于 2017-10-7 19:22
youxiaxy 发表于 2017-10-7 19:21
用的 C++。。。HOOK API 用 exe直接 VirtualAllocEx申请一段空间 跳过去。然后 writeProcessMemory写 ...
好吧!你是程序员的?
youxiaxy
发表于 2017-10-7 19:24
zhengwuji 发表于 2017-10-7 19:22
好吧!你是程序员的?
不是,业余
zhengwuji
发表于 2017-10-7 19:25
youxiaxy 发表于 2017-10-7 19:24
不是,业余
对了 你那个HOOK API 点是怎么找 还是说每个程序都有一个固定API点
youxiaxy
发表于 2017-10-7 19:41
最好的点就是 在 被修改代码 前面的 那个系统API .(个人见解, )。。。。或者.一般的 程序 入口点 会调用 的 都可以用。.可选的有很多,比如GetVersion,GetModuleHandle.GetCommandLine GetStartupInfoA 之类的。。当然也有一些 特殊的程序不行,也可用 其他的 API,只要时机 早 在 要修改的代码执行之前就行,
zhengwuji
发表于 2017-10-7 19:43
youxiaxy 发表于 2017-10-7 19:41
最好的点就是 在 被修改代码 前面的 那个系统API .(个人见解, )。。。。或者.一般的 程序 入口点 会调 ...
那这个程序kernel32 FindResourceA 这个HOOK API你是怎么找到!我想知道你的思路是怎么找到的
youxiaxy
发表于 2017-10-7 19:54
FindResourceA 这个 不是 我用的吧。是另一位大神用的吧
这是一个 VC6 的 MFC Dialog程序。
窗口是 资源。(也许还有其他的。)
程序需要使用。 必须 先从资源中加载它,
加载资源 必然要 调用 这个 API 咯。
zhengwuji
发表于 2017-10-7 19:55
youxiaxy 发表于 2017-10-7 19:54
FindResourceA 这个 不是 我用的吧。是另一位大神用的吧
这是一个 VC6 的 MFC Dialog程序。
窗口是 资源 ...
好的 谢谢你了!对了 能不能给我一个API解释大全!