一、霸哥
1.使用jadx-gui反編譯源碼
2. 啓動閃退正常都是在啓動類中做了簽名校驗,我們直接在MainActivity的OnCreate中看源碼(通過Android Killer中可知MainActivity爲啓動類)
(1)
(2)
4.霸哥的代碼量不多,很容易看出是在哪裏做的簽名校驗,將這兩處比較可以的代碼在smali中給他註釋掉
(1)
(2)
5.重寫打包簽名後,進行安裝,但還是會閃退,推測so層可能也有校驗 ,使用IDA打開so安裝包裏的so文件
6. 在方法列表中,很直白的,getSignHashCode這個方法名非常有可能是簽名校驗的方法,直接進入方法,並F5查看源碼
7.可以看到,此處校驗有一個退出的命令,那麼我們就想辦法不讓他退出
(1)
(2)
(3)
(4)
(5) 切換16進制編碼處同步
(6) 在16進制視圖中,將exit用 00 00 00 00給去掉
8.打包簽名重寫安裝,完成!
二、MySign
1.同上一樣,在jadx-gui中打開apk
2.此時就是尋找可能是簽名校驗的代碼
(1)
(2)
(3)
(4)
(5)
3.在Android Killer中找到對應的smali代碼,將其註釋掉
(1)
(2)
(3)
(4)
(5)
完成