創作內容

0 GP

【轉】apk.pak文件解包(簡)

作者:最後的NPC│2019-05-07 15:53:20│巴幣:0│人氣:876
常用工具下載連結:
http://www.androiddevtools.cn/
本文主要用到的工具:MT管理器

破解思路:
拿到一個遊戲一定要先進行試玩  看看有沒有什麼關鍵的字串 並觀察佈局特徵
當破解沒有思路的時候   可以adb連接   列印log進行分析
DDMS也很好用  適合於快速定位

要破解APK,首選我們要搞清楚APK檔包的結構,這也是教程裡黑色老師經常說到的,要分析一個遊戲,得先會玩那個遊戲,才能寫好輔助
APK檔結構分析:

實際上可以算作一個zip壓縮包   解壓後會得到
AndroidMainifest.xml :   配置清單(二進位格式)
assets  : 是資原始目錄,一般存放圖片什麼的
lib :是動態庫目錄 一般存放so檔
res :資源庫目錄 一般存放xml佈局檔和圖示
classes.dex:  安卓系統上的可執行檔,也是我們逆向的主要的檔,源碼都被編譯在裡面,如有多個是因為每個dex裡最多存放65535個方法,而項目的方法數超出了這個數量,所以被分成多個保存
META-INF:簽名檔目錄
resources.arsc :資源索引檔,包含語言包,漢化的話一般是反編譯這個檔

結構大概我們清楚了,接下來就是還有知道一些分析安卓程式碼的相關關鍵字
內購關鍵字:
和遊戲搜索方法名
onResult,onchinabilling,resulton,Paycenter,Callback
聯通遊戲搜索方法名
OnPayResult,PyaResulton,Activity,result,callback
電信愛遊戲搜索方法名
paySuccess成功,payCancel取消,payFailed失敗
移動mm搜索方法名
onBillingFinish,Billing,CallBack
支付寶和銀行卡方法名
handle,message
支付寶搜索字元:9000
360支付
onfinishedon,Activityresult
發送短信上限:android.permission.SEND_SMS
發送短信鎖定支付式關建字串

運營商網路特徵碼備註
中國移動46000、46002、46007、46020return 0 getMobileType
中國聯通46001、46006、46010return 2 getOperatorType
中國電信46003、46005、46011return 1 getSimType

舉例分析:
if-eqz v6 :label_104 意思是判斷v6是否等於0 如果等於0就跳轉到 label_104
所以當label_104對應為失敗代碼時 直接刪除該跳躍陳述式也就是if-eqz v6 :label_104
if-nez v3 :label_86 意思是如果v3不等於0就跳轉到label_86 而他的代碼是
label_86:
return_void
所以是正確代碼 必須讓他直接跳轉到這裡來 所以將if-nez v3 :label_86改為goto :label_86
如果有取消支付選項 可以將該選項加入最後的*switch中
move v1 v6意思是將v1的值傳給v6
const/4 v1 1意思是將v1設置為1



4399遊戲破解攻略http://a.4399.cn/(4399手機遊戲官網)
1. 搜索兩次單機(方法名)
2. 搜索兩次侵權(方法名  有的遊戲不需要)
3. 簽名

(1) 街機大富翁
直接修改初始金幣和經驗
字元常量池直接過濾gold 找到player_gold 直接搜索 進入get_gold
Const/16 v2 0x64  保存後再看發現變成了負數(因為超過了最大範圍)
所以直接改進制 去掉/16
將升級所需的經驗值該小 進入assets資源檔夾 進入data 找到相應檔 以文字編輯器打開

分析過其他遊戲關鍵字我給大家參考下吧:

1. 如果遊戲是咪咕遊戲http://g.10086.cn/(官網),就用onresult
(1)格鬥三國志
如果看著不太對 沒有正確錯誤什麼的,就找路徑
三網鎖定 把if都刪了

(2)豬豬俠之傳奇射擊
進入之後發現啥都沒有 可以搜索一下字串 看看正常不 有沒有什麼.so檔之類的  看看classes.dex檔大不大 700多kb就算大 一般可能會加密而不會是加殼
直接搜payrSuccess   想彈窗題詩就直接吧paySuccess裡邊的代碼全部粘貼到payFaile裡   把方法路徑改一下

(3)火柴人聯盟
盜版驗證彈窗  按鈕事件    1就代表成功 0失敗 2取消
常量搜索setPositiveButton  按鈕事件觸發check 看代碼最後調用的是 popKuangInfo
直接搜索他 讓其他調用他的直接return_void
去除短信許可權  進入字元常量池 過濾sms  將android.permission.SEND_SMS刪去
(4)3D狂野飛車3-極速前進官方

發現有作弊應用某修改器 彈窗提示讓我們卸載
2. 如果遊戲是愛遊戲http://www.play.cn/(官網),就用paysuccess
3. 如果遊戲是mm遊戲http://mm.10086.cn/(官網),就有 onbillingfinish
4. 百度手機助手 天天格鬥

搜索onresult 發現沒有支付相關的代碼
接著搜索paysucess 後邊帶有listen的是說明
將成功的代碼分別粘貼到取消和失敗哪裡  接著去掉短信許可權
簽名後安裝購買道具還是會顯示支付失敗!!!
接著搜索paysucess代碼裡最後調用的那個方法名

5. 腦電波
支付寶內購  搜索9000 刪除某跳轉
微信內購   搜索onresp

新手必讀背部分語法的意思(必背):
“if-**”條件判定
“goto :label_**”直接跳轉到:label_**
"label:**"用於跳轉的,就是執行它下面的一串代碼
"if-eq vA, vB, :label_**" 如果vA等於vB則跳轉到:label_**
"if-ne vA, vB, :label_**" 如果vA不等於vB則跳轉到:label_**
"if-lt vA, vB, :label_**" 如果vA小於vB則跳轉到:label_**
"if-ge vA, vB, :label_**" 如果vA大於等於vB則跳轉到:label_**
"if-gt vA, vB, :label_**" 如果vA大於vB則跳轉到:label_**
"if-le vA, vB, :label_**" 如果vA小於等於vB則跳轉到:label_**
"if-eqz vA, :label_**" 如果vA等於0則跳轉到:label_**
"if-nez vA, :label_**" 如果vA不等於0則跳轉到:label_**
"if-ltz vA, :label_**" 如果vA小於0則跳轉到:label_**
"if-gez vA, :label_**" 如果vA大於等於0則跳轉到:label_**
"if-gtz vA, :label_**" 如果vA大於0則跳轉到:label_**
"if-lez vA, :label_**" 如果vA小於等於0則轉到:label_**
A,B指數字,**也是指數字

代碼就這麼多,要想學好破解一定要熟記每一個代碼並知道其中的含義

分析一些常用的代碼:
彈窗的關鍵字: oncreate
成功代碼:invoke-interface {v3,v2} Lcn/egame/terminal/paysdk/EgamePayListener;->paySuccess(Ljava/util/Map;)V
return-void
支付上限用到的代碼:carrier_pay_out_limit              
這個是在檔裡面搜索的代碼:no_propriate_pay_method
破解盜版驗證用到的代碼:dialog_initconfig_msg          
本文章轉載來著獨立團論壇:http://bbs.dult.cn

引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4384450
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 0 篇留言

此作品限屋主留言!

前一篇:魔法全書【理論】... 後一篇:【轉】快貓vip線破解...

追蹤私訊切換新版閱覽

作品資料夾

maochinn大家
開箱了why-STUDIO的狂三!看更多我要大聲說昨天15:29


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】