鍍金池/ 問答/Android/ 能否在一個第三方的APK中,修改一下JS代碼,然后重新打包?多謝

能否在一個第三方的APK中,修改一下JS代碼,然后重新打包?多謝

我們老大讓我研究一個軟件,apk的,看看人家是怎么用js和java交互,完成一系列操作的。
我以前聽說過可以通過“反編譯,再打包”的形式,修改別人的apk。

在我們想要研究的apk中,我用直接解壓縮就能看到他們的js代碼,放在asset文件夾下。我們的前端開發(fā)說,我們可以簡單改一下這個js,輸出一些關(guān)鍵數(shù)據(jù),就能研究js和java的交互邏輯了。(這個軟件最終會通過webView加載這個js,進(jìn)行一系列的操作,我們可以通過Chrome來debug這個WebView)

請問,這個目的能實(shí)現(xiàn)嗎?應(yīng)該怎么做?
多謝

PS:我們不是要偷什么,只是想看看人家是怎么設(shè)計的。

回答
編輯回答
鐧簞噯

APK是一個zip包,asset文件夾會原封不動的保留,不參與arsc和R文件的生成,可以直接解壓替換該目錄下任意文件,然后進(jìn)行重新打包簽名運(yùn)行,只要apk沒有在運(yùn)行時做一些校驗(yàn),就可以得到你想要的結(jié)果。

2017年1月27日 15:24
編輯回答
撿肥皂

csdn上有人這么做過,出過博文,去找下吧

2017年11月18日 10:56
編輯回答
萌面人

js和java交互,去看weex的framework吧。
本質(zhì)是native和js之間的映射和消息傳遞。
最終的native的v8引擎是c++寫的。

2017年10月31日 07:39
編輯回答
憶當(dāng)年

你的目的是研究反編譯打包嗎?
還是為了JS和java的交互?

按我的理解,為了js和java交互吧
重新打包,植入是一個技術(shù)活,即使重新打包完成了,簽名也不一樣了,現(xiàn)在android普遍是V2打包,已經(jīng)不能再使用簡單的解包打包的方案了

為了android/h5的交互的話 有很多文章都可以借鑒,交互都還算比較簡單

2018年2月24日 14:33
編輯回答
懷中人

前段時間寫了一個js和原生(目前提供了和Java交互)交互的庫,https://github.com/zhaomenghu...。簡單說下特性:支持js主動通過同步及異步方法調(diào)用。支持原生主動提供調(diào)用js,js能夠監(jiān)聽原生層的數(shù)據(jù)。支持 js 直接調(diào)用系統(tǒng)API,無需原生層寫插件,主要利用 java 反射機(jī)制。

2018年9月3日 02:35
編輯回答
薄荷糖

可以啊 最多重新打包一下嘍 我們經(jīng)常這么干 哈哈

2017年4月26日 20:14
編輯回答
枕邊人

給你幾個關(guān)鍵詞 apktool.jar, signapk.jar

或者直接百度AndroidKiller(結(jié)合了apktool和signapk等工具的一個結(jié)合工具包)

2018年6月5日 13:39