深入探讨"Hook其他程序中的StringGrid的内容 " ( 积分: 100 )

  • 主题发起人 主题发起人 13380073758
  • 开始时间 开始时间
1

13380073758

Unregistered / Unconfirmed
GUEST, unregistred user!
lichengbin的贴子http://www.delphibbs.com/keylife/iblog_show.asp?xid=12219实现hook其它程序的StringGrid的内容,不知道各位有没有试过,如果程序语言不是delphi的话,好像是起不了作用,就比如说是bcb写的,就没有办法hook到它的内容,各位不知道有什么好的解决办法?
 
lichengbin的贴子http://www.delphibbs.com/keylife/iblog_show.asp?xid=12219实现hook其它程序的StringGrid的内容,不知道各位有没有试过,如果程序语言不是delphi的话,好像是起不了作用,就比如说是bcb写的,就没有办法hook到它的内容,各位不知道有什么好的解决办法?
 
基本上此类HOOK代码必须用对应的工具和版本来做。比如目标是BCB6.0那么你的HOOK程序(仅仅是需要在目标进程执行的代码)最好也是BCB6.0的。不过BCB可以认识PAS的代码,因此主要代码可以基本一致,但最好用BCB编译。
 
不行啊,我用c++builder改编了一下,还是取不到值啊,下面是c++builder增加的内容<br><br>#pragma hdrstop<br><br>#include &quot;Unit2.h&quot;<br>#include &quot;UHook.hpp&quot;<br>//---------------------------------------------------------------------------<br><br>#pragma package(smart_init)<br>extern &quot;C&quot; __declspec(dllexport) void __stdcall InstallHook_Dll(int MainWnd, int DestWnd);<br>extern &quot;C&quot; __declspec(dllexport) void __stdcall UninstallHook_dll(void);<br>extern &quot;C&quot; __declspec(dllexport) char * __stdcall GetHookedCell_dll(void);<br><br>void __stdcall InstallHook_Dll(int MainWnd, int DestWnd)<br>{<br> &nbsp; InstallHook(MainWnd,DestWnd);<br>}<br><br>void __stdcall UninstallHook_dll(void)<br>{<br> &nbsp; UninstallHook();<br>}<br><br>char * __stdcall GetHookedCell_dll(void)<br>{<br> &nbsp; return GetHookedCell();<br>}<br><br>在test.dpr中更改了一下<br> &nbsp;@InstallHook := GetProcAddress(hLib, 'InstallHook_Dll');<br> &nbsp;@UninstallHook := GetProcAddress(hLib, 'UninstallHook_dll');<br> &nbsp;@GetHookedCell := GetProcAddress(hLib, 'GetHookedCell_dll');<br><br>其它的没有变,还是取不到总行数,和总列数。
 
谁能救救我也
 
HookSG.dll我是用bcb编译的,其它的就用delphi的,谁能救救我也
 
问题解决了,我可以申请rmb
 
我将我改过的代码再去hook原来的tstringgrid,反而又可以hook到,奇怪,难道仅仅只能够hook到delphi的程序吗
 
最好和要hook的东西保持版本一致,否则内存里的地址可能会有些不同,导致hook失败.
 
我现在将所有的都是一样的,还是不行啊
 
testhook也用c++builder改写过了
 
hook的对象就是我自己用c++builder写出来的,就是一个显示数据而已,没有其它的了
 
谁能救救我也 ,我现在将hook.dll也用c++builder改过了,testhook也用c++builder改写过了,hook的对象也用c++builder改写过了,也就是说所有的都用c++builder改写过了
 
天啊,只要将hook对象是delphi写的,无论hook.dll和testhook是什么工具写的,都是可以hook改写的
 
去下载本《Delphi 下深入Windows 核心编程》。。里面有屏幕取词的例子。。看看吧先。。
 
BCB的没有问题,可以Hook!基本上D5以上的版本都可以的。<br>BCB的FindControl函数的实现需要更改。请直接联系我,QQ:297099102
 
有没有例子啊,谢谢了,急啊
 
后退
顶部