摘要: 發布過Android應用的朋友們應該都知道,Android APK的發布是需要簽名的。簽名機制在Android應用和框架中有著十分重要的作用。
例如,Android系統禁止更新安裝簽名不一致的APK;如果應用需要使用system權限,必須保證APK簽名與Framework簽名一致,等等。在《APK Crack》一文中,我們了解到,要破解一個APK,必然需要重新對APK進行簽名。而這個簽名,一般情況無法再與APK原先的簽名保持一致。(除非APK原作者的私鑰泄漏,那已經是另一個層次的軟件安全問題了。)
簡單地說,簽名機制標明了APK的發行機構。因此,站在軟件安全的角度,我們就可以通過比對APK的簽名情況,判斷此APK是否由“官方”發行,而不是被破解篡改過重新簽名打包的“盜版軟件”。
閱讀全文
摘要: ProGuard是一個SourceForge上非常知名的開源項目。官網網址是:http://proguard.sourceforge.net/。
Java的字節碼一般是非常容易反編譯的。為了很好的保護Java源代碼,我們往往會對編譯好的class文件進行混淆處理。ProGuard的主要作用就是混淆。當然它還能對字節碼進行縮減體積、優化等,但那些對于我們來說都算是次要的功能。
引用ProGuard官方的一段話來介紹就是:
ProGuard is a free Java class file shrinker, optimizer, obfuscator, and preverifier. It detects and removes unused classes, fields, methods, and attributes. It optimizes bytecode and removes unused instructions. It renames the remaining cla
閱讀全文