记录所有Java输入
我将编写一个应用程序来修改 java 字节码,以便记录执行中的所有输入(文件、网络、用户输入)。 为了做到这一点,我只需要包装 java.io 本机方法?还有其他输入来源吗?
谢谢大家!
I´m going to write an application to modify java bytecode in order to record all the input (files, network, user input) in the execution.
In order to do this, I only need to wrap the java.io native methods? Is there any other source of input ?
Thank you all!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
检查 AspectJ。它为您要做的事情提供了更高级别的 API。
另一种可能性是使用传统工具。例如,套接字是通过 SocketFactory 创建的,可以通过调用特殊的静态方法来替换。因此,您可以用自己的套接字替换真实的套接字,并访问通过套接字传递的每个字节。虽然我大约 6-7 年前实现了此类系统的原型,但我不记得所有细节。我相信你可以自己调查一下。但 AspectJ 方法更容易(恕我直言)。
Check AspectJ. It provides higher level API to what you are going to do.
Other possibility is using conventional tools. For example sockets are created via SocketFactory that can be substituted by calling special static method. So you can substitute real socket by yours own and get access to each byte passed through the socket. Although I implemented a prototype of such system about 6-7 year ago I do not remember by heart all details. I believe you can investigate them yourself. But AspectJ approach is easier (IMHO).