Android 台灣中文網
標題: apk解密實戰--線上聽歌軟體 [打印本頁]
作者: fam1001 時間: 2016-3-28 10:58
標題: apk解密實戰--線上聽歌軟體
近日使用某連線聽歌軟體,有不少兒童故事不錯,但連線聽經常出現時斷時續情形,而軟體要求積分大於1500才可整頁下載。要滿足積分條件需要手動安裝其推薦的數十個應用,簡直是坑爹。故決定破解之。
假定要破解apk的名字為mytest.apk,則破解步驟如下:
步驟 1:得到resource及smali檔案1)得到apktool工具2)DOS命令視窗下進入到apktool.bat所在的資料夾裡
1.D:android oolapktoolapktool d C:mytest.apk C:out
命令行解釋:apktool d 要反編譯的檔案 輸出資料夾
特別注意:你要反編譯的檔案一定要放在C盤的根目錄裡,
3)開啟 C:out資料夾 就可以得到各種資源了步驟
2:得到java檔案
方法a:- 把apk檔案改名為.zip,然後解壓縮出其中的class.dex檔案
- 安裝把dex檔案反編譯為jar檔案的工具dex2jar。http://code.google.com/p/dex2jar/downloads/list
- 把class.dex拷貝到dex2jar.bat所在目錄。
- 生成jar檔案classes.dex.dex2jar.jar[java]dex2jar.bat classes.dex
- 安裝把jar反編譯為java的工具。(JD-GUI)
- 執行JD-GUI工具,開啟上面的jar檔案
- File -> Save All Sources將生成Java源代碼檔案到c:out
方法b(TBV)- 從out目錄下取得dexdump。
- adb shell dexdump -d -f -h /data/dalvik-cache/data@[email protected]@classes.dex > twitpic.text
步驟3:破解源代碼
1)查找位置由於此軟體要求積分大於1500才可下載,故開啟java檔案,查找1500發現有三個檔案有定義,PlayActivity$12.java,Cfg.java,ScoreDialog$5.java。
PlayActivity$12.java
- final class PlayActivity$12 implements Runnable
- {
- public void run()
- {
- ...
- int i = 1500;
- int j;
- Cfg.IS_WITHAD = j;
- if (j != 0)
- {
- if (this.val$arg1 >= i) //似乎為顯示廣告門限控制值
- break label91;
- boolean bool2 = Cfg.HIDDEN_GUANGGAO;
- label35: boolean bool3; //???
- Cfg.HIDDEN_GUANGGAO = bool3;
- Cfg.SaveBool("hiddenguanggao", bool3);
- }
複製代碼
ScoreDialog$5.java
- final class ScoreDialog$5 implements Runnable
- {
- public void run()
- {
- Object localObject1 = null;
- int i = 17301659;
- int j = 1500; //Score
- ...
- if (localProgressDialog != null)
- if (this.val$arg1 < j) //可以猜出此為定義的分數之一,如不滿足則彈出對話框
- {
- ScoreDialog localScoreDialog1 = this.this$0;
複製代碼
Cfg.java
- public class Cfg
- {...
- public static final int HIDDEN_GUANGGAO_NEED_SCORE = 1500; //似乎為顯示廣告與否的分數門限值
複製代碼
PlayActivity$12.java
- final class PlayActivity$12
- implements Runnable{
- public void run()
- {
- boolean bool1 = true;
- DialogInterface.OnClickListener localOnClickListener1 = null;
- int i = 1500;
- 但HIDDEN_GUANGGAO_NEED_SCORE並未被其他任何檔案應用,但保險起見任然改動此值。
複製代碼
2)更改smali檔案smali檔案只是將java檔案的後綴改為.smali,故可找到上述三檔案對應的smali檔案
Cfg.smali
- .field public static final HIDDEN_GUANGGAO_NEED_SCORE:I = 0x5DC //此處改為0x0
複製代碼
PlayActivity$12.smali
- .method public run()V
- .locals 6
- .prologue
- const/4 v2, 0x1
- const/4 v4, 0x0
- const/16 v3, 0x5DC //此處改為0x0
複製代碼
ScoreDialog$5.smali
- .method public run()V
- .locals 10
- .prologue
- const/4 v7, 0x0
- const v5, 0x108009b //對應17301659
- const/16 v6, 0x5DC //此處改為0x0
複製代碼
步驟4 將反編譯完的檔案重新打包成apk檔案out.apk
- apktool b c:out out_raw.apk
複製代碼
步驟5:對生成的apk簽名
1)準備工具2)準備簽名檔案[java]
1."C:Program FilesJavajdk1.6.0_24inkeytool" -genkey -alias wendy.keystore -keyalg RSA -validity 20000 -keystore wendy.keystore
注意密碼為6位數,如123456。
3)簽名[plain]
1."C:Program FilesJavajdk1.6.0_24injarsigner" -verbose -keystore wendy.keystore -signedjar out.apk out_raw.apk wendy.keystore
此處需輸入第2步的密碼123456,執行完即可生成簽名後的apk檔案out.apk.
安裝後,發現原有限制被破解了,一切成功。
作者: alarm21 時間: 2016-9-27 14:02
看完你的內容
應該可以試試看
作者: mc9765 時間: 2016-12-6 05:16
看完你的內容
應該可以試試看 !!!
作者: qweruipo3 時間: 2016-12-18 22:50
看完你的內容
應該可以試試看 !!!
作者: jaulong 時間: 2017-6-25 12:25
看完你的內容
應該我還是不會
作者: jimmy724 時間: 2018-2-22 22:04
看了你的介绍, 到想下载来试试手
作者: netleoian 時間: 2018-5-17 09:35
想請問
ScoreDialog$5.smali 跟 PlayActivity$12.smali
個別是在處理什麼嗎?
看完之後還是不太懂 怎都是兩個都是放0放回去?
作者: hytang 時間: 2020-12-10 17:02
看完你的內容
應該我也是不會!!!太難了
作者: fh7889 時間: 2021-1-28 09:28
看完你的內容
我決定了
我還是不要聽歌好了
作者: avc978 時間: 2021-1-28 15:07
很詳細,可以拿來當參考資料,趕戲ㄝ
作者: runamokula 時間: 2021-2-1 22:32
看完你的內容
應該我還是不會
作者: gzwzgs 時間: 2021-3-1 07:24
看完你的內容
應該可以試試看 !!!
作者: treehawthorn 時間: 2021-7-6 16:42
太難了!!我還是不要聽歌好了
作者: evilsp 時間: 2021-9-12 16:17
感謝大大的密技
實在是太好用了
作者: evilsp 時間: 2021-12-23 22:56
很詳細,可以拿來當參考資料,趕戲ㄝ
作者: evilsp 時間: 2021-12-23 22:59
很詳細,可以拿來當參考資料,趕戲ㄝ
作者: p0937795182 時間: 2022-2-6 17:43
看完你的內容
應該我還是不會
作者: leochen0106 時間: 2023-3-16 19:45
看完你的內容 給你一個讚!!!!!!!!
作者: great1197 時間: 2023-7-1 05:50
看完上面的做法,我都暈了~~
還是請樓上的各位大大試吧!!
作者: jackyu0215 時間: 2023-8-11 16:50
看完你的內容
應該我要試試1500遍,才可能破解成功 / \
作者: yyhung 時間: 2023-8-15 12:24
看了樓主的說明
只能說,太強大了
不過,我可能仍然學不會
無論如何
還是謝謝樓主無私的分享
作者: vic003627 時間: 2023-9-26 08:37
看完你的內容
應該我還是不會
作者: lljh80168 時間: 2024-4-6 08:45
非常詳細,趕快來實驗看看
歡迎光臨 Android 台灣中文網 (https://apk.tw/) |
Powered by Discuz! X3.1 |