journal录制不到绝大部分是因为NX没有开放这部分函数,我的做法是OLLYDBG跟踪后看他调用哪个函数,然后自己包装使用,该方法只在NX4上可以,NX5,6有防调试功能,一跟踪NX5,6就自动关闭无法跟踪。 举例NX6.net中检查干涉的函数有BUG,跟踪后发现是libpartutils.dll中?pxintf@@YAXPAI0PAH11111@Z实现其功能,自己包装:
//检查
[DllImport("libpartutils.dll", EntryPoint="?pxintf@@YAXPAI0PAH11111@Z", CallingConvention=CallingConvention.Cdecl, CharSet=CharSet.Ansi)] internal static extern void _DoCheck(ref Tag a, ref Tag b, ref int c, ref int d, ref int e, ref int f, ref int g, ref int h);
//获取面
[DllImport("libdman.dll", EntryPoint="[email=?KI_gtinli@@YAHHHHPAH@Z]?KI_gtinli@@YAHHHHPAH@Z[/email]", CallingConvention=CallingConvention.Cdecl, CharSet=CharSet.Ansi)]
internal static extern void _GetFace(int a,int b,int c,ref Tag d);
//释放资源
[DllImport("libdman.dll", EntryPoint="[email=?KI_delent@@YAHH@Z]?KI_delent@@YAHH@Z[/email]", CallingConvention=CallingConvention.Cdecl, CharSet=CharSet.Ansi)]
internal static extern void _FreeHandle(int a);
[ 本帖最后由 tealy 于 2009-2-21 17:09 编辑 ] |