2014-02-26 2 views
0

최근 프로젝트에서 우리는 비즈니스 규칙을 수정할 필요가 있지만 소스 코드가 없습니다.디 컴파일 된 자바 코드로 작업하기

나는 최신 제품에 jar 파일을 배포하고 JD-gui를 통해 열었습니다. 모든 리소스를 저장 옵션을 사용하여 컴파일 된 자바 파일을 가져올 수 있습니다. 이제 내 질문은 다음과 같습니다.

  1. 디 컴파일 된 java 코드는 각 줄마다 불필요한 줄 주석을 가지고 있습니다. 그들을 피할 수있는 방법이 있습니까?

  2. 일부 파일을 변경 한 다음 코드를 다시 컴파일하여 생산에 보내면 숨겨진 문제가 있습니까?

+3

Java 분해기에서 생성 한 코드가 항상 컴파일되는 것은 아닙니다. 컴파일 오류를 수정하는 데 상당한 시간을 소비하게 될 수도 있습니다. – assylias

+0

코드를 컴파일하고 작동시키기 위해 사소한 수정 만하면 운이 좋으면 생각해보십시오. –

+0

디 컴파일러 출력은 항상 컴파일되지 않을뿐만 아니라 ** 컴파일 * 할지라도 반드시 ** 정확하지는 않습니다. 디 컴파일러가 생성 한 코드를 재배포 할 때는 매우 신중해야합니다. JD-GUI가 잘못된 코드를 생성하는 경우가 몇 가지 있습니다. 다른 디 컴파일러가 더 좋을 수도 있지만, 여전히 트러블을 요구하고 있습니다. 이 경로를 선택해야한다면 적어도 2 개 또는 3 개의 적절한 디 컴파일러의 결과를 비교하고 결과가 일관성이 있는지 확인하십시오. Procyon, CFR, Krakatau를 권하고 싶습니다. –

답변

2

1. 어떤 도구를 사용했는지에 따라 다르지만 대부분의 경우 사용자가 스스로 정리해야합니다.
2. 일부 jar 파일에는 MD5 체크섬이 포함되어 있으므로 새 jar 파일을 작동 시키려면 체크섬을 제거하거나 업데이트해야합니다.

+0

3) 디 컴파일로 시작한 코드가 정확하게 생성되지 않습니다. 내가 decompiler (당신이 인용하고있는 컴파일러가 아닌)를 사용했던 몇 안되는 경우, 다시 컴파일하기 전에 수동으로 코드 일부를 다시 써야하는 상황을 보았습니다. 전체 코드 검토를하지 않고 성공적인 왕복 여행에 비즈니스를 걸고 싶습니다. – keshlam

+0

동의 ... 거기에 변수 이름이나 뭔가에 deformes 수 있습니다 ..하지만 지금은 내 decompiled 코드를 컴파일 할 수 있습니다 .. 어떤 오류없이 ... 그리고 난 하나의 파일을 변경할 필요가 발견 ... am 오전 그 파일을 특별히 바꾸려고 생각하면 ... 컴파일하고 원래의 항아리에있는 그 하나의 파일을 대체하십시오. – Apt