http://code.google.com/p/android-apktool/ 에 open source project가 진행중이며, apk를 풀고 다시 빌드하는 것이 가능하다.
1. 해당 사이트에서 apktool을 다운로드하고 기재된 install방법으로 설치한다.
2. apk 디코딩
>apktool d -d name.apk out
3. out 폴더에 있는 source file(dalvik bytecode)과 resource file을 수정한다.
4. apk 빌드
>apktool b -d out
5. 위까지 수행하게 되면 out/dist/out.apk 가 생성되며 이 out.apk를 sign해주면 완료.
Sign방법은 http://developer.android.com/guide/publishing/app-signing.html 를 참고하면 된다.
참고:
1. leehack이 사용한 Sign관련 command.
C:\Sun\SDK\jdk\bin\jarsigner -verbose -keystore E:\Works\Android\Android_2.1_Library\debug.keystore out.apk androiddebugkey
password: android
2. Dalvik Byte 코드에 관련된 문서.
Dalvik opcode list: http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html
Dalvik bytecode?: http://pallergabor.uw.hu/common/understandingdalvikbytecode.pdf