當前位置:首頁 » 操作系統 » apk資料庫修改

apk資料庫修改

發布時間: 2022-04-26 18:43:03

A. 如何修改安卓APK包名和版本信息

目的聲明:本文只是為了滿足DIY的需要,並不是為了成為打包黨,竊取別人的勞動成果,本文所涉及的工具也均為開源的,僅供學習交流之用。
DIY前提:在國內的論壇里,搜索了一下,找到了各種解包,打包的技術內容,以及各種漢化、去廣告的帖子,但這個並不是本文的目的。以前見過打包黨不僅修改了別人apk的廣告用來獲利,還將別人apk的包名修改了,所以有人早就實現了,但未能找到相關的技術文章,本文涉及的知識都還是比較淺顯的,沒有深入的研究底層原因,也參考了網上幾個帖子。
PS:在國內論壇上,找一篇原創的帖子很難,基本都是轉載的,還不附原文鏈接,引入了的很多錯誤,想找到原文都很難,真是很悲劇。國內論壇里,熱心人還是少了點,很多問題都死了,無人回答,筆者嘗試在CSDN、ITEYE、EOE發過幾個帖子,但很少能解決問題,於是只能求助於國外論壇,這也是一個悲劇。
這個問題解決完了,也很簡單,至少我這個比較簡單,我是想多安裝幾個QQ瀏覽器(有IT屌絲安裝了10個微信的,這個我表示很汗),基本過程如下:
1、將apk解包成一個文件夾
2、修改AndroidManifest.xml中對應的包名
3、修改smali目錄下中的包
4、將文件夾打包成apk
5、將apk重新簽名
6、驗證apk的簽名
7、優化apk
8、安裝apk,並測試
基本前提條件:
1、java的環境
2、Eclipse及android的開發環境(這個主要是用來進行調試)
3、text文本編輯器,本人用的是UEdit,也可以用類似的,主要是利用其查找及替換功能
這篇文章主要用來反編譯apk得到源碼,但google進行了反制,只能得到一些可讀性不高的源碼,這里主要是利用反編譯apk生成程序的源代碼和圖片、XML配置、語言資源等文件.
參考文獻里提到的apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip均可以從code.google.com/p/android-apktool/上下載,下載好之後,將涉及的命令行目錄及exe目錄添加到電腦的path路徑中,這樣就便於操作了,如檢測apktool是否可以,可以在命令行中輸入apktool,如果可以識別就表示OK了。
參考了國內的技術文章後,有人發帖以上面的思路進行操作,但沒有發技術文章,所以筆者只能去國外論壇中逛逛了,在Stack Overflow中,找到了相關的帖子,有老外留言"you can't do this",這個的確有違技術道德,但這里只做學習參考或交流。找到了一片帖子stackoverflow.com/questions/9218641/renaming-the-package-name-inside-an-apk,這篇帖子的回答給了比較詳細的步驟(如上),他的情況比這個還稍微復雜點,簡化後就是我要的結果,我就是按照這個基本步驟來的,回答的英文比較好懂(很有可能是國人)。
下面就按照上面的步驟一步步操作:我是已QQ瀏覽器4.0版的apk來操作的。
1、我的apktool安裝到了E盤下的apktool目錄下,所以的操作也在這個目錄下進行 E:\apkTool
將apk復制到E:\apkTool目錄下,重命名為qq4.0.apk(這個沒有要求,隨意就好)
將apk解包 命令行下cd到E:\apkTool這個目錄 apktool d qq4.o.apk qq4 將apk解包到qq4(這個也可以隨意)這個目錄
E:\apkTool\qq4這個目錄下內容如下:

2、修改AndroidManifest.xml中的包名,
將package後面的包名com.tencent.qbx改為你想要的新包名,我改為了com.tianxiao.tencentweb
將涉及原包名的com.tencent.qbx的相關activity的聲明中的包名均改為新包名com.tianxiao.tencentweb
至於intent-filter裡面的action名中包含原包名的,則可以不改,如果改的話,代碼中也要相應的改變
另外,如果有provider,provider的authorities也得改,這個在同一手機上必須唯一,否則安裝會失敗
3、在E:\apkTool\qq4\smali目錄下,有很多子目錄,子目錄下的文件多以smali結尾,這中文件的語法有點類似於匯編語言,具體原理就不深究了。
將smali目錄下的所有文件中的原包名的聲明形式com/tencent/qbx改為新包名com/tianxiao/tencentweb
具體如下,用UEdit在文件中替換即可,將目標目錄指向E:\apkTool\qq4\smali,這個將近1000條左右
如果之前改為action裡面的包名,也要將字元串形式的包名com.tencent.qbx改為com.tianxiao.tencentweb
如果有provider也要講原來的authorities值改為在AndroidManifest.xml中新改的authorities值。
4、將E:\apkTool\qq4重新打包為apk
apktool b qq4 newqq.apk
5、將新的newqq.apk 重新簽名
簽名的方法很多,一主要是手動生成簽名,用命令行簽名
我採用的現成的,下載了一個Auto-sign的文件夾,進行了簽名,這個比較簡單,網上帖子很多,就不贅述。
新簽名後的apk名為 newqq4signed.apk

B. 為什麼apk文件用apktool反編譯後修改assets文件中的內容不起作用

一般會在應用啟動的時候讀取assets目錄下的資料庫,然後把資料庫寫入SDcard的,所以清空你手機的sd卡再試試

C. 游戲apk怎麼修改,聯網和不聯網的。要怎麼修改,修改那些文件

本文全部復制安卓網的會員liujiajia6790寫的教程,我正在學習,非常感謝!!!

APK文件的解包打包和修改

相信每位玩機的人對APK文件都不陌生。你可能每天都與APK文件打交道,無論是安裝和卸載有用的應用工具、插件、好玩的游戲等等。。。你可曾知道這些每天都伴隨著你的APK文件是什麼嗎?怎樣對它們作些修改呢?比如說:對英文版進行漢化、修改功能、修改文字描述、去掉廣告等等。本文介紹APK的基本知識、結構、APK文件的解包、打包及簽名,以及對APK文件的常規修改。

1.APK文件簡介

APK是Android Package的縮寫,即即Android application package文件或Android安裝包。每個要安裝到Android平台的應用都要被編譯打包為一個單獨的文件,後綴名為.apk。APK文件是用專業軟體eclipse編譯生成的文件包,其中包含了應用的二進制代碼、資源、配置文件等。通過將APK文件直接傳到Android手機中執行即可安裝。APK文件其實就是zip格式,但其擴展名被改為apk,用解壓軟體可以直接打開。通過WinRAR或UnZip解壓後,你會看到有幾個文件和文件夾。一個典型的APK文件通常有下列內容組成:
AndroidManifest.xml 程序全局配置文件
classes.dex Dalvik位元組碼
resources.arsc 編譯後的二進制資源文件
META-INF\ 該目錄下存放的是簽名信息
res\ 該目錄存放資源文件
assets\ 該目錄可以存放一些配置文件

下面對這些文件和目錄做些基本的注釋和介紹。
• AndroidManifest.xml
該文件是每個應用程序都必須定義和包含的文件,它描述了應用程序的名字、版本、許可權、引用的庫文件等等信息。需要解包後才能加以閱讀。
• classes.dex文件
classes.dex是java源碼編譯後生成的java位元組碼文件。dex是Dalvik VM executes的全稱,即Android Dalvik執行程序,並非Java ME的位元組碼而是Dalvik位元組碼。
• resources.arsc
編譯後的二進制資源文件。
• META-INF目錄
META-INF目錄下存放的是簽名信息,用來保證apk包的完整性和系統的安全。在eclipse編譯生成一個apk包時,會對所有要打包的文件做一個校驗計算,並把計算結果放在META-INF目錄下。這就保證了apk包里的文件不能被隨意替換。比如拿到一個apk包後,如果想要替換裡面的一幅圖片,一段代碼, 或一段版權信息,想直接解壓縮、替換再重新打包,基本是不可能的。如此一來就給病毒感染和惡意修改增加了難度,有助於保護系統的安全。
• res目錄
res目錄存放資源文件。包括圖片,字元串等等。
解包後,幾乎所有可能的修改和編輯工作基本都在這里。
• assets目錄
assets目錄可以存放一些配置文件,這些文件的內容在程序運行過程中可以通過相關的API獲得。

2.APK文件的解包和打包

APK文件是用專業軟體eclipse編譯生成的文件包。在網上可以找到許多軟體來對APK的內容進行反編譯,例如:可以通過AXMLPrinter2工具和命令:java -jar AXMLPrinter2.jar AndroidManifest.xml 解開在apk中的AndroidManifest.xml。最近,業界有一個功能強大的解包打包工具包apktool,可以在Windows下用來方便快速地對APK文件進行解包和打包,給修改和編輯工作帶來許多方便。下面來介紹它的使用。

1) APKtool軟體包
APKtool軟體包有2個程序組成:apktool.jar 和 aapt.exe
另外提供一個批處理文件:apktool.bat,其內容為:
java -jar "%~dp0\apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9
運行apktools.jar需要java環境(1.6.0版本以上)。
apktool.jar用於解包,apktool.jar和aapt.exe聯合用於打包。

2) APK文件的解包
下面以解開Contacts.apk為例。首先把Contacts.apk復制到當前工作目錄下(例:Test)。在DOS下打入命令
apktool d Contacts.apk ABC
這里「d」表示要解碼。Contacts.apk是要解包的APK文件。ABC是子目錄名。所有解包的文件都會放在這個子目錄內。

3) APK文件的打包
在DOS下打入命令
apktool b ABC New-Contacts.apk
這里「b」表示要打包
ABC是子目錄名,是解包時產生的子目錄,用來存放所有解包後的和修改後的文件。
New-Contacts.apk是打包後產生的新的APK文件。

4) Framework框架文件
在解開APK文件時,apktool需要框架文件(framework-res.apk)來解碼和打包。Apktool已經包含了標準的框架,所以在大多數APK文件的解包時,不需要另外提供框架文件。但是,某些製造商使用了他們自己的框架文件,為了解包,就不得不從手機中把框架文件(framework-res.apk)提取出來,然後安裝到計算機。安裝命令是:
apktool if framework-res.apk
安裝後就會得到:~\apktool\framework\1.apk
5) 解包、解包和簽名批處理

在實際使用時,可能對多個APK文件進行處理。方便的做法是寫成批處理文件。打包和簽名可以一次完成。
解包批處理命令:
for %%i in (*.apk) do java -jar apktool.jar d %%i _%%i && move _%%i Modifying_Files && %%i Backuped_Raw_Files && @echo File [%%i] unpacking process is completed!
打包和簽名批處理命令:
for /d %%i in (*) do cd.. && java -jar apktool.jar b Modifying_Files\%%i && java -jar signapk.jar testkey.x509.pem testkey.pk8 Modifying_Files\%%i\dist\*.apk %%i && ren %%i New%%i && move New%%i Modified_Signed_Files && @echo %%i Complete repacking and Signing! && cd Modifying_Files

3.應用實例:APK解包後的編輯和修改

為什麼要對APK文件進行解包?當然要對其內容進行必要的修改。修改什麼呢?通常,如果只是對圖像進行替換,沒有必要進行解包和打包。用WinRAR打開APK文件,直接做替換就可以了。但是,如果要對文字和其它非圖像類內容進行修改,那隻能通過解包解碼了。下面幾項任務需要對APK進行解包和打包。這里只作大概介紹,請自己去找詳細的操作方法和教程。

1) 漢化APK軟體
在res文件夾中,我們可以看到有很多values-***的文件夾,這就是語言包。values是英文語言包,values-zh是中國地區語言包(包含港澳台及內地),values-zh-rCN是中文簡體語言包(只包含內地),values-zh-rTW是中文繁體語言包(港澳台)。除此以外,其它地區的語言包都是精簡的對象,可以不過多了解。
在values文件夾里,通常有arrays.xml、strings.xml等語言文件,要作漢化就要對這些文件進行修改。有時也需要修改其它xml文件,一個一個地認真查看。

2) 修改圖標標簽
每一個APK文件都有一個「圖標標簽」。將APK程序安裝進手機後,在圖標下面顯示圖標標簽文字。這個圖標標簽的內容是可以修改的。在\res\values下找到strings.xml,修改其中的一行:
<string name="app_name">圖標標簽</string>
例如:<string name="app_name">靜音啟動</string>
同理,如果是窗口小插件,要修改widget_name。
注意:system/app下的apk不宜修改,因為要同時修改對應的odex文件。

3) 去掉APK中的廣告
有很多APK應用都帶有廣告。為了去掉程序中的廣告,要修改main.xml文件與廣告有關的內容。在\res目錄下找到文件main.xml。通常在\layout目錄下,有時也被放在其它目錄下。甚至,有時不存在main.xml文件,廣告行被放在其它xml文件內。只能細心逐個文件進行查找。無論哪一種情況,查看其內容,你會看到有一項類似的命令如下。這就是廣告顯示。
<com.admob.android.ads.AdView android:id=」@id/ad」 android:layout_width=」fill_parent」 android:layout_height=」wrap_content」 admobsdk:backgroundColor=」#ff000000″ admobsdk:textColor=」#ffffffff」 admobsdk:keywords=」Android application」 />
將其改為:
<com.admob.android.ads.AdView android:id=」@id/ad」 android:layout_width=」0.0dip」 android:layout_height=」0.0dip」 admobsdk:backgroundColor=」#ff000000″ admobsdk:textColor=」#ffffffff」 admobsdk:keywords=」Android application」 />
可以看到,關鍵是要把fill_parent改為0.0dip,把wrap_content改為0.0dip,其它保持不變即可。這種改法就是不給廣告顯示空間,當然你就看不到廣告了。

4) 修改顯示電池為1%精度
在XT502上,默認顯示只有7檔: 0%,10%,20%,40%,60%,80% 和100%。通過修改framework-res.apk,可以改變顯示精度。但是在XT502上,實踐證明最好可能達到的現實精度只有10%。修改工作如下:
(1) 對framework-res.apk進行解包
(2) 修改和增加電池狀態圖標
(3) 修改文件stat_sys_battery.xml
(4) 修改文件stat_sys_battery_charge.xml
(5) 打包
(6) 提取stat_sys_battery.xml,stat_sys_battery_charge.xml,resources.arsc和一個圖標目錄:drawable-mdpi
(7) 重新裝配framework-res.apk

5) 狀態欄信息通知文字顏色修改
狀態欄信息通知文字顏色,是由framework-res.apk文件里res\values下的colors.xml文件控制的,所以我們只需修改colors.xml文件就可以了。另外,此文件還控制下拉欄的文字顏色,可以修改。
用文本編輯器打開colors.xml文件,找到
<color name="hw_statusbar_time">#ff000000</color>
將這句修改為:<color name="hw_statusbar_time">#ffffffff</color>
這狀態欄信息通知文字顏色由黑色改為白色。

D. 如何修改apk文件

一、准備工作:

1、下載軟體ArscEditor.exe

2、下載軟體AndroidResEdit.zip

二、修改 APK 軟體名稱:

1、右擊 APK 安裝包,用壓縮軟體解壓到當前文件夾;

2、解壓後找到文件「resources.arsc」;

3、打開附件①,將文件「resources.arsc」直接拖入ARSC編輯器的空白處中;

4、選擇「string」標簽,並找到鍵值「app_name」;

5、將「區域」切為CN(有的不用切換),然後在「區域值」中修改你想要的軟體名字,修改好後點擊「保存當前值」;

6、點擊「文件」,選擇「保存」,並覆蓋保存;

7、右擊 APK 安裝包,用壓縮軟體打開;(註:無需解壓)

8、將修改好的「resources.arsc」文件直接拖入進安裝包內並確認覆蓋原文件;

E. 安卓開發中怎麼修改資料庫中的數據

public
class
DatabaseHelper
extends
sqliteOpenHelper
{
private
static
DatabaseHelper
mInstance
=
null;
/**
資料庫名稱
**/
public
static
final
String
DATABASE_NAME
=
"xys.db";
/**
資料庫版本號
**/
private
static
final
int
DATABASE_VERSION
=
1;
/**資料庫SQL語句
添加一個表**/
private
static
final
String
NAME_TABLE_CREATE
=
"create
table
test("
+
"_id
INTEGER
PRIMARY
KEY
AUTOINCREMENT,"
+
"name
TEXT,"+"hp
INTEGER
DEFAULT
100,"+
"mp
INTEGER
DEFAULT
100,"
+
"number
INTEGER);";
DatabaseHelper(Context
context)
{
super(context,
DATABASE_NAME,
null,
DATABASE_VERSION);
}
/**單例模式**/
static
synchronized
DatabaseHelper
getInstance(Context
context)
{
if
(mInstance
==
null)
{
mInstance
=
new
DatabaseHelper(context);
}
return
mInstance;
}
@Override
public
void
onCreate(SQLiteDatabase
db)
{
/**向數據中添加表**/
db.execSQL(NAME_TABLE_CREATE);
}
@Override
public
void
onUpgrade(SQLiteDatabase
db,
int
oldVersion,
int
newVersion)
{
/**可以拿到當前資料庫的版本信息
與之前資料庫的版本信息
用來更新資料庫**/
}
/**
*
刪除資料庫
*
@param
context
*
@return
*/
public
boolean
deleteDatabase(Context
context)
{
return
context.deleteDatabase(DATABASE_NAME);
}
}

F. 如何修改APk數據

apktool 修改apk內容

安裝JDK和JRE,下載apktool,配置好環境變數。

反編譯apk

apktool d .apk

.apk是要反編譯的apk, 反編譯完後會在當前目錄下生成一個 的文件夾。

文件夾內是apk 的內容,修改想要修改的內容。

回編譯和簽名。

apktool b

執行這個命令,回編譯文件夾的內容,生成apk。會生成build和dist兩個文件夾,回編譯的apk在dist文件夾中,需要重新簽名就可以了。

jarsigner -verbose -keystore key.keystore -signedjar signed.apk before.apk youmeng

key.keystore 是簽名文件

signed.apk 簽名後的apk

before.apk 簽名前的apk

youmeng 簽名別名

最後的得到了 signed.apk 是修改內容後的apk。

參考

http://jingyan..com/article/fd8044faf606ab5031137a0e.html

差點被輔導員暴揍!就因為我給他寫了一個USB病毒!Python賊牛逼

G. 安卓手機游戲數據想修改怎麼修改

1、根據安卓的系統設置,目前修改器暫時都不能用。安卓5.0以上的運行環境是ART,4.4以下的是Dalvik環境,修改器必須在Dalvik的環境下才能正常運行,否則即使修改也不能正常使用。

拓展資料:

Android是一種基於Linux的自由及開放源代碼的操作系統,主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。

H. 安卓系統apk文件用什麼軟體修改

用winrar 就可以了,你可以搜索下 安卓去廣告,這樣就能找到很多有用信息了

I. 怎樣修改APK文件!修改後怎麼打包成APK

1、首先打開apk反編譯軟體,點擊「打開」一個apk。或者直接把需要反編譯修改的apk拖入到窗口中。

J. 怎樣修改資料庫中的數據

1、首先打開SQL Server Management管理工具,使用sql語句創建一張測試表。

熱點內容
優盤加密解除 發布:2024-10-03 23:29:09 瀏覽:651
讀書郎雙清密碼是多少 發布:2024-10-03 23:23:52 瀏覽:117
我的世界最新伺服器生存服推薦 發布:2024-10-03 23:23:07 瀏覽:439
mybatis分頁查詢的sql 發布:2024-10-03 23:23:03 瀏覽:30
系列壓縮包 發布:2024-10-03 22:58:33 瀏覽:233
oppo忘記密碼怎麼辦啊 發布:2024-10-03 22:58:30 瀏覽:348
java後台php前台 發布:2024-10-03 22:57:17 瀏覽:79
蘋果存儲方法視頻 發布:2024-10-03 22:56:41 瀏覽:87
無法訪問windows2003共享 發布:2024-10-03 22:48:03 瀏覽:265
java自動類型轉換 發布:2024-10-03 22:29:41 瀏覽:130