apk是什么文件、Android文件中怎么反编译?
apk即Android安装包,通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。安卓Android的软件安装包以.apk为文件扩展名,其文件格式是标准的.zip文件,可以通过WinZIP、winrar等压缩文件工具直接打开,或是在.apk文件名上添加.zip后缀,即可查看封装在其中的具体文件内容,包括程序、图片、配置文件等。apk文件和sis一样,把android sdk编译的工程打包成一个安装程序文件,格式为apk。 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,和Windows Mobile中的PE文件有区别。
安装安【ān zhuāng ān】卓软件📃INSTALL_FAILED_CPU_ABI_INCOMPATIBLE的解决🙇方法【fāng fǎ】
具体方🍖法如下:
安装apk文件到😒模拟器或者手【huò zhě shǒu】机上时报:Installation error: INSTALL_FAILED_CPU_ABI_INCOMPATIBLE这个错误🍇,Google下说是【xià shuō shì】由于引【yóu yú yǐn】用了其他非android的sdk编译环【biān yì huán】境编译【jìng biān yì】👓的二进【de èr jìn】制代码导致的,然后就🏊把【bǎ】引用🧠的jar换成【huàn chéng】android环境编译【jìng biān yì】👓导出,但是还是报错【shì bào cuò】😥,最后发【zuì hòu fā】🔹现是因🔔为引用的jar文件里的【lǐ de】lib目录里【mù lù lǐ】🔼还引用🎿其他jar导致,把【bǎ】🐞lib里的【lǐ de】jar拿出来🍒放到项【fàng dào xiàng】目的buildpath里即可🍈解决🔂,不要引用的jar里再嵌【lǐ zài qiàn】套引用🔍jar那样就会有报【huì yǒu bào】错。
如果因🛰为引用【wéi yǐn yòng】的jar文件里🌐的lib目录里🙋还引用😲其他jar导致🌓,把【bǎ】lib里的【lǐ de】jar拿出来【ná chū lái】放到项目的buildpath里即可【lǐ jí kě】解决,不要引用的【yòng de】jar里再嵌🌳套引用jar那样就【nà yàng jiù】会有报错💷。
Android反编译
一、Apk反编译【fǎn biān yì】🏰得到Java源代码🍽
下载上述反编【shù fǎn biān】译🏰工具【gōng jù】❓包【bāo】😝,打开【dǎ kāi】apk2java目录下的dex2jar-0.0.9.9文件🐈夹【jiá】,内含【nèi hán】apk反编译【fǎn biān yì】🏰成java源码【yuán mǎ】工🅾具【jù】📱,以及源码【yuán mǎ】🚦查看工具【gōng jù】❓。
apk反编译【fǎn biān yì】🏰工具【gōng jù】❓dex2jar,是将【shì jiāng】apk中的🥦classes.dex转化成jar文件🐈
源码【yuán mǎ】🚦查看工具【gōng jù】❓jdgui,是一个反编译【fǎn biān yì】🏰工具【gōng jù】❓,可以直【kě yǐ zhí】接查看反编译【fǎn biān yì】🏰后的【hòu de】jar包【bāo】😝源代码🍽。
具体步骤:
首先将🥪apk文件后缀改为🐈zip并解压🗼,得到其中的【de】🛃classes.dex,它就是【tā jiù shì】🏺java文件编🎼译再通过dx工具打包【bāo】而成🎖的【de】✒,将🥪classes.dex复制到dex2jar.bat所在目录【lù】🦇dex2jar-0.0.9.9文件夹。
在命令【zài mìng lìng】行下定位到【wèi dào】dex2jar.bat所在目录【lù】🦇,运行【yùn háng】
dex2jar.bat classes.dex
生成
classes_dex2jar.jar
然后,进入jdgui文件夹双击【shuāng jī】✂jd-gui.exe,打开上面生成【miàn shēng chéng】的【de】✒jar包【bāo】classes_dex2jar.jar,即可看🏕到源代码了【mǎ le】,如下图⚪:
HelloAndroid源码在【yuán mǎ zài】📉反编译💤前后的对照如下【xià】:
二、apk反编译【fǎn biān yì】生成程序的源🕚代码和【dài mǎ hé】图片🚐、XML配置、语言资【yǔ yán zī】源等文【yuán děng wén】件
如果是汉化软【hàn huà ruǎn】件,这将特【zhè jiāng tè】别有用
首先还🈚是要下🎽载上述🎗反编译【fǎn biān yì】工具【gōng jù】🈷包🌊,其中最【qí zhōng zuì】新的apktool,请到🥁google code下载【xià zǎi】🎋
apktool(google code)
具体步骤【zhòu】:
下载【xià zǎi】上📝述反编译【fǎn biān yì】工具【gōng jù】🈷包🌊,打开apk2java目录下的apktool1.4.1文件夹🔞,内含三【nèi hán sān】个文件【gè wén jiàn】:aapt.exe,apktool.bat,apktool.jar
注:里面的【lǐ miàn de】apktool_bk.jar是备份的老版本【běn】⛔,最好用最新的apktool.jar
在命令行下定位到apktool.bat文件夹🔞,输入以【shū rù yǐ】🍸下命令【xià mìng lìng】:apktool.bat d -f abc123.apk abc123,如下图🙋:
上图中🀄,apktool.bat 命令行🎍解释:apktool.bat d -f [apk文件💬 ] [输出文件💬夹【jiá】]
反编译的文件【de wén jiàn】💬如下(AndroidManifest.xml为例):
将反编【jiāng fǎn biān】译完的文件【de wén jiàn】💬重新打【chóng xīn dǎ】包成【bāo chéng】apk,很简单【hěn jiǎn dān】⛸,输入🍔apktool.bat b abc123(你编译出来文💩件夹【jiàn jiá】📹)即可【jí kě】,命令如下:
打包apk后的【de】文件在目录C:\HelloAndroid下【xià】🏐,生成了两个文🧛件夹【jiàn jiá】🎬:
build
dist
其中【qí zhōng】,打包生成的【de】HelloAndroid.apk,在上面【zài shàng miàn】🤹的【de】dist文件夹【jiàn jiá】⬛下【xià】🏐,Ok
三【sān】、 图形化🐱反编译【fǎn biān yì】🕤apk
上述步【shàng shù bù】🥞骤一【zhòu yī】、二讲述🕗了命令行反编【háng fǎn biān】😌译apk,现在提【xiàn zài tí】供一种图形化🐱反编译【fǎn biān yì】🕤工具【gōng jù】:Androidfby
首先,下载上🦊述反编【shù fǎn biān】🏴译工具【gōng jù】包,打开Androidfby目录【mù lù】,双击Android反编译【fǎn biān yì】🕤工具【gōng jù】.exe,就可以🔈浏览打📔开要反编译【fǎn biān yì】🕤的apk
关键词:apk
阅读本文后您有什么感想? 已有 人给出评价!
- 1
- 1
- 1
- 1
- 1
- 1