Android 加殼App Demo

接上一篇...android

本篇也是Android 應用安全防禦和逆向分析的一個demo源碼實現,git

由於書中寫的源碼地址找不到,寫的也是csdn的,下載極其不便,因此便想參考書裏內容寫一個上傳開源。github

加殼app主要有三部分,1. 源app 2. 加殼app 3. 加殼工具shell

其實就是把源apk加一層殼保護起來,反編譯看到的就只是加殼app安全

這個demo實用性不大,主要用來學習app

原理主要是在安裝殼app的時候將源app解密出來從新安裝吧,具體流程沒仔細研究~若有誤請指出函數

原理和問題有兩篇博客已詳細分析,故不寫了:工具

https://blog.csdn.net/androidsecurity/article/details/8809542#commentsedit學習

https://blog.csdn.net/itfootball/article/details/50962459gradle

要注意的地方:

AndroidManifest.xml中

<meta-data android:name="APPLICATION_CLASS_NAME" android:value="com.example.signatureprotect.MyApplication"/>
這裏是源app的Application包名和類名
protected void attachBaseContext(Context base) 函數中
RefInvoke.setFieldOjbect("android.app.LoadedApk", "mClassLoader", wr.get(), dLoader);
Object actObj = dLoader.loadClass("com.example.signatureprotect.MainActivity");
源app的包名和類名

加殼app和源app的res文件是如出一轍的

注意這兩個app編譯的resID也要同樣才行,否則會找不到資源,兩個app 的gradle的版本不同可能會致使編譯的resID不同

加殼工具:

主要是將app按照必定的格式從新組合

我是參考這裏改了一點點東西:

https://github.com/vbanqi/shellApk/tree/master/unshell/src/com/android/dexunshell

 

最後,源碼路徑:

https://github.com/george-cw/AppAddShellDemo

由於使用的源碼app是以前的使用簽名保護的app,因此要將加殼app的簽名用於源app的簽名斷定~

相關文章
相關標籤/搜索