當前位置:首頁 » 編程軟體 » 反編譯apk去除登錄界面

反編譯apk去除登錄界面

發布時間: 2022-05-30 16:11:15

⑴ 怎麼反編譯apk

一、dexmp方法

dexmp是emulator自帶提供的查看dex文件的工具,可使用類似這樣的命令將dex文件mp到txt文件中:

D:\Program
Files\android-sdk-windows-1.6_r1\platforms\android-1.6\tools>dexmp.exe -d
classes.dex > spk.mp.txt

得到的文件內容,描述了類的信息,但實在是不好讀啊~~~~

二、dex2jar + XJad 方法

該方法是使用dex2jar.jar包,將classes.dex文件解包成jar,在通過XJad(或者其他class反編譯工具)進行java反編譯。如:

1、dex2jar.bat d:\play\classes.dex

默認的輸出路徑同classes.dex,生成的文件名為classes.dex.dex2jar.jar

2、使用XJad反編譯該jar包

之後的使用方法,大家都懂的:)

該方法的好處在於,通過XJad反編譯後,大家可直接開到java源文件,缺點在於只能反編譯出開發時的java文件,而開發時使用的lib包不能反編譯出來。

三、AXMLPrinter2.jar + baksmali.jar + smali.jar 方法

這個方法就強大了,AXMLPrinter2是還原AndroidManifest.xml和main.xml的工具,直接打開這兩個xml文件是亂碼,而通過還原之後,可以很明白的看到裡面的內容(我猜測還是使用了位元組異或的方式加的密)。

baksmali.jar是反解析dex的工具,smali.jar則是再還原成dex的工具

操作方式如下:

1、java -jar AXMLPrinter2.jar
D:\play\AndroidManifest.xml > AndroidManifest.txt

2、java -jar AXMLPrinter2.jar
D:\play\res\layout\main.xml > main.txt

3、java -jar baksmali-1.2.5.jar -o classout/
d:\play\classes.dex

baksmali可解析(注意,是解析,不是反編譯)原java包以及引用的lib包,解析出的文件認真看還是能看懂,比如以下片段:

view plain to clipboardprint?
.class
Lcom/paul/test/a;
.super Landroid/view/View;

# static fields

.field private static final a:Landroid/graphics/Typeface;

#
instance fields
.field private b:I
.field private c:I
.field
private d:Z
.field private e:J
.field private f:I
.field
private l:[Ljava/lang/String;

# direct methods
.method static
constructor <clinit>()V
.registers 2
sget-object v0,
Landroid/graphics/Typeface;->SANS_SERIF:Landroid/graphics/Typeface;

const/4 v1, 0x0
invoke-static {v0, v1},
Landroid/graphics/Typeface;->create(Landroid/graphics/Typeface;I)Landroid/graphics/Typeface;

move-result-object v0
sput-object v0,
Lcom/wiyun/ad/a;->a:Landroid/graphics/Typeface;
return-void

.end method
#
# other methods ..........
#
# virtual
methods
.method public onKeyUp(ILandroid/view/KeyEvent;)Z

.registers 4
const/16 v0, 0x42
if-eq p1, v0, :cond_8

const/16 v0, 0x17
if-ne p1, v0, :cond_b
:cond_8

invoke-direct {p0}, Lcom/paul/test/a;->d()V
:cond_b

const/4 v0, 0x0
invoke-virtual {p0, v0},
Lcom/paul/test/a;->setPressed(Z)V
invoke-super {p0, p1, p2},
Landroid/view/View;->onKeyUp(ILandroid/view/KeyEvent;)Z
move-result
v0
return v0
.end method
.class Lcom/paul/test/a;
.super
Landroid/view/View;

# static fields
.field private static final
a:Landroid/graphics/Typeface;

# instance fields
.field private b:I
.field
private c:I
.field private d:Z
.field private e:J
.field private
f:I
.field private l:[Ljava/lang/String;

# direct methods
.method static constructor
<clinit>()V
.registers 2
sget-object v0,
Landroid/graphics/Typeface;->SANS_SERIF:Landroid/graphics/Typeface;

const/4 v1, 0x0
invoke-static {v0, v1},
Landroid/graphics/Typeface;->create(Landroid/graphics/Typeface;I)Landroid/graphics/Typeface;

move-result-object v0
sput-object v0,
Lcom/wiyun/ad/a;->a:Landroid/graphics/Typeface;
return-void
.end
method
#
# other methods ..........
#
# virtual methods
.method
public onKeyUp(ILandroid/view/KeyEvent;)Z
.registers 4
const/16
v0, 0x42
if-eq p1, v0, :cond_8
const/16 v0, 0x17
if-ne p1,
v0, :cond_b
:cond_8
invoke-direct {p0},
Lcom/paul/test/a;->d()V
:cond_b
const/4 v0, 0x0

invoke-virtual {p0, v0}, Lcom/paul/test/a;->setPressed(Z)V

invoke-super {p0, p1, p2},
Landroid/view/View;->onKeyUp(ILandroid/view/KeyEvent;)Z
move-result
v0
return v0
.end method

認真一看,就知道:

# static fields 定義靜態變數的標記

# instance fields 定義實例變數的標記

# direct methods 定義靜態方法的標記

# virtual methods 定義非靜態方法的標記

以onKeyUp方法為例,其中定義了處理邏輯,if-eq p1, v0, :cond_8
表示如果p1和v0相等,則執行cond_8的流程:

:cond_8
invoke-direct {p0},
Lcom/paul/test/a;->d()V

調用com.paul.test.a的d()方法

不相等: if-ne p1, v0, :cond_b 則執行cond_b的流程:

:cond_b
const/4 v0, 0x0

invoke-virtual {p0, v0},
Lcom/paul/test/a;->setPressed(Z)V

invoke-super {p0, p1, p2},
Landroid/view/View;->onKeyUp(ILandroid/view/KeyEvent;)Z

move-result v0

大概意思就是調用com.paul.test.a的setPressed方法,然後再調用父類View的onKeyUp方法

最後 return v0

該方法,能把外部引用的lib包類也解析出來,能開到包的全貌。缺點在於,解析出的smali文件並不是反編譯出的java文件,可讀性降低了,但仔細研究也能看出大概。

⑵ 安卓APK文件怎樣去除內置廣告及修改圖標和文字

一:首先會用到幾個軟體,一個是dex解包、打包工具、Notepad++
Portable(dex文本編輯工具)、以及簽名工具和JAVA運行環境安裝,其他軟體可以到這個地址下載:http://yunpan.cn/lk
/sVkRQBi4HAJhu?sid=301
二:把需要去廣告的軟體,右鍵用7-zip解壓方式打開,把classes.dex拉出來。

三:用dex工具解壓classes.dex文件(具體方法看包裡面說明)。打開Notepad++ Portable搜索 http:// (注意復制)

四:如圖雙擊搜索到的網址,在上面改為無效網址就可以了。或直接刪除引號里的網址,然後保存「全部」文件(這個修改時要注意,有的軟體如果修改錯誤的話可能不能安裝,可以網上搜一些是廣告的連接。我只是提供一個方法,具體大家多練習研究吧)

引用:
還有ads字樣文件
都可能是廣告
但schemas.android.com開頭的不是

去廣告步驟:

1、去除廣告下載源
解包classes.dex(方法上面已講過),用Notepad++ Portable搜索廣告下載源地址(若不知道軟體用的是哪個供應商的廣告的話,最好兩家的下載源都搜索下)
2、去除廣告界面
① 將剛剛已經替換了classes.dex文件的apk安裝包用反編譯。
② 用Notepad++ Portable搜索廣告代碼(上面已列出)

如圖,將搜索路徑定位到res文件夾(就是反編譯後的res文件夾),代碼只搜索開頭就行了,如:com.admob.android.ads.AdView 和 com.google.ads.GoogleAdView。
如圖:

搜索結果:

③ 雙擊黃顏色區域,修改下圖上方的代碼
android:layout_width="fill_parent" 修改為 android:layout_width="0.0dip"
android:layout_height="wrap_content" 修改為 android:layout_height="0.0dip"

修改後:

將所有搜索到的代碼按照上面修改,完成後保存
五:封包classes文件夾(見包里說明),然後把classes.dex文件再次拖動到用解壓方式打開的APK文件內。刪除圖下2個或3個文件,簽名安裝即可。

修改更換安卓軟體圖標

一個安卓程序的圖標有時候並不見得每個人都喜歡,而且,某些APK程序不具備高解析度的程序圖標,造成在程序在高解析度的屏幕下圖標顯示效果較差,所以有必要的時候是可以更改一下以滿足個性化需求的,下面說說具體怎麼做。

工具

7-zip
DoAPk.exe(或AndroidResEdit選擇簽名)
Java環境

步驟/方法
1.首先,把要更改圖標的APK程序用7-zip進行解壓
2.解壓出來,看到如下文件和目錄,其中看到一個名為res的目錄,這個目錄中存放的就是安裝程序的資源文件,包括各種圖片素材和聲音素材,當然,我們需要的程序圖標就包含在裡面,雙擊打開res這個目錄

3.之後在系統上方的搜索欄搜索帶有"icon"字樣的文件。通過基本判斷可以得知,app_icon.png就是程序的圖標,或找程序的圖標(你懂得).
4.找一個自己喜歡的程序圖標,需要注意的是,替換後的程序圖標的名字,格式,解析度大小都要和原圖標一致,然後才把原來的app_icon.png替換.
5.替換完成之後,我們需要重新打包程序。回到程序解壓之後的目錄,刪除原來的圖標文件。拖動新的圖標到裡面。搞定!
6.打開AndroidResEdit選擇簽名.或打開Doapk.exe點擊「單獨製作ROM和APK簽名」這一按鈕,之後會彈出一個窗口,這里讓用戶選擇自己需要簽名的APK文件.

7.彈出窗口中選擇好自己改好圖標的APK文件,然後點擊製作簽名,這樣就完成了對APK程序的簽名,這樣的APK程序在手機上安裝才不會彈出錯誤提示
注意事項:DOAPK需要java環境的支持,使用前得先安裝。更改前備份好源程序文件

文字修改

相信很多機友(特別是有強迫症的童鞋,比如我)遇到過這個問題,甚至可以說是困擾;
很喜歡一款軟體,全身上上下下就一個看不順眼 —— 軟體名字;
下面介紹如何修改軟體名稱。
別告訴重命名可以通過第三方桌面解決,那個沒有技術含量!!而且改的只是皮毛哦。
一、准備工作:
軟體ArscEditor.exe
二、修改 APK 軟體名稱:
1、右擊 APK 安裝包,用壓縮軟體解壓到當前文件夾;(如下圖所示)
2、解壓後找到文件「resources.arsc」;
3、打開將文件「resources.arsc」直接拖入ARSC編輯器的空白處中;(如下圖所示)
4、選擇「string」標簽,並找到鍵值「app_name」;
5、將「區域」切為CN(有的不用切換),然後在「區域值」中修改你想要的軟體名字,修改好後點擊「保存當前值」;
6、點擊「文件」,選擇「保存」,並覆蓋保存;
7、右擊 APK 安裝包,用壓縮軟體打開;(註:無需解壓)
8、將修改好的「resources.arsc」文件直接拖入進安裝包內並確認覆蓋原文件;(如下圖所示)
三、重新簽名:
1、打開所得到的文件夾,並打開簽名工具「AndroidResEdit.exe」;
2、選擇「簽名」 - 「簽名 apk 文件」;簽名後生成的新安裝包名為「XXX-SignFile.apk」,安裝到手機。

⑶ 反編譯Android APK的具體步驟是怎樣的

1、配置好JAVA環境變數,下載:apktool 解壓的文件放在C盤根目錄的apktool文件夾里(apktool文件夾自己創立)
2打開命令提示符,(開始-運行-輸入cmd)
3輸入:cd \apktool 系統指令到了apktool文件夾(這里就是為什麼要把解壓的apktool解壓的文件放到apktool文件夾的原因,當然你也可以自命名文件夾的名稱,那麼比如arc,那麼指令就變成了:cd \arc 前提是你必須把apktool解壓的文件放到這個文件夾裡面)
4使用RE管理器把系統裡面的framework-res.apk 與 SystemUI.apk 提取出來放在apktool文件夾裡面

5 如果只是想反編譯framework-res.apk

輸入apktool if framework-res.apk(框架的建立)
6開始最重要的反編譯,輸入指令,apktool d framework-res.apk

(反編輯的APK一定要用沒換過圖片的,否則回編輯失敗)
7最後反編譯完成

修改代碼完成後,輸入代碼:apktool d framework-res 即可完成回編譯
8回編譯後的新的 apk在framework/dis 文件夾裡面
9如果反編譯的是系統文件,比如,SystemUI.apk 那麼必須進行掛載框架,反編譯時,必須敲入一下命令:(然後再重復7-9步驟)
apktool if framework-res.apk
apktool if SystemUI.apk

10對於三星手機(比如9100、9108/9100G),如果反編譯SystemUI.apk要敲入一下命令進行框架掛載apktool if framework-res.apk
apktool if twframework-res.apk
apktool if SystemUI.apk
11回編譯的命令是 apktool b XXX (沒有後面的apk後綴)反編譯的命令是 apktool d xxx (有後面的apk)

⑷ 安卓APK文件怎樣去除內置廣告及修改圖標和文字

一:首先會用到幾個軟體,一個是dex解包、打包工具、Notepad++ Portable(dex文本編輯工具)、以及簽名工具和JAVA運行環境安裝,其他軟體可以到這個地址下載:http://yunpan.cn/lk/sVkRQBi4HAJhu?sid=301

二:把需要去廣告的軟體,右鍵用7-zip解壓方式打開,把classes.dex拉出來。

⑸ APK反編譯,怎樣去除鏈接伺服器更新,不更新不能進去。

把settings.apk解包後進res/xml刪除mokee打頭的那幾個xml文件即可

⑹ 安卓軟體破解後被加上的彈窗和首頁界面怎麼去除

apktools反編譯之後更改smali源碼,重新打包簽名即可。

⑺ 如何反編譯apk文件

注意:反編譯的前提是:開發者沒有使用proguard(java代碼混淆的工具)。

1.下載反編譯工具
需要下載四個工具:dex2jar、JD-GUI、apktool、apktool-install-windows-r05-ibot
dex2jar:將apk中的classes.dex轉化成Jar文件。
JD-GUI:反編譯工具,可以直接查看Jar包的源代碼。
apktool:反編譯工具,通過反編譯APK中XML文件,直接可以查看。
apktool-install-windows-r05-ibot:輔助windows批處理工具。
下載地址:
dex2jar:http://code.google.com/p/dex2jar/downloads/list
JD-GUI:http://code.google.com/p/innlab/downloads/lis
apktool:http://code.google.com/p/android-apktool/downloads/list
工具截圖:

2.解壓縮APK包
apk文件也是一種常見的zip,常用的壓縮軟體就可輕松地解壓apk文件。用壓縮軟體將apk文件中的文件解壓到一個文件夾中,得到APK中的資源包括XML文件和classes.dex文件,classes.dex就是java文件編譯再通過dx工具打包而成的。
解壓截圖:

3.反編譯dex文件
解壓apk文件後,你會發現res目錄的圖片沒有加密,但java源碼編譯成了一個classes.dex文件,無法用普通的反編譯class文件的方法來處理,dex2jar可以將dex文件轉換成普通的jar包。
解壓下載的dex2jar,把解壓後的文件夾放到系統盤跟目錄中並把這個目錄加到系統path變數中,就可以直接用:dex2jar.bat或dex2jar.sh轉換dex文件了。
DOS行命令如下:dex2jar.bat xx\classes.dex(xx是classes.dex文件所在的路徑)。
將在同目錄得到普通jar包:classes_dex2jar.jar,就可以用處理普通jar包的方法來反編譯這個jar包得到原文件。
編譯截圖:

生成jar文件的截圖如下:

4.反編譯jar包
得到jar包後,下載自已喜歡的反編譯工具,推薦使用JD-GUI,有比較簡單的圖形界面,可以反編譯單個class文件,也可以反編譯jar包,比較方便。
打開壓縮文件JD-GUI,運行jd-gui.exe,打開上面生成的jar包,即可看到源代碼了。
截圖如下:

5.反編譯xml文件
打開解壓的res\layout目錄,有很多xml文件,如果你想看下作者是如何設計界面的,你會很失望,因為你看到的是一大堆亂碼!這個時候我們需要用到的是apktool。
具體操作方法:將下載的apktool和apktool-install-windows-r05-ibot兩個包解壓到同一個文件夾下,這個文件夾有三個文件:aapt.exe,apktool.bat,apktool.jar。把這個文件夾也放到系統盤的根目錄中並把這個目錄加到path變數中。以HelloWord.apk為例:
在DOS命令行中輸入:apktool d xx\HelloWord.apk HelloWord得到HelloWord文件夾,此文件夾中的xml文件就是編譯好的可以正常查看的文件。
截圖如下:

生成的文件:

這樣就得到了可以得到編譯的源碼和XML資源。
注意:文件的路徑中最好不要出現中文!

⑻ 如何反編譯華為的SystemUI.apk文件

操作步驟:
第一:要在你的PC上建立Java的環境,才能執行編譯工作。具體設置方法可參考線刷包移植卡刷包教程步驟

第二:下載Apktool工具 apktool.zip
(2.68 MB)。
下載後解壓得到apktool文件夾,把裡面的三個文件放在CDM模式(win+R)默認的目錄下。
例如,我的是Windows7 32位
我的CDM模式默認目錄是C:用戶(Users)Administrator。

第三:如果你是要編譯系統文件的話,請將你要修改的rom里提取framework-res.apk,再用CMD模式「安裝」。(不這樣做會導致解包錯誤)
安裝方法:把framework-res.apk放在剛才放在C:用戶(Users)Administrator文件夾下。
cmd模式執行apktool if
framework-res.apk這個是安裝framework-res.apk

注意:1.第三步很重要,很多人不成功就是因為沒做第三步。

2.編輯回去的systemui.apk及framework-res.apk不能直接放回去(framework-res.apk放回去會導致手機不斷重啟,

⑼ 怎麼跳過.apk文件登陸界面

取消電腦開機管理員登陸窗口的方法如下:

1,開始->控制面板。

2,再打開「用戶帳戶」。

3,選擇「更改用戶登錄與注銷方式」。
4,在下一個窗口,勾選「使用歡迎屏幕」和「使用快速用戶切換」,
5,點擊「應用選項」,完成。

熱點內容
編輯php的軟體 發布:2024-05-18 03:41:25 瀏覽:75
序貫演算法代碼 發布:2024-05-18 03:39:56 瀏覽:596
怎樣給手機應用加密 發布:2024-05-18 03:33:57 瀏覽:616
安卓簡訊攔截在哪裡找出來 發布:2024-05-18 03:33:53 瀏覽:301
腳本之家dll 發布:2024-05-18 03:24:41 瀏覽:705
java程序防止反編譯 發布:2024-05-18 03:07:23 瀏覽:333
關鍵字資料庫 發布:2024-05-18 03:04:40 瀏覽:252
美國k線源碼 發布:2024-05-18 03:04:18 瀏覽:773
問道手游怎麼重啟伺服器 發布:2024-05-18 03:02:25 瀏覽:618
配置鎖有哪些用處 發布:2024-05-18 03:02:20 瀏覽:666