首页 APK软件汉化去广告反编译破解教程大全

APK软件汉化去广告反编译破解教程大全

举报
开通vip

APK软件汉化去广告反编译破解教程大全APK汉化、去广告、反编译教程第一课:什么是APK汉化,汉化的分类方式都有哪些?第二课:汉化必备基础————Java环境配置第三课:APK文件结构讲解☆第四课:【全民汉化】最新汉化工具大集合第五课(1):软件汉化————简易汉化教程☆第五课(2):软件汉化————Apktool汉化通用教程☆☆第六课:如何去除标准googleadmod广告第七课:Android去广告通用教程...

APK软件汉化去广告反编译破解教程大全
APK汉化、去广告、反编译教程第一课:什么是APK汉化,汉化的分类方式都有哪些?第二课:汉化必备基础————Java环境配置第三课:APK文件结构讲解☆第四课:【全民汉化】最新汉化工具大集合第五课(1):软件汉化————简易汉化教程☆第五课(2):软件汉化————Apktool汉化通用教程☆☆第六课:如何去除标准googleadmod广告第七课:Android去广告通用教程【已附视频教程】第八课:游戏汉化————通用教程第九课:安卓游戏汉化破解教程—Resource.car绕过校验与ARM机器码修改简述第十课:破解APK————破解积分墙、破解序列号等高级教程☆第十一课:Apktool汉化常见问题及解决方法前言:第一课:什么是APK汉化,汉化的分类方式都有哪些?(略)汉化:顾名思义,就是通过某些工具或者技能,使某些非中文软件支持中文显示;从安卓的角度出发,可以分为游戏汉化和软件汉化;安卓软件按汉化方式分类为强制式汉化与嵌入式汉化两种,按照工具分类有汉化浪子与apktool两种;强制式汉化:把原APK软件内的英文全部直接翻译成中文,apk内语言文件只有中文,仅适用于中文使用者;嵌入式汉化是:在原有的语言包内加入中文语言包,使之成为多语言共存,适用于更多的国家人群。汉化浪子:软件是直接提取apk里面的语言文件进行汉化,属于并且仅为强制式汉化,汉化速度很快,但出错率比较高,而且不适用于较多apk同时进行;apktool:软件是对整个apk完全反编译,可以进行强制式汉化或者嵌入式汉化,apktool比较灵活,可以进行语言、图片精简等,而且更新软件也比较快速,用apktool工具配合一些常用的小工具,可以学习各种问题处理,能够提升汉化人员的功底,比如破解等。第二课:汉化必备基础————Java环境配置我们都知道,Android系统就是由linux系统而来,但是作为初学者来说Linux是很难攻克或者掌握的难点,所以本教程是教初学者在Windows下进行使用汉化工具;APKtool汉化工具使用前,必须先给自己的电脑搭建好JAVA环境和汉化工具(第四课下载),本节课就是搭建环境。一、工具准备:1.JAVA官方最新版:这里注意的是,JAVA环境区分个人电脑系统版本,如XP\Win732\Win64,请下载时候注意版本。官方下载地址:本帖隐藏的内容http://www.oracle.com/technetwork/java/javase/downloads/index.html点击JDK--Download按钮,下载JDK官方版本。2.软件汉化工具:Apktool编译/反编译工具、Signapk签名工具、Zipalign对齐优化工具、dex2jar转换工具、Jar代码查看工具、Notepad++文本编辑器、UltraCompare文本比较器、BeyondCompare文本比较器、Java开发环境等请访问第四课时下载;二:JAVA环境搭建:【注意:win7系统64位与32位路径的差别,可能是C:\ProgramFiles(x86)或C:\ProgramFiles】1、想要成功配置Java的环境变量,那肯定就要安装JDK,才能开始配置的。2、安装JDK向导进行相关参数设置。如图:3、正在安装程序的相关功能,如图:4、选择安装的路径,可以自定义,也可以默认路径。如图:5、成功安装之后,进行测试是否真的成功安装,点击【开始】----【运行】----输入CMD,在命令提示符里面输入“Java-version”并按回车键,出现下图,即为安装成功。如图:6、下面开始配置环境变量,右击【我的电脑】---【属性】-----【高级】---【环境变量】,如图:7、选择【新建系统变量】--弹出“新建系统变量”对话框,在“变量名”文本框输入“JAVA_HOME”,在“变量值”文本框输入JDK的安装路径(也就是步骤5的文件夹路径),单击“确定”按钮,如图:8、在“系统变量”选项区域中查看PATH变量,如果不存在,则新建变量PATH,否则选中该变量,单击“编辑”按钮,在“变量值”文本框的起始位置添加“%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;”或者是直接“%JAVA_HOME%\bin;”,单击确定按钮,如图:如果要使用CMD的各种命令:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\system32\WBEM;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;9、在“系统变量”选项区域中查看CLASSPATH变量,如果不存在,则新建变量CLASSPATH,否则选中该变量,单击“编辑”按钮,在“变量值”文本框的起始位置添加“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;”。如图:10、现在测试环境变量的配置成功与否。在DOS命令行窗口输入“JAVAC”,输出帮助信息即为配置正确。如图:第三课:APK文件结构讲解☆想要快速地学习Android汉化,就要掌握基础知识--apk安装包的文件夹基本结构,然后才能庖丁解牛,成为汉化大师哦。APK是AndroidPackage的缩写,即Android安装包(apk)。APK是类似SymbianSis或Sisx的文件 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。apk文件和sis一样,把androidsdk编译的工程打包成一个安装程序文件,格式为apk。APK文件其实是zip格式,但后缀名被修改为apk,可以通过winrar等解压工具进行解压缩,进而进行汉化。APK文件结构:下图为常规apk文件夹结构。通常情况下大部分apk结构几乎相同,有些还会多出部分文件夹。文件目录如下:-META-INF-res-anim-color-drawable-drawable-hdpi-drawable-land-drawable-land-hdpi-drawable-mdpi-drawable-port-drawable-port-hdpi-layout-layout-land-layout-port-xml-AndroidManifest.xml-classes.dex-resources.arsc基本结构如上图所示。多数情况都要汉化的是resources.arsc、classes.dex和res文件夹里的***.xml文件。-META-INF是存放签名的文件夹.META-INF文件夹里面存放的是证 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf 文件,软件修改后需要将里面的证书文件删除(***.RSA、***.SF、***.MF三个文件),否则软件无法安装。-Res是存放xml配置文件和图片文件,这些文件都是经过加密无法直接查看.res文件夹里存放的大部分是软件所需的资源及布局文件(drawable存放资源、layout、xml存放布局文件***.xml),部分需要汉化的单词、语句会在这些***.xml文件里。-AndroidManifest.xml是每个应用都必须定义和包含的,它描述了应用的名字、版本、权限、引用的库文件等等信息。极少数软件在这个文件里会有单词、语句需要汉化。-Classes.dex和resources.arc是源码的加密文件,这些文件需要反编译才能查看。classes.dex文件是Java源码编译后的代码文件。通常该文件里都有单词、语句需要汉化。resources.arsc文件是编译后的资源文件,大多数情况下,需要汉化的单词、语句绝大多数都在这个文件里,汉化的时候首先就要看这个文件。*另外,有些需要汉化的***.png图片文件、***.html文件、***.txt文件可能会在assets文件夹或res/raw文件夹内。图片文件需要用Photoshop修改,html、txt文件可以直接用Notepad++Portable文本编辑工具修改。它的具体操作流程如下图:注意:回编译后的apk是没有签名的,需要签名后才能正常安装。OK!接下来就是利用apktool工具来反编译和回编译了。它的基本语法如下:反编译apk:编译成功之后会生成对于的文件夹,文件夹内部的smali就是源码文件了,如果会davlik(.smail)语法就能动态注入代码了回编译成apk:回编译后的apk会是在test/dist目录下。注意:回编译后的apk是没有签名的,需要签名后才能正常安装。第四课:APK汉化及反编译工具介绍☆应广大汉化爱好者的要求,我们安智汉化组特别为大家整理了一些常用的汉化工具集合(置顶教程贴里的那些工具的确是有点太老了),囊括了最新的Apktool编译/反编译工具、Signapk签名工具、Zipalign对齐优化工具、dex2jar转换工具、Jar代码查看工具、Notepad++文本编辑器、UltraCompare文本比较器、BeyondCompare文本比较器、Java开发环境等工具!都使用了批处理命令的方式,即使是新手也能通过简单的拖拽操作达到目的,完全的傻瓜化,彻底抛弃了繁琐的敲命令过程!!Apktool编译/反编译工具apktool-2014-06-27.zipDodo_apktool(windows可视化反编译工具-推荐)Signapk签名工具:signapk.zipZipalign对齐优化工具:zipalign-2014-06-27.zipdex2jar转换工具:dex2jar-0.0.9.15.zipjd-guijar代码查看工具:jd-gui-0.3.6.windows.zipNotepad++文本编辑器:npp.6.6.7.Installer.zipUltraCompare文本比较器:http://pan.baidu.com/s/1hqzK4Ws(密码:1tgd)BeyondCompare文本比较器:BCompare-zh-3.3.11.18371.zip强烈推荐下面反编译利器(两个都差不多、一体化破解功能集成软件):APK改之理ApkIDE3.1.rar、游改乐YouGaisJava开发环境(JDK)、Elcipse、ADT、反编译工具合集等等,详见网盘可视化的用于修改安卓Apk程序文件的工具,软件采用中文界面,界面友好,集成Apk反编译及编译打包(APKtools功能)、Apk签名(APKSign功能)、dex2jar、jd-gui、以及高亮语法、代码搜索、16进制等等功能于一体的反编译软件,操作方便,简洁,有效。1、全自动的反编译、编译、签名,从此不必再输入繁琐的Apk解包、打包命令。2、以树目录管理全部Apk资源文件,浏览、管理、打开、删除文件或文件夹都可以统一在软件中实行,方便快捷。3、自动识别图像资源,并提供该类资源的快捷替换功能,方便修改这类图片资源。4、内置代码编辑器,支持包含(但不限于)。samli、。xml、。html、。java等的各种文件的语法高亮显示,根据文件格式自动匹配相应语法;同时支持使用系统编辑器来编辑代码文件。5、内置基于文件内容的单行或多行代码搜索、替换引擎,一键搜索替换,可显示无穷多个搜索结果以标签的形式分门别类;可指定搜索范围(全部源代码或在指定的文件夹中搜索),支持正则表达式搜索和替换。搜索功能是Apk修改的一个重要工具,从此你不必借助其它第三方搜索工具。6、内嵌Unicode、AscII互转工具,以方便汉化类修改。7、内置类似于系统cmd.exe的命令窗口,高手也可以手动直接输入各种命令来手动操作。8、所有操作步骤、操作结果都以良好的阅读格式输出在日志窗口,方便查看修改的历史记录。9、内置adb功能,包括使用adb向设备(或模拟器)安装、卸载修改后的apk进行测试,并嵌入adblog、ddms等功能监测修改apk的运行状况,以便于 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 和查找错误。10、支持中文界面,界面友好,windows程序风格,操作简便。第五课(1):软件汉化————简易汉化教程前言:由于简易汉化是最简单的汉化方式,所以汉化是最不彻底的,很多限制。简单地说,就是用droidResEdit或者ArscEditor编辑软件汉化resources.arsc文件而已。1.首先,汉化APK之前,必须先用WinRAR之类的压缩解压缩工具,将其进行解压缩。2.然后,解压后,我们就可以开始汉化了,一般APK文件只需要汉化解压后得到的扩展名为.ARSC的文件,即可!3.接着,用ARSC文件汉化工具将其打开,之后就可以在汉化工具里进行汉化了。汉化后的文件不会对APK程序运行做任何影响。4.再接着,再次用“压缩及解压缩”工具打开APK文件,直接把汉化后的ARSC文件添加替换进去。同时,在进入压缩包里的【META-INF】目录(这是储存签名文件目录),删除里面除了MANIFEST.MF外的其他文件。5.最后,就可以使用签名工具。签名完后的APK程序,就可以安装了。解压缩工具,选用:【WinRAR】。汉化工具,选用:【AndroidResEdit】或【汉化狂人】;图像处理软件。签名程序:选用:【Auto-sign】(AndroidResEdit自带)必须安装JAVA。Android手机:选用简单汉化实例:以下汉化实例的APK程序,选用了【twidroidpro_Ver2.6.1.apk】,这是一个著名的【微型博客】Twitter.com的客户端程序。之所以选择他,因为他汉化的不仅仅ARSC文件,同时还有图片需要汉化。图片汉化?,往下看就明白了。第一步,首先使用WinRAR:首先,确认你的电脑已经安装【WinRAR】,开始前,首先设置一下文件关联,打开【WinRAR】程序,点击菜单栏上的【选项】-【设置】-【综合】,在综合设置选项最下面找到,『用户自定义压缩文件扩展名(U)』,输入:【APK】确定。OK!正式汉化开始。之后你所看到的apk文件的图标就变成压缩文件图标了。第二步,解压APK文件:点击【twidroidpro_Ver2.6.1.apk】右键,使用WinRAR,解压到『twidroidpro_Ver2.6.1』注:解压时,最好解压到单独的文件夹,以后升级汉化会很方便。第三步,开始汉化打开汉化工具,这里用【汉化狂人】作者,汉化浪子的最新作品的ARSC文件汉化工具AndroidResEdit或者ArscEditor编辑软件。【打开文件】找到刚刚解压的『twidroidpro_Ver2.6.1』文件夹里的【resources.arsc】。然后我们就可以开始汉化了。找到要汉化的词条,一行一行的汉化。个汉化工具汉化起来很简单,双击当前英文词条,输入翻译的中文,点击【OK】即可。同时,此工具还提供了右键【Google翻译】功能。很方便。如果汉化的英文词条太多,这样一个一个的点击似乎会觉得很麻烦。不要紧,这里提供了【字典导出导入】功能。有啥用?别急听我慢慢道来。。。。首先,【导出字典】。选择导出『大写字母开头词条』,这里又有人会问,这是为啥吶?因为我们只需要汉化带大写字母的词条,其他的一般不能汉化,不然会出错。大家打开APK程序就知道了,界面的英文几乎都是大写字母开头,只有小部分小写。这个只能自己慢慢找了。提示,不熟练的童鞋,汉化过程中最好用手机打开你汉化的APK程序,对照着汉化,这样会好很多。(一些看上去很混乱,不知道是什么的英文,不要去汉化。还有一点,汉化后的字符长度,不能够比汉化前的字符长度长,否则会提示出错。)继续,导出的字典为【.txt】文本文件,我们可以直接用记事本编辑。翻译前,先删除其他不需要翻译的词条,记住一般需要翻译的词条都是大写字母开头的。而ARSC汉化工具也会自动识别大小写。删除干净后我们就直接在记事本上翻译。中英文用“|”竖线隔开(已经自动生成)。汉化完字典后,保存,然后我们回到ARSC汉化工具,点击【导入字典】。就可以看到汉化的效果了。提示:建议把你导出的字典,保存累积起来,以后汉化类似的工具时更加方便ARSC文件的汉化最后一步到了,首先检查一下是否有汉化错误,或一些未汉化到的词条,直接修改,最后,点击【保存文件】,替换掉原来的『resources.arsc』,或者重新命名。备注:其实APK程序里面的.xml文件也可以使用【汉化狂人】汉化,但是容易出错。-第四步,汉化图片打开..\twidroidpro_Ver2.6.1\res\drawable\文件夹,找到含有英文字母的图片。然后,使用图片处理软件,进行修改,图片处理的首选当然是PS了。不过,不会【Photoshop】的童鞋不要急,这里推荐一个简单好用的给你。【Fireworks】也是一个著名的图像处理和网页制作工具,同时也是PNG图片的专用处理工具。它就是大名鼎鼎的『网页制作三剑客』之一,现在已经被Adobe收购了。操作简单,软件不像【Photoshop】那么繁重。处理完成后,不要直接『保存』或『另存为』。要使用『导出』功能,选择【仅图像】,导出的图片不会有图层,只是单单的一张图片。附:导出PNG图片最佳效果:使用【Photoshop】也是使用导出,图片优化使用PNG24使用【Fireworks】图片优化,采用PNG32,导出,仅图像。说明:APK程序文件大部分使用的是PNG格式的图片,当然也有使用其他格式的,不过比较少,我还没发现过有其他的,大家看清楚格式再导出。第五步,收尾打包OK教程到这里,APK文件的汉化已经大致完毕了。接下来是打包,为了怕破坏原有的APK文件,我们不必重新把解压后的文件夹,压缩打包为.zip文件再改为.apk,。双击,直接用WinRAR打开【twidroidpro_Ver2.6.1.apk】,点击菜单栏的【添加】替换文件即可。具体操作如下:1.首先,替换【resources.arsc】。直接点击【添加】,找到已经汉化完成的【resources.arsc】点击【确定】,【确定】。2.然后,替换图片。在WinRAR窗口里,直接双击打开..res\drawable\,再次点击【添加】,找到已经汉化处理好的图片,点击【确定】,【确定】。3.最后,删除原来的签名。在WinRAR窗口里,直接双击打开..\META-INF\,除了MANIFEST.MF外,删除另外两个文件,一般情况下只多出两个,如果你特别倒霉遇到多出很多个的,其他的都删了吧。OK,打包完成,最后可以签名了。第六步,开始签名:开始签名。由于ARCS文件汉化工具,已经整合【Auto-sign】签名工具,所以,我们直接点击菜单上的【签名】,找到已经汉化并打包好的APK文件【twidroidpro_Ver2.6.1.apk】),然后点击,【立即签名】,选择保存的位置。等待中………….叮!OK,汉化作品出来了。好了,汉化APK文件的简易教程到这里完毕!dex文件里的是隐藏得比较深的词条,一般我们在汉化完arsc和xml之后,将程序安装到手机上之后还发现有词条没有汉化,就需要考虑dex文。需要使用APKTOOLS反编译APK得到文件下面的smali文件夹下面的smail文件。汉化即可!详见后面章!第五课(2):软件汉化————Apktool汉化通用教程APKTool汉化是目前最全面的汉化方法。基本上是整个软件的英文都可以汉化。软件汉化大概步骤:1.反编译apk,反编译成Notepad++等工具能够读取的文本形式。2.翻译,使用Notepad++等工具进行文本翻译。3.回编译apk,回编译成完整的apk安装包。4.签名与Zipalign对齐处理。工具都在置顶帖找。强制汉化:直接翻译values文件夹下的语言文件。嵌入式汉化:新建values-zh、values-zh-rCN或values-zh-rTW,将values文件夹下的语言文件复制到此处,然后翻译这里的语言文件。语言精简操作:同时我们也可以使用apktool进行,删除values、values-zh、values-zh-rCN或values-zh-rTW以外的语言文件夹,不过这样有时候回编译会报错,解决方法请参照后续课程。我们用PreHome.apk这个程序来做例子。将PreHome.apk程序拷贝到本人附件中的"APKTool"文件夹。执行"反编译apk程序.bat".反编译成功后会在"反编译好哦的资源"文件夹下生成与程序名称同名的文件夹。进入文件夹,你会发现与原apk结构不同了。进入文件夹里面,会看到res文件夹和smali文件夹。还有两个文件。我们现在可以使用Notepad++等工具汉化。先不管其它,进入res文件夹。我们可以看到很多values开头的文件夹和一些以layout和drawable开头的文件夹。其中,我们主要汉化的就是values文件夹里面的string.xml文件,当然,一些程序的词条可能分散其它xml文件。values文件夹是英文语言的文件夹。而values-csvalues-frvalues-nb等这类文件夹是其他国家语言文件夹。而values-zh-rCN则是简体中文文件夹,values-zh-rTW是台湾繁体。那程序是根据什么情况来显示各种语言的呢?其实就是根据系统设置里面的区域设置。选择简体中文,它会自动显示values-zh-rCN文件夹内的语言。所以values-xx这类文件夹在一般情况下砍掉。(这就是精简语言)而当程序只有values这样一个文件夹的时候,我们可以自己手动创建values-zh-rCN文件夹,将values文件夹下的需要汉化的文件复制过来(values里面的一些文件,例如public.xml文件,是不能复制多一份的。)通常我们只需要复制string.xml文件和arrays.xml文件。(string.xml是控制程序界面上词条而arrays.xml是控制一些菜单选项的),这是在不破坏原有的values文件夹基础上实行的汉化。当我们手动创建values-zh-rCN文件夹并实行汉化,称为“嵌入式汉化”。当然,如果你连英文语言都不要的话,就可以直接将values内的词条汉化。这样程序就只有中文了,称为“强制汉化”。这个程序自带部分中文,但是不全面。我们打开它的"values-zh-rCN"文件夹。删除string.xml文件,从values文件夹将string.xml文件拷贝过来。打开它。这些都是需要汉化的词条。大家只需要将<stringname=xxxx>与</string>之间的词条汉化即可。汉化完之后保存。-另外,除了res文件夹内有语言包需要汉化外,在res文件夹内的layout和xml文件夹内也会有文件需要汉化,同样是用Notepad++打开,这些文件里面都是代码语句,需要通过搜索找到需要汉化的单词来汉化,所以这里建议大家先把原版的软件装上去,再对照单词,边搜索,边汉化。当搜索到的是smali文件里面的const-string"xxxxxx"的时候,这些其实就是classes.dex文件反编译出来的,这里需要注意,汉化const-string"xxxxx"中xxxx内容之后,必须保存为"UTF-8无BOM形式"。-我们也可以直接搜索const-string关键词来找到我们需要的汉化内容。搜索方法:按Ctrl+F调出查找框,选择“文件查找”,目录设置为1文件夹我建议大家先将英文版的程序安装到手机上,然后对照着来学习汉化。示例:我们要汉化黑色部分的英文,翻译完以后记得保存。这里要说明几点:只能汉连续的语句或大写单词,有下划线连接起来的不可以翻译。也有特殊情况,就需要你自己 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf 了。以下是我翻译完的strings.xml:汉化软件需要测试,因为你不知道有没有漏汉。现在我们回编译apk,双击打开强制编译.bat会弹出新窗口,将文件夹PreHome拖动到新窗口,回车,等待完成,如图即为回编译成功。同时工作目录下会生成新PreHome.1.0.2_out.apk,将其拖动到signapk.bat进行签名,等待完成。同时工作目录又会生成名为done的新文件夹,这里面就是签名成功的新apk。进入此目录进行安装,在手机上打开软件看看效果吧。这时候你就会发现原来还有漏网之鱼。你不知道这些鱼在哪,就要用Note++进行搜索了。搜索也有技巧:搜索目录选择反编译文件夹,匹配大小写,搜索无果时选择搜索语句中的单词等等。如图:单词Setting的搜索结果不在xml文件里,那就在xxx.smali里了,那怎么办呢?那就直接汉化smali文件没事,虽然有些不同但是也很简单,需要我提供的转码工具。因为smali里面是不支持直接翻译成汉字,需要把汉字转换成u码替换原英文单词。打开u码转码工具上面输入单词Setting对应的中文汉字,单击下面的转换即可得到u码\u8BBE\u7F6E,如图:然后将\u8BBE\u7F6E替换原来的Settings,记得要保存。在你可以再次回编译测试看看有没有成功。如果你操作无误,就必定成功。这里不再演示了。Smali文件里的汉化也有几点需要注意:汉字必须转码,只能翻译搜索到或在软件中出现的结果,不可多汉,只能汉const-string后面双引号中间的部分,双引号不可丢!最后还有Zipalign对齐化处理,使用方法与签名类似,详情可以参考工具压缩包里面的说明。Android软件Apktool汉化通用教程到此结束,希望可以帮到你。U码转码工具.rar(451.78KB,下载次数:542)PS:关于framework.apk,还有些事没说,现在补上。framework.apk是安卓框架,apktool需要根据framework.apk才能对软件进行反编译,有些软件需要设置了framework.apk路径以后才能进行反编译。因为我对cd命令也不熟,所以就不说怎么设置其他路径了。去ROM里面提取个framework.apk然后改名为1.apk放置到C:\Users\Administrator\apktool\framework下,再尝试进行反编译吧。framework.apk最好提取新版固件,因为是向下兼容,比如说4.1版固件framework就可以反编译和回编译4.1及以下系统支持的apk,但无法反编译和回编译4.2系统支持的apk.如果在你的工作目录没有生成相应的文件夹,请全盘搜第六课:如何去除标准googleadmod广告玩Android软件的时候最烦的就是广告了,广告界面大,屏幕小,老是点到,这些日子在汉化区学了点去广告的方法,不敢独吞,特此编写此教程。完全反编译apk文件,我以Cool_Tool_4.1.apk为例子。反编译软件后,用对比工具软件查看整个文件夹;进入AndroidManifest.xml按ctrl+F搜索搜索谷歌com.google.ads.adactivity【这个是admod的标准广告格式】找到了,直接删除整段即可.然后保存文件。接着进入F:\apktool\AA\smali\com\google\ads\AdView.smali我们只要找到刚刚在AndroidManifest.xml删的广告代码和在这的对应广告代码删除它.6找到了。就是它,删了他就可以了然后保存文件,然后回编译安装试试.成功!广告已经去除!其实软件去除广告代码的都是不同的,所以有些还是要靠自己去摸索。第七课:android去广告通用教程相信很多Android用户都特别讨厌广告,我也不例外,我是个看到广告就会心烦的人,所以学会了点去广告的方法,现在与大家分享,希望能帮助小白们找到前路的方向,不过我也只是个初学者,能力有限,在此只能讲解几个实例,其余的方法要靠大家去摸索。如果你有什么经验或者新方法可以跟帖回复与我们分享,我会更新进这篇教程里汇总,请大家踊跃参与,谢谢!今天就以最常见的广告作为教程讲解下去广告的简单过程。首先,我们要了解广告的添加方法,才能更好的去除广告,达到完美去除广告的目的。每家公司的广告添加方法都不尽相同,但是大部分的原理还是相通的,所以这大部分简单的广告还是很容易去除的。广告通常都是有其固定的代码形式,修改了代码以后就会失去原本的功能,因此我们就能利用此方法来去除广告。通常情况下,去广告要做到两步就够了。1.阻止广告源,即广告链接,广告代码一般存在于res资源文件夹和smali文件夹中,去广告的原理是把广告代码修改去掉,使其不能链接到广告源2.去除广告界面,大部分软件去除了下载源以后还会有个空白的界面留在屏幕上,这时候就要去除了。常见广告代码(摘自葵也馨的置顶教程):Admob广告代码为:<com.admob.android.ads.AdViewandroid:id="@+id/ad"android:layout_width="fill_parent"android:layout_height="wrap_content"/>GoogleAds广告代码为:<com.google.ads.GoogleAdViewandroid:id="@+id/adview"android:layout_width="wrap_content"android:layout_height="wrap_content"/>Admob广告下载源:http://r.admob.com/ad_source.phphttp://mm.admob.comhttp://api.admob.comGoogleAds广告下载源:http://pagead2.googlesyndication.com/pagead/afma_load_ads.js去广告步骤:1.阻止广告下载源完全反编译apk文件,我以androzip4.3.1为例。先来看看3处明显的广告:如图123用搜索Notepad++广告下载源,最简单的方法就是去搜索上面提供的广告下载,如图45这里就是广告源了,找到以后将广告下载源地址修改成无效的地址(例如0.0.0.0、192.168.1.1等),如图678修改完以后保存,重新编译apk文件,安装试试效果吧。有些软件可不是只有这2处广告下载源,这款软件就是。让我教你个彻底点的办法吧,不过要认真仔细点哦。让我们搜索http://看看:如图10、11这么多结果中只有几个是我们要修改的,再说有些比较难的软件在你不知道下载源的情况下,只能1个个修改编译测试,所以去广告也不是个简单的活,有时候改错了代**出现FC(就是强制退出)切记,不可大意!我们来挑出来需要修改的代码吧。在此给大家点总结出的经验,就是代码中带有ads、admob.com、api、sdk、js等代码的就要仔细辨认,因为这些是常见广告下载源的标志,虽然不能说100%是,但是八九不离十,准确率还是很高的。2.去除广告界面:上面已经说了,有些广告阻止广告下载源是不够的,手头没有 材料 关于××同志的政审材料调查表环保先进个人材料国家普通话测试材料农民专业合作社注销四查四问剖析材料 就不截图解释了,现在直接说如何去除广告界面。广告界面的代码类似于:<com.admob.android.ads.AdViewandroid:id="@+id/ad"android:layout_width="fill_parent"android:layout_height="wrap_content"/>这款软件的代码:如图12其中layout_width="320.dip"意思是广告界面宽度=320。layout_height="50.0dip"意思是广告界面宽度=50,所以我们把宽度和高度设置为0.0dip,就不会显示广告界面了。如图13这个软件比较特殊,广告有点变化,搜索上面的代码修改了以后还是会出现广告界面,说明还是有的地方没搜出来。所以这个时候就要种搜索方式了,我们来搜索layout_height=试试。如图14又是很多结果,这时候有英语基础的朋友就有点走运了,因为我们可以通过前面的单词来猜想这段代码是什么意思,比如:如图15前面的意思是“图片浏览”,跟广告没什么联系,继续找吧。最下面是“图片按钮”,正是广告按钮!如图16全部搞定以后保存,编译看看效果:如图17、18、19去广告成功!教程到此结束。虽然还有些不完美,下面的黑色方块还没去掉。。。不过已经算是成功了。因为这款软件比较麻烦,所以此教程是在去广告基础上稍微深入了点,如果有疑问可以在回复中提,能解决我会尽量给予解答的。还希望大家不要吝啬自己的经验,你不说我不说,大家就没什么突破的发展了。本人能力有限,已经把所有的经验告知大家,希望不会去广告的多看看教程,自己做出来的永远比问出来的要深刻。另外如果有错误,望指出!谢谢!第八课:游戏汉化通用教程其实简单的游戏汉化与软件汉化没多大区别,只是游戏里面需要P图片。大概步骤依旧是反编译、汉化、回编译、签名(zipalign对齐化处理)。游戏apk结构与软件差不多,但是通常情况下会多出assets文件夹,这里面主要放置了游戏图片等文件,我们主要就是汉化这里面的图片。当然也有些游戏图片是放在res\drawable、res\drawable-hdpi或res\drawable-nodpi文件夹中,但不局限与这几个文件夹,这几个文件夹会存放不同分辨率的图片,如果你遇到了这样的游戏,就要每个分辨率都要P出来,所以汉化游戏也不是个简单事。今天我就以个小游戏火影忍者冒险NarutoAdventure作为示范,其他简单游戏汉化过程类似。首先我们完全反编译apk得到如图1结构:这个游戏在assets文件夹与\res\drawable下都有图片要汉化,至于P图就自己看PS教程吧。我就拿两张图片对比下进行说明:如图2、3原版英文与PS后效果图游戏汉化同样要汉化xml、smali等文本,这里与软件汉化完全相同就不再演示了。有几点要注意:图片汉化最好不要用计算机自带的画图工具,因为游戏里大部分是png透明图片,用自带画图工具会失去透明效果。汉化以后的图片格式要与原图相同,是png就保存为png,是jpg就保存为jpg。P图时字体颜色、字体大小等最好是忠于原作,如果你可以P出比原作更好的效果,也可以适当修改。这里先告诉你,不是所有的游戏都能汉化,比如3D引擎游戏,文件都被加密了,你根本没法汉化,目前可以汉化的游戏仅限于图片与文本类,当然还有些高难度的,这里就不进行解说了。大部分游戏都带有广告,作为追求完美的汉化人员,如果你会去广告的话,最好把广告去掉。如果不会的话可以保留,关于去广告教程请参考置顶的集合帖第六课、第七课。游戏汉化教程到此结束。希望可以帮助你。第九课:安卓游戏汉化破解教程—Resource.car绕过校验与ARM机器码修改简述本教程转自夏达@安智,教程内容可能有些难懂,需要具备一定的汇编和IDA使用知识。如果哪里写错了,烦请各位高手轻虐。本次作为示例的游戏是Vritra1.02版,教程主要讲述绕过Resource.car校验的思路和过程,至于十六进制汉化,以后有空再讲(难度不大)。欢迎每一位热心于汉化分享的朋友加入XDA汉化组。问题描述用APKTOOL解开游戏Vritra,在Assets目录下会看到一个文件:resource.car。游戏中的部分文字在此处,用十六进制编辑器打开此文件,搜索我们最容易测试到的文字,比如“QuitApp”:将其修改为任意字符,保存。然后用APKTOOL打包签名并安装,再打开游戏,游戏会出现如下报错:很明显,游戏对这个car文件进行了校验,但是校验的机制不明,如果时间足够长的话,可以找出它的校验机制,但是本例用的是绕过验证的方法。最初的解决思路通常碰到这样的报错信息,夏达第一反应就是先搜索报错的字符串。于是搜索整个文件夹,找到\lib\armeabi-v7a\libcorona.so偏移量为0x0014A860处有此字符串:看到so文件,我们的神器IDA就必须出场了。用IDA打开libcorona.so,然后搜索报错的字符串,定位到此处:下面解释一下这部分ARM汇编代码的意思(夏达不会说其实自己也只学过80x86的汇编,ARM是刚刚恶补的:BL_ZN18NativeToJavaBridge11GetInstanceEv;NativeToJavaBridge::GetInstance(void)LDRR1,=(aError-0x60590)LDRR2,=(aThisApplicatio-0x60598)MOVR3,R7ADDR1,PC,R1;"Error"STRR7,[SP,#0x2C8+var_2C8]ADDR2,PC,R2;"ThisapplicationencounteredaLuaerro"...STRR7,[SP,#0x2C8+var_2C4]BL_ZN18NativeToJavaBridge15ShowNativeAlertEPKcS1_PS1_iPN3Rtt11LuaResourceE;复制代码第一个指令BL,意思是带链接的跳转,本例意思是执行后面那个函数;第二个LDR是装载和存储单一字节或字的数据从/到内存,本例的意思是将后面地址的数据载入到R1寄存器上;第三个类似第二个;第四个MOV在8086中很常见,本例的意思如果不求甚解的话可以理解为R3=R7;第五个ADD意思是将把两个操作数加起来,把结果放置到目的寄存器中;第六个STR在本例的意思是将R7的内容存储到“#0x2C8+var_2C4”合成的地址,其中var_2C4在程序起始处有定义;剩下几个参照前面所述。知道了这些就很好改这部分,我们的目的是将错误对话框去掉,所以只需要把BL跳转语句修改为NOP。在ARM中NOP可以使用如下语句实现:MOVR0,R0这个语句相当于做一次无用功,也就相当于实现了NOP。接下去就是怎么修改机器码的部分。先查询手册,查到MOV的机器码是0xE1A0(此处可能不同,主要看自己IDA反汇编出来的机器码是多少),然后用十六进制编辑器定位到最后一个BL的机器码,可直接用IDA查看HEXVIEW-A。偏移位为:0x00060598,然后再用十六进制编辑器跳到该位置,将其十六进制改为0000A0E1。(有人可能会问,为什么机器码明明是0xE1A0,改的时候却要变成0xA0E1,原因在于高八位和低八位在文件中是倒置的)。保存,然后重新打包签名并安装。很遗憾,报错的对话框没有了,但是游戏停在启动画面,然后自动退出。又一个解决思路看来单纯的除去对话框在本例中无法解决问题,于是夏达在和朋友们开了几个小时CS大战后(我的水平超级菜,十发子弹,五发打队友,四发打天上,还有一发射墙上~),又重新打开IDA,一个函数一个函数的看(泪奔啊~)。终于,在IDA分析出来的函数列表中发现了这样的函数块:虽然我的英语不是很好,但是还是模模糊糊隐隐约约的看得懂Verify这个单词的意思,速度点击进入此函数块。解释一下红线绿线的意思,红线是no,绿线是yes。代码就不再分析了,和上面说的类似,思路也一样,我们要做的就是将两个BEQ跳转直接置为NOP。方法和上面一样。(我好累,就不一一截图了)。CAR的汉化考虑到还是有部分朋友不会做十六进制汉化,在本例一并说了吧。首先选择一款你喜欢和上手的十六进制编辑器,夏达最喜欢用的是HEXWORKSHOP。打开Resource.car,找到要汉化的字符串,比如问题描述里说的“QuitApp”,然后找一个工具算出“退出”二字的UTF-8码是0xE980800xE587BA,替换掉原来的字符串(大小要相等,少的用空格补)测试汉化成功:部分资料下载ARM指令查询手册:ARM指令集.chm(151.04KB,下载次数:137)修改后的so文件:libcorona.rar(629.66KB,下载次数:86)第十课:Apk程序破解加密等高级教程加密解密的斗争自从有软件以来就从来没有停止过,也将继续延续下去。当然,AndroidApk应用也不能例外。下面,我们将对Android平台的Apk加密解密进行探讨。本系列旨在利用加密解密的思想探讨AndroidApk破解的最基本的模式,通过解密的过程,让大家了解在写自己的apk的时候,如何有效的防范crack。---------来自作者Ethan.zhao为了体现最基本的原理,本文均采用了自己写的apk作为例子。这样,其他读者也拿这些crackme的apk进行解密练习。关键字:AndroidApk加密解密破解逆工程解密环境:1、VMware中安装的Ununtu10.042、Javajdk1.63、Android虚拟机系统外的工具:Apktool反编译APK工具Signapk签名APK工具在Windows平台,可能玩过crack的朋友会知道很多工具,比如TRW2000,W32DASM等等。在Android平台中,Apktool,dex2jar等这些解密用的工具使用较多,使用方法网络上很多,这里不再重复,大家可以Google参考相关内容。AndroidApk解密工程初探(1)——简单的例子首先先解密一个最为简单的apk程序,这个apk的界面如下:这个apk很简单,功能更简单,在输入框中输入内容,然后点击“验证”按钮,如果序列号正确,那么输入框中显示“lisencecorrect!”输入的序列号不正确,那么输入框中显示“lisenceuncorrect!”通过点击“清除”按钮,情况输入框内的内容,重新输入。我们的目的,当然就是要找出这个正确的序列号。解密过程:1.1、apktool反编译该apk文件解压后出现CrackMe_ConstantString.apk同名文件夹:1.2、理解LisenceCheck$1.smali中的代码含义,得到序列号代码节选:…//获取EditText中的内容,保存在v0内1iget-objectv0,p0,Lcom/mstar/test/LisenceCheck$1;->this$0:Lcom/mstar/test/LisenceCheck;23iget-objectv0,v0,Lcom/mstar/test/LisenceCheck;->medittext:Landroid/widget/EditText;45invoke-virtual{v0},Landroid/widget/EditText;->getText()Landroid/text/Editable;67move-result-objectv089invoke-interface{v0},Landroid/text/Editable;->toString()Ljava/lang/String;1011move-result-objectv0//把常量字符串youwin保存在v1内,1const-stringv1,"youwin"23invoke-virtual{v0,v1},Ljava/lang/String;->equals(Ljava/lang/Object;)Z45move-resultv0//比较v0和v1,若不相等,则跳转到cond_0处1if-eqzv0,:cond_0//我们已经估计到youwin就是序列号了,再往下看看cond_0处,验证我们的想法…//cond_0处开始,不等的结果是把“listenceuncorrect!”回写到EditText处1:cond_023iget-objectv0,p0,Lcom/mstar/test/LisenceCheck$1;->this$0:Lcom/mstar/test/LisenceCheck;45iget-objectv0,v0,Lcom/mstar/test/LisenceCheck;->medittext:Landroid/widget/EditText;67const-stringv1,"lisenceuncorrect!"89invoke-virtual{v0,v1},Landroid/widget/EditText;->setText(Ljava/lang/CharSequence;)V1011goto:goto_0跳到这里,在EditText中显示了lisenceuncorrect!,youwin就是我们要寻找的序列号。到这里,我们已经完成了第一个crackme,简单的常量字符串的破解。apk放于我的共享资源中,就不再粘贴地址了,谢谢。AndroidApk解密工程初探(2)--代码注入这个Apk的界面和功能刚才是一样的,只是实际的序列号不一样,没错,这个apk的序列号是变化的,具体就是每次程序启动就会产生一个10000以内的随机的整数,然后这个随机数就作为正确的序列号。当然,实际的软件不会有出现每次都不一样的序列号。这里使用随机数也是为了使得解密难道加大点,另外也希望起到抛砖引玉的作用。目标还是一样:找出这个正确的序列号。在这里,解密的思想是使用smali代码注入。简单的说,就是让程序通过修改反编译的smali代码,让程序本身去告诉我们,这个序列号是什么。可能很多朋友觉得,读smali代码可以,怎么写是问题。其实也比较简单,照葫芦画瓢就可以了。先讲讲我的思路,如果要在Android画面上多加一个控件用于显示正确的序列号,这样可能还要修改layout布局,麻烦不要紧,最怕出错。所以,个人觉得最稳妥的办法,就是使用Log类。所以,我的想法是在打印序列号错误信息的时候。同时把正确的序列号通过Log.d输出到logcat中。破解步骤:1.1第一步还是一样的,反编译apk。先使用apktool反编译apk应用程序得到CrackMe-RandomInteger,为了不破坏这个反编译出来的代码,我复制一份并改名为CrackMe-RandomIntegerTest。1.2简单阅读理解代码:代码中如何得到这个正确的序列号有语言基础的,应该不难懂,注意到我们稍候用到的一个地方。1iget-objectv1,p0,Lcom/mstar/test/LisenceCheck$1;->this$0:Lcom/mstar/test/LisenceCheck;2igetv1,v1,Lcom/mstar/test/LisenceCheck;->a:I3invoke-static{v1},Ljava/lang/String;->valueOf(I)Ljava/lang/String;4move-result-objectv1上述这段代码,就是从前面的OnCr
本文档为【APK软件汉化去广告反编译破解教程大全】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
绘画的问号
暂无简介~
格式:pdf
大小:4MB
软件:PDF阅读器
页数:0
分类:高中语文
上传时间:2019-07-30
浏览量:54