能力值:
( LV3,RANK:30 )
|
-
-
2 楼
// [DllImport("kernel32.dll")]
// static extern int GetCurrentThreadId(); //取得当前线程编号的API
// [DllImport("User32.dll")]
// internal extern static void UnhookWindowsHookEx(IntPtr handle); //取消Hook的API
// [DllImport("User32.dll")]
// internal extern static IntPtr SetWindowsHookEx(int idHook, [MarshalAs(UnmanagedType.FunctionPtr)] HookProc lpfn, IntPtr hinstance, int threadID); //设置Hook的API
// [DllImport("User32.dll")]
// internal extern static IntPtr CallNextHookEx(IntPtr handle, int code, IntPtr wparam, IntPtr lparam); //取得下一个Hook的API
Hook 就像这样。。。调用Win32的API就行了,接口已经很多了,你的需求肯定可以满足的。
|
能力值:
( LV7,RANK:110 )
|
-
-
3 楼
[QUOTE=Dstlemoner;1244593]// [DllImport("kernel32.dll")]
// static extern int GetCurrentThreadId(); //取得当前线程编号的API
// [DllImport("User32.dll")]
// ...[/QUOTE]
可能你理解错了意思,我的目的是,在一个程序加了比如一些.net的壳,不能脱的情况下,
想通过hook程序调用的一些方法来找突破口,
简单说下,如果在vc里面,写了个简单的对比,用strcmp 然后把对比这段代码vm了,在不分析vm的情况下,通过hook strcmp获取两个对比的字符串分别是多少
想知道.net里面能不能实现这种效果?
最后还是感谢你的热心回复
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
.NET不是都是中间指令么,貌似比较困难
|
能力值:
( LV7,RANK:110 )
|
-
-
5 楼
大家提示一下呗,或者说下能不能实现
|
能力值:
( LV3,RANK:20 )
|
-
-
6 楼
实肯定是能实现的.要不然你用VS怎么可以调试代码呢.调试的时候还可以改值哦.
不过感觉研究这方面的人比较少,所以资料也少...不好搞啊.得分析分析VS的调试引擎.看他们是怎么做到的.
|
|
|