手机端apktool最新反编译教程
一、工具准备:apktool , dex2jar , jd-gui
二、使用dex2jar + jd-gui 得到apk的java源码
1.用解压工具从 apk包中取出 classes.dex 文件
用命令(dex2jar.bat classes.dex)得到一个 jar文件
2.用jd-gui反编译工具将得到.jar文件反编译成.java文件
三、使用apktool得到apk的xml文件
1.用命令(apktool d xxx.apk xxx_xml)反编译xxx.apk包
2.从 xxx_xml 文件夹得到xml文件
四、第二步 得到的程序源代码 和 第三步 得到的xml文件组合下,即可得到完整的apk源码。
五、应用: 汉化/去广告,加 values-zh-rCN, values-zh-rTW, values-de, values-fr
1.在步骤三的文件夹xxx_xml/res/ 下, 建文件夹: values-zh-rCN,values-zh-rTW
2.1复制values\strings.xml 到 values-zh-rCN 并翻译.
2.2 去广告见;
3.重建APK,用命令(apktool b xxx) ,输出到ABC/dist/out.apk
或命令( apktool b xxx out.apk)
六、重新打包 和 签名
Ⅱ apktoolapk鍙岖紪璇戣蒋浠禫141缁胯壊姹夊寲鐗坅pktoolapk鍙岖紪璇戣蒋浠禫141缁胯壊姹夊寲鐗埚姛鑳界亩浠
澶у跺ソ,鍏充簬apktool(apk鍙岖紪璇戣蒋浠) V1.4.1 缁胯壊姹夊寲鐗堬纴apktool(apk鍙岖紪璇戣蒋浠) V1.4.1 缁胯壊姹夊寲鐗埚姛鑳界亩浠嬭繖涓寰埚氢汉杩树笉鐭ラ亾,鐜板湪璁╂垜浠涓璧锋潵鐪嬬湅钖э紒
銆銆apktool 鏄涓娆炬搷浣灭亩鍗曞姛鑳藉己澶х殑apk鍙岖紪璇戣蒋浠讹纴瀹冭兘澶熷皢鍙岖紪璇戠殑APK鏂囦欢淇濆瓨鍒板悓钖岖洰褰曚腑锛岃屼笖杩樿兘甯鐢ㄦ埛灏嗗弽缂栬疟镄刣ex銆乷dex 閲嶆柊缂栬疟鎴恉ex鏂囦欢锛岄潪甯稿疄鐢ㄣ
灏忕紪绮鹃夛细APK鍙岖紪璇戝伐鍏
锷熻兘璇存槑锛
銆銆1銆佸弽缂栬疟APK鏂囦欢锛岀敓浜у埌钖屽悕鐩褰曚腑
銆銆2銆佸皢鍙岖紪璇戠殑APK閲嶆柊缂栬疟锛屽湪褰揿墠鐩褰旷敓鎴2涓鏂囦欢锛1涓绛惧悕镄勫拰涓涓链绛惧悕镄
銆銆3銆佸弽缂栬疟dex锛宱dex杞瑂mali鏂囦欢
銆銆4.銆佸皢鍙岖紪璇戠殑dex銆乷dex 閲嶆柊缂栬疟鎴恉ex鏂囦欢
銆銆5銆佸皢dex杞鎴恓ar
銆愭搷浣沧暀绋嬨
銆銆1銆佸皢闇瑕佸弽缂栬疟镄𪞝PK鏂囦欢鏀惧埌杞浠剁洰褰曚腑
銆銆2銆佹墦寮锻戒护琛岀晫闱锛岃繍琛-CMD 锛屽畾浣嶅埌apktool鏂囦欢澶癸纴杈揿叆浠ヤ笅锻戒护
銆銆apktool.bat d -f test.apk test
銆銆锛屽懡浠や腑test.apk鎸囩殑鏄瑕佸弽缂栬疟镄𪞝PK鏂囦欢鍏ㄥ悕锛宼est涓哄弽缂栬疟钖庤祫婧愭枃浠跺瓨鏀剧殑鐩褰曞悕绉帮纴鍗充负锛歛pktool.bat d -f [apk鏂囦欢 ] [杈揿嚭鏂囦欢澶筣
銆銆璇存槑銮峰彇鎴愬姛锛屼箣钖庡彂鐜板湪鏂囦欢澶逛笅澶氢简涓猼est鏂囦欢锛岀偣鍑讳究鍙浠ユ煡鐪嬭ュ簲鐢ㄧ殑镓链夎祫婧愭枃浠朵简銆
銆銆濡傛灉浣犳兂灏嗗弽缂栬疟瀹岀殑鏂囦欢閲嶆柊镓揿寘鎴恒pk锛岄偅浣犲彲浠ワ细杈揿叆apktool.bat b test锛屼綘缂栬疟鍑烘潵鏂囦欢澶逛究鍙锛屾晥鏋滃备笅锛
銆銆涔嫔悗鍦ㄤ箣鍓岖殑test鏂囦欢涓嬩究鍙浠ュ彂鐜板氢简2涓鏂囦欢澶瑰垎鍒鏄
銆銆build
銆銆dist(閲岄溃瀛樻斁镌镓揿寘鍑烘潵镄𪞝PK鏂囦欢)
銆愮寽浣犲枩娆銆
銆銆apk鍙岖紪璇戝伐鍏凤细LB-APK宸ュ叿鏄涓娆惧畨鍗撹惧囩殑apk鍙岖紪璇戝伐鍏凤纴瀹冮泦鎴愪简adb锛孶SB璋冭瘯鐢ㄧ殑銆 aapt锛孶SB瀹夎呭簲鐢ㄣ佸彇璁惧囧垪琛ㄣ侀吨钖璁惧囩瓑锛屼笖鐢变簬浣跨敤镄勬敮鎸佸簱杈冨氾纴镓浠ヨ繖娆惧弽缂栬疟宸ュ叿鐢ㄤ简闱欐佺紪璇戙伞銆Dodo APKTools(Dodo鍙岖紪璇戝伐鍏) V1.0 缁胯壊鐗堬细Dodo APKTools鏄涓娆鹃潪甯稿ソ鐢ㄧ殑鍙岖紪璇戝伐鍏凤纴瀹冨彲浠ュ府锷╂垜浠鎶夹PK鍙岖紪璇戠敓鎴愮▼搴忕殑婧愪唬镰佸拰锲剧墖銆乆ML閰岖疆銆佽瑷璧勬簮绛夋枃浠讹纴鎴戜滑瀵瑰浘鐗囧拰璇瑷璧勬簮绛夋枃浠朵慨鏀瑰悗锛岃缮鍙浠ュ啀鎶婂畠浠缂栬疟镓揿寘鎴怉PK锛屾槸鍙岖紪璇慉PK鏂囦欢镄勫繀澶囱蒋浠躲伞銆apk鍙岖紪璇戝强缂栬疟宸ュ叿锛欰PK缂栬疟涓揿舵槸涓娆惧姛鑳芥瘆杈冨己澶х殑apk鍙岖紪璇戝强缂栬疟宸ュ叿锛屼娇鐢ㄨ繖娆捐蒋浠跺彲甯锷╃敤鎴锋洿锷犲规槗瀵笰PK鍖呰繘琛岃繘琛岃В鍖呫佹墦鍖呫佺惧悕銆佹眽鍖栫瓑镎崭綔銆伞銆apk鍙岖紪璇戝伐鍏蜂笅杞斤细APKDB 闆嗗悎浜嗗綋鍓嶅姛鑳介潪甯稿己鎭岖殑apk鍙奷ex鏂囦欢缂栬疟宸ュ叿锛岀敤鎴峰湪涓嬭浇瀹夎呬简涔嫔悗锛屾偍灏卞彲浠ラ氲繃榧犳爣鍙抽敭镄勫揩鎹疯彍鍗昦pk鎴杁ex鏂囦欢杩涜屾洿渚挎嵎镄刟pk绛惧悕鍜屽弽缂栬疟镎崭綔銆
Ⅲ Android 如何对apk文件进行反编译以及重新
第一:使用apktool直接反编译apk
第六:把生成的hellodemo.apk安装到手机,可以看到主界面上已经显示的是hello,而不再是你好。说明反编译重新打包成功!
Ⅳ 如何利用apktool反编译apk
首先的知道一下几条指令的意思
1,apktool d SysteUI.apk 12意思是将SystemUI.apk解包到12文件下,12文件夹不用创建,会自动生成
2,apktool b 12打包12文件夹(将会自动把12文件夹里的修改过得APK解包后修改完后自动打包,生成resources.arsc,文件,这就是我们反编译的主要目的,当然还有其他目的,后面将会说明怎么apktool需要反编译的目的,生成的文件。
3,apktool if framework-res.apk这条语句很重要很多时候我们容易忽略这条语句导致打包不成功,这句语句的意思是,有些时候我们解包apk文件需要用framework-res.apk(framework是指系统框架。有时也会用到apktool if twframework-res.apk,同样我们只需在前面输入就行。当然得把framework-res.apk 这个文件目录下。
4,apktool if twframework-res.apk ,当然 twframework-res.apk 也应该放在文件目录下,不如反编译Mms.apk.....会用到
知道这四条语句我们就可以进行反编译了。
已反编译SystemUI.apk为例,,下面开始讲解
现在cmd下输入apktool if framework-res.apk(并把framework-res.apk 放在文件目录下)apktool if twframework-res.apk( twframework-res.apk 也应该放在文件目录下 )其实这两部就是搭建安卓系统环境 ,输入完后在解包,apktool d SystemUI.apk 12就行了
Ⅳ 鏂版坠鍏ラ棬涔嫔弽缂栬疟宸ュ叿apktool镄勪娇鐢
鏂版坠鎺㈢储锛欰pktool镄勭亩鏄揿叆闂ㄦ寚鍗
鍙岖紪璇慉ndroid搴旂敤镄勭桦瘑姝﹀櫒钬斺擜pktool锛岃╂垜浠涓姝ユユ繁鍏ョ悊瑙e畠镄勪娇鐢ㄨ繃绋嬨
涓銆佽笍涓婂伐鍏蜂箣镞
蹇呭囧伐鍏烽泦
- Apktool (.apk 鈫 .smali): 杞鎹apk涓哄彲璇荤殑smali璇瑷
- dx2jar (.dex 鈫 .jar): 灏.dex鏂囦欢杞鎹涓.jar渚夸簬镆ョ湅婧愮爜
- jd-gui: 浼橀泤镄.jar鏂囦欢锲惧舰鍖栨煡鐪嫔伐鍏
镎崭綔瀵硅薄
- Apktool: 闇瑕佸勭悊镄𪞝ndroid搴旂敤瀹夎呭寘 (濡傦细xxx.apk)
- dx2jar鍜宩d-gui: 瑙e寘钖庣殑classes.dex鏂囦欢
浜屻佹搷浣沧ラよ﹁В
- 鐜澧冨嗳澶
- 棣栧厛锛岀‘淇濅綘宸插皢Apktool銆乨2j-dex2jar.bat锻戒护琛屽伐鍏峰垎鍒鏀剧疆鍦ㄥ悇镊镄勬枃浠跺す涓锛屽侱:Testapktool鍜娈:Testdex2jar-2.1
- 纭淇濇搷浣滃硅薄锛坸xx.apk鎴朿lasses.dex锛変笌宸ュ叿鏂囦欢澶勪簬钖屼竴鐩褰曚笅
- 锷ㄦ坠瀹炶返
Apktool: 鍦╟md锻戒护鎻愮ず绗︿腑杈揿叆鎸囦护锛屽 D:Testapktool> apktool d -f -s xxx.apk -o D:Testapktool est
- 鎴愬姛杩愯屽悗锛屼綘浼氱湅鍒版搷浣沧垚锷熺殑鎻愮ず锛屽悓镞讹纴鐩镙囨枃浠讹纸濡伥est鏂囦欢澶癸级浼氩寘钖鍙岖紪璇戝悗镄剆mali浠g爜
dx2jar + jd-gui: 杩愯 D:Testdex2jar-2.1d2j-dex2jar.bat classes.dex锛岀敓鎴恈lasses-dex2jar.jar銆傛帴镌锛岄氲繃jd-gui镓揿紑姝ゆ枃浠讹纴鍗冲彲镆ョ湅鍒癑ava婧愪唬镰佺殑鍙岖紪璇戠増链銆
阃氲繃浠ヤ笂姝ラわ纴镞犺烘槸鍒濆﹁呰缮鏄缁忛獙涓板瘜镄勫紑鍙戣咃纴閮借兘椤哄埄鎺屾彙Apktool镄勫熀链镎崭綔锛屽紑钖疉ndroid搴旂敤镄勭炵橀溃绾憋纴鎺㈠讳唬镰佽儗钖庣殑阃昏緫銆傚湪浣犵殑Android寮鍙戞梾绋嬩腑锛岃繖灏嗘槸涓鎶婂己澶х殑宸ュ叿锛屽姪锷涗綘娣卞叆鐞呜В搴旂敤镄勫唴閮ㄦ瀯阃犮