자바 바이트 코드 재분배

낙타

난독 화 된 항아리에서 특정 클래스 파일을 내 파일로 바꾸려고합니다. 원본 클래스 파일에는 "new"및 "null"이라는 메서드가 있으므로 빠른 디 컴파일 + 컴파일이 작동하지 않습니다. 모든 것을 "new_symbol"함수에 전달하는 "new"라는 새 메서드를 추가하기 위해 jbe를 컴파일하고 사용하려고했습니다 (new_symbol은 원래 "new"함수의 디 컴파일 된 버전을 사용함). 이것은 작동하지 않았습니다. ( "코드 세그먼트의 클래스 파일 길이가 잘못되었습니다.")

누구든지 클래스 파일에서 메서드 이름을 재구성하는 방법을 알고 있습니까? 그리고 그것이 가능하지 않다면, 그 "프록시 함수"를 안정적으로 만드는 방법은 무엇입니까? Google에서 약 1000 개 이상의 다른 백엔드 라이브러리가 있지만 바이트 코드 편집을위한 jbe 만 있다는 것을 알게 되었습니까?

편집 : 그것을 설명해 보겠습니다. 데이터베이스에 제공하는 모든 것을 기록하는 함수를 제공하는 클래스가있는 jar 파일이 있다고 가정 해 보겠습니다. 이 클래스 파일을 내 자신의 파일로 바꾸고 싶습니다. 모든 것을 데이터베이스에 기록 할뿐만 아니라 명령 줄에 가져 오는 모든 데이터를 인쇄해야합니다.

문제는 그 클래스 파일이 난독 화되었고 난독 화자가 "new"또는 "null"과 같은 공개 메서드 이름을 부여했다는 것입니다. 시도하는 경우 :

public class replacement{
public void new (string data){
...
}
}

그리고 컴파일하면 컴파일 오류가 발생합니다.

내 생각은 이것을 만드는 것이 었습니다.

public class replacement{
public void newsymbol (string data){
...
}
}

그리고 바이트 코드 편집기를 사용하여 동일한 인수로 "newsymbol"을 호출하는 "new"라는 함수를 만듭니다. (하지만 "코드 세그먼트 길이가 잘못되었습니다"와이 경로를 따라가는 다른 오류가 발생합니다.

따라서 내 질문은 "공용 메서드의 이름이"new ""null ""weird_unicode_symbols "인 클래스 파일에 대한 호출을 가로 챌 수있는 방법을 제공하는 것으로 더 잘 이해할 수 있습니다 ....

낙타

그래서 나에게 가장 좋은 해결책은 16 진 편집기 (user60561이 제안한대로)를 사용하는 것이 었습니다.

당연히 모든 함수와 필드의 이름은 클래스 파일에 한 번만 저장되므로 동일한 바이트 수의 이름을 사용하면 승리로가는 길을 헥스 편집 할 수 있습니다. 저에게는 "new"를 "abc"로 바꾸고 모든 이상한 유니 코드 문자를 2 문자 시퀀스로 바꾸는 것이 었습니다.

모든 제안에 감사드립니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

자바 바이트 코드 실행

분류에서Dev

바이트에서 오디오를 생성 - JS 자바 코드를 재 작성?

분류에서Dev

유니 코드 바이트 배열을 문자열로 변환

분류에서Dev

어떻게 자바 바이트 배열에서 보조 유니 코드 문자를 인코딩 할?

분류에서Dev

자바 바이트 코드 분석을 통해 Dalvik 바이트 코드가 실행하는 명령어 수 추정이 가능합니까?

분류에서Dev

이 코드를 재사용하는 방법?. 자바 스크립트로 새로운 것을 배우고 싶다

분류에서Dev

자바 카드의 바이트 배열 메모리 할당

분류에서Dev

자바-다운로드로 바이트 배열 만들기

분류에서Dev

생성자 바이트 코드

분류에서Dev

다음 자바 스크립트 코드 재 작성

분류에서Dev

자바 코드 이해

분류에서Dev

안드로이드 또는 자바의 클래스에 대한 분석 바이트 배열

분류에서Dev

CallVoidMethod를 사용하여 네이티브 코드에서 자바 코드로 매트 배열 전달

분류에서Dev

앵커 코드를 자바 스크립트 배열로 대체

분류에서Dev

단축 코드의 자바 스크립트 배열

분류에서Dev

코드 로직 자바 스크립트 배열

분류에서Dev

이 코드는 어떻게 작동합니까? (자바 재귀)

분류에서Dev

ㄴ을 programm에서 쓰기 진수 바이트 코드 자바

분류에서Dev

자바 바이트 코드 invokeinterface 명령어

분류에서Dev

바이트 코드 분석에 ASM 사용

분류에서Dev

PDF417 코드 워드 / 이진 배열을 ID 자동화 바코드 글꼴 코드로 변환

분류에서Dev

자바의 코드 필드

분류에서Dev

유니 코드 문자열로 바이트 디코딩

분류에서Dev

페이지 재로드 자바 스크립트에 값 저장

분류에서Dev

자바 스크립트 배열 슬라이드 쇼

분류에서Dev

유니 코드 문자열과 바이트 문자열 비교

분류에서Dev

안드로이드, 자바, 단순 비트 맵 인코딩

분류에서Dev

C #-문자열 대신 바코드에 바이트 스트림 쓰기

분류에서Dev

모듈 패턴 자바 스크립트 코드를 파일로 분할

Related 관련 기사

  1. 1

    자바 바이트 코드 실행

  2. 2

    바이트에서 오디오를 생성 - JS 자바 코드를 재 작성?

  3. 3

    유니 코드 바이트 배열을 문자열로 변환

  4. 4

    어떻게 자바 바이트 배열에서 보조 유니 코드 문자를 인코딩 할?

  5. 5

    자바 바이트 코드 분석을 통해 Dalvik 바이트 코드가 실행하는 명령어 수 추정이 가능합니까?

  6. 6

    이 코드를 재사용하는 방법?. 자바 스크립트로 새로운 것을 배우고 싶다

  7. 7

    자바 카드의 바이트 배열 메모리 할당

  8. 8

    자바-다운로드로 바이트 배열 만들기

  9. 9

    생성자 바이트 코드

  10. 10

    다음 자바 스크립트 코드 재 작성

  11. 11

    자바 코드 이해

  12. 12

    안드로이드 또는 자바의 클래스에 대한 분석 바이트 배열

  13. 13

    CallVoidMethod를 사용하여 네이티브 코드에서 자바 코드로 매트 배열 전달

  14. 14

    앵커 코드를 자바 스크립트 배열로 대체

  15. 15

    단축 코드의 자바 스크립트 배열

  16. 16

    코드 로직 자바 스크립트 배열

  17. 17

    이 코드는 어떻게 작동합니까? (자바 재귀)

  18. 18

    ㄴ을 programm에서 쓰기 진수 바이트 코드 자바

  19. 19

    자바 바이트 코드 invokeinterface 명령어

  20. 20

    바이트 코드 분석에 ASM 사용

  21. 21

    PDF417 코드 워드 / 이진 배열을 ID 자동화 바코드 글꼴 코드로 변환

  22. 22

    자바의 코드 필드

  23. 23

    유니 코드 문자열로 바이트 디코딩

  24. 24

    페이지 재로드 자바 스크립트에 값 저장

  25. 25

    자바 스크립트 배열 슬라이드 쇼

  26. 26

    유니 코드 문자열과 바이트 문자열 비교

  27. 27

    안드로이드, 자바, 단순 비트 맵 인코딩

  28. 28

    C #-문자열 대신 바코드에 바이트 스트림 쓰기

  29. 29

    모듈 패턴 자바 스크립트 코드를 파일로 분할

뜨겁다태그

보관