또다른 어플리케이션과 내장 메모리 얘기입니다.. 이번에는 유료앱 혹은 특별히 복사 방지를 하고 있는 어플 얘기인데요, 얼마나 DRM이 우습게 적용되고 있는지에 대한 얘기입니다.. 한국에선 당장 내장 메모리 용량의 압박과 관련된 얘기죠..

유료앱 혹은, 금융 관련 앱들은 복사 방지를 나름대로 하고 있습니다.. 일단 Package파일이 다른데요, 확장자가 zip입니다.. 정말 zip파일입니다.. 이게 설치가 되면, /data/app디렉토리로 카피가 됩니다.. 이것 까지는 일반 어플과 동일하죠.. 물론 zip확장자는 App Installer로는 설치가 안됩니다.. 확장자를 바꿔도 설치가 안되는 어플이 있습니다.

하여간, 이걸로 끝나는게 아니고, 이 파일을 확장자를 바꿔서 apk파일로 만들어서 /data/app-private으로 집어넣습니다. /data/app-private디렉토리는 루팅을 하지 않으면 접근이 안되는 디렉토리라서, 불법 복제에서 보호할수 있다고 판단한거죠..

자.. 이게 다가 아닙니다.. apk는 그냥 인스톨 파일이고 실행 파일은 내부의 classes.dex입니다.. 이걸 /data/dalvik-cache로 집어넣죠.. 하나의 프로그램이 몇개의 카피를 만드는지 보세요.. zip, apk 그리고 dex.. 3개가 깔립니다..

실험을 한가지 해 봤습니다.. /data/app에 있는 zip파일이 필요한가.. 예.. 필요합니다.. 없으면 Launcher에서 사라집니다.. Launcher는 /data/app에서 정보를 읽어옵니다.. 그래서, Symbolic Link를 걸었습니다..

ln -s /data/app-private/com.android.aldiko.apk /data/app/com.android.aldiko.zip

이렇게 하면.. 실행 잘 됩니다.. 안될 이유가 없죠.. apk나 zip이나 둘다 Zip folder file 입니다..

aldiko란 어플을 예로 들었는데, 전 Premium버전 사용자입니다.. Lite버전은 1.09MB인데, Premium Version은 2.18MB입니다.. 아.. 정품이라 뭔가 기능이 조금 더 있는가보다.. 그런데, 설치후에 아무리 깔아봐도 차이점을 찾을수 없었습니다.. 단 하나... 정품은 /data/app에도 설치 파일을 깔고 /data/app-private에도 깔기 때문에.. 두군데서 용량을 먹는 겁니다.. classes.dex까지 합치면, 2.8MB나 차지합니다..

이런 종류의 어플 중에, 회색님의 colordict도 있습니다.. ^^ 회색님.. 바꿔주세요.. apk로..