如何在调用DLL前截取所传递的数据?

来源:百度知道 编辑:UC知道 时间:2024/06/02 13:04:12
背景是这样的,一个Java编写的第三方软件,在运行数据库查询后,会得到一个结果集。这个结果集可以通过一个特制的DLL(Pr2eDriver.dll)文件传输到串口,并通过针式打印机打印出来。
我想要的结果是,在Java软件获得查询结果后,将结果集保存到一个文本文件,或者在Java软件调用Pr2eDriver.dll文件之前,把结果集保存到一个文本文件。
据我的估计,要用到HOOK、内存或是其他什么技术。
期待高手给我一个解答,越详细越好,我不是数据监听高手。解决问题再追加分数。
我已经获取了Pr2eDriver.dll中的函数列表以及入口地址了,不知有没有用?
tingfeng85 和 aaronswon 两位等于白说,程序不是我的,说过了是第三方的。
制度上不允许我破解这个Java程序。
to wlg23230
也不允许我去修改那个DLL文件。
to daay1986
如何开进程,监视另一个进程的输入流?我所说的第三方程序是用Java编写的,但是不用VM运行(就是任务栏里面没有Java的那个图标),不知道该怎么办?

你在java里开辟一个进程运行你的第三方软件,看看进程的输入流里有你要的东西没。 反正java去拿window的程序信息不太容易。
http://www.rgagnon.com/javadetails/java-0014.html这个网站有调用window程序的例子,你自己看下。不过是英语的。看代码就好了

那你用java写一个文件保存的类不就可以了吗

HOOK啥..直接改java代码就是了 打印前保存下不就OK了~

重写dll,调用旧dll,win编程不会,发到别的板块去吧
不是修改,是自己写一个,起一样的函数名,写完自己的代码再调用旧的dll的同名函数(没做过win编程,不知道能不能实现)