2011-08-22 4 views

답변

3

자신의 응용 프로그램을 리버스 엔지니어링하십시오. 코드에서 읽을 수있는 내용을 확인하십시오.

는 다음과 같은 질문을 사용

decompiling DEX into Java sourcecode

http://www.taranfx.com/decompile-reverse-engineer-android-apk

+1

고맙습니다. 내가 모호한 두 가지 응용 프로그램과 난독 처리하지 않은 다른 두 개의 응용 프로그램을 디 컴파일했습니다. 두 앱의 코드 (난독 화 및 난독 화)는 동일하게 보입니다. 변수 이름은 변경되었지만 클래스 이름과 기타 등등은 동일하게 유지됩니다. 난독 화가 어떻게 작동합니까? 어떻게하면 난처하게하지 않은 프로젝트에서 변수 이름이 변경 되었습니까? – dell116

+0

그건 프로 가드가 어떻게 작동하는지에 달렸지 만 ... 나는 그다지 많은 경험이 없습니다! –

11

dump.txt, mapping.txt, seeds.txtusage.txt을 찾으십시오. 그들은 아마도 프로젝트 디렉토리의 proguard 폴더에있을 것입니다. ProGuard가 코드에서 실행될 때 생성됩니다.

이들은 난독 처리에 대한 정보로 채워져 있으며, 특히 유용합니다. mapping.txt은 ProGuard에서 다양한 회원 이름을 바꾼 것을 보여줍니다.

+1

프로젝트 디렉토리에 ProGuard 폴더가 있지만 그 안에 zilch가 있습니다 .... 아무 것도 .... ProGuard가 내 코드를 제대로 이해하지 못했다고 생각합니까? 이 파일들이 다른 디렉토리에있을 수 있습니까? – dell116

+0

프로젝트 아래에 'proguard' 폴더가 있습니까? 그렇지 않다면 아마도 제대로 실행되지 않았을 것이라고 말하고 싶습니다. –

+0

예 .proguard 폴더가 있습니다 ... 내용이 없습니다 .... 내 하드 드라이브 어디에서나 언급 한 파일을 찾을 수 없습니다 ... 그래서 프로 가드를 통해 실행했을 때 무언가가 파손되었을 것입니다. .... ohht oh .... – dell116

0

DISCALIMER : 나는 decompileandroid.com의 소유자가 아닌이고 나는 그것을 촉진하기 위해 지불하고 있지 않다. 나는이 봉사에 만족하는 이민자 다.

실제로 여러 가지 도구를 얻고 그 중 하나의 출력을 다른 출력으로 전달하는 것보다 쉬운 방법이 있습니다 (물론 이것은 당신에게 무슨 일이 일어나고 있는지 더 잘 제어 할 수있게 해줍니다). 당신은

decompileandroid.com

는 기본적으로 업로드 서비스와의 .apk 파일을 사용할 수 있으며, 그것은 당신을 위해 모든 단계를 수행합니다. 그런 다음 디 컴파일 된 소스가 들어있는 .zip 파일을 다운로드 할 수 있습니다.

먼저 .apk 내장 디버그 모드를 업로드 한 다음 .apk 내장 릴리스 모드를 업로드 할 수 있습니다. 릴리즈 빌드를 위해 build.gradle 파일에 플래그 minifyEnabledtrue으로 설정되어 있는지 확인하십시오.

필자의 경우 차이점은 분명했다. 대부분의 클래스는 축소 된 빌드에서 a, b, c 등으로 명명되었다.

+0

Yikes! 제 말은, 디버깅 가능하고 난독 화되지 않은 빌드를 웹 서버에 업로드 할 때의 영향을 이미 알고 있다고 확신합니다. 결국 우리는 난독 화에 대해 이야기하므로 제 3자가 코드를 읽을 수 없습니다. 이 사이트가 표면에서 잘 보이긴하지만 나는 그것을 신뢰할 것이라고 확신하지 못합니다. – dell116

+0

물론 대부분의 상황에서 APK를 원격 서버에 업로드하고 싶지는 않습니다. 특히 상업 프로젝트에. 나는 이것을 더 쉬운 대안으로 주었다. 제 경우에는 테스트 프로젝트 였으므로 걱정할 필요가 없었습니다. 물론 문제가되지 않는다면 난독 화 버전 만 업로드 할 수 있습니다. 이 경우 난독 화가 얼마나 효과적인지 알 수 있습니다. –