언제부터인가 스미싱 악성코드에서 APKProtect 라는 APK 보호 솔루션을 사용하고 있다.
참고자료 : http://viruslab.tistory.com/2801
APKprotect 리뷰/검토 내용 : http://chogar.blog.me/80204437121
<Fig1. http://apkprotect.com >
해당 솔루션이 적용되어 있는지 확인하는 방법은 apk안에 apkprotect.com 폴더가 생성되고 key.dat파일과 readme.txt가 생성된다.
<Fig2. apkprotect.com>
보호 된 classes.dex 파일을 dex2jar로 디컴파일을 하게 되면 에러가 발생하여 분석할 수 없다.
<Fig3. Error >
<Fig4. 잡았다 요놈! >
분석해보니 의외로 간단한 트릭이여서 Anti_APKProtect를 개발하였다. Unpacker라고 해야 하나 @.@
<Fig5. 실행>
깔끔하게 잘 열린다~
<Fig6. Java Decompiler >
여러 샘플을 제공해 주신 김남준님에게 무한한 감사를
-------------- 2014-03-31 Bugfix/Update 0.02 ---------------
특정 조건에 의해 unpack 하지 못하는 버그가 수정되었으며, 기존 알고리즘을 개선하였습니다.
<Fig7. Registration Code >
등록 코드를 kkoha@msn.com으로 메일로 보내주셔야 사용이 가능합니다.
-------------- 2014-04-19 Bugfix/Update 0.03 ---------------
<Fig8. ㄱ*ㄲ... >
세월호 침몰사고 사칭 스미싱앱이 디컴파일 되지 않는 문제를 수정하였습니다.
<Fig9. 실행 >
-------------- 2014-10-10 Bugfix/Update 0.04 ---------------
드디어 APK Protect Professional 버전을 지원합니다.
<Fig10. APKProtect.so >
lite 버전보다 상위 버전으로 난독화를 적용한 앱은 lib/armeabi/libAPKProtect.so파일이 존재합니다.
<Fig11. 실행 >
<Fig12. Unpacked >
원본 apk에서 실제 동작하는 apk를 추출하여 암호화된 문자열을 복호화합니다.
<Fig9. Deobfuscation >
암호화된 문자열 : 복호화된 문자열로 구분하였습니다. 복호화된 문자열 중 마지막에 깨진 문자열은 무시하세요.
샘플을 제공해 주신 김남준님에게 무한한 감사를
<Fig9. Not Support >
다음과 같은 에러가 나오는 샘플을 저한테 보내주시면 분석해서 반영 하겠습니다.
차기 버전은 여기서 다운로드가능합니다.
http://kkoha.tistory.com/entry/AntiAPKProtecten
-------------- 2015-04-07 ---------------
vmware에서 동작하지 않으며, java 32비트에서 동작합니다.