0
내가 방법을 알아낼 수 없기 때문에포스 프록시
Socket s = new Socket();
은 BCEL를 사용하여
Socket s = new Socket(Proxy.NO_PROXY);
같은 전화를 대체 할 수있는 방법이있다. InstructionList를 변경해야한다는 것을 이해하지만 검색 방법을 모르며 어떤 opcode를 찾아야할지 모르겠습니다.
내가 방법을 알아낼 수 없기 때문에포스 프록시
Socket s = new Socket();
은 BCEL를 사용하여
Socket s = new Socket(Proxy.NO_PROXY);
같은 전화를 대체 할 수있는 방법이있다. InstructionList를 변경해야한다는 것을 이해하지만 검색 방법을 모르며 어떤 opcode를 찾아야할지 모르겠습니다.
AspectJ 또는 비슷한 수준의 도구를 사용하면 학습 곡선이 훨씬 짧아 질 수 있습니다.
낮은 수준의 바이트 코드 수정을 위해 Java opcode를 배우지 않고는 벗어날 수 없습니다. 좋은 출발점은 JVM Specification입니다. 또한 BCEL은 문서화가 잘되어 있지 않으며, 낮은 수준의 선택에 대해 유연한 것이라면 ASM 프레임 워크를 사용하는 것이 좋습니다. 여기 ASM이있는 implementing simple bytecode transformation의 해당 자습서가 있습니다. 구형 ASM 버전을 기반으로하지만 아이디어는 여전히 동일합니다.
저는이 프로젝트에서 BCEL로 시작 했으므로 유연한 문제가 있습니다. 코드를 다시 작성하고 싶지는 않습니다. – ILOVEPIE