AndroidKiller中smali打包错误解决

AndroidKiller + JADX 组合拳:逆向分析游戏内购失败的Smali代码与修复 本文详细介绍了如何使用AndroidKiller和JADX工具组合进行逆向工程,诊断并修复游戏内购失败的问题。通过分析Smali代码和Java反编译,定位支付回调验证失败的原因,并提供修改方案。文章还探讨了逆向工程在问题诊断中的价值,帮助开发者深入理解支付模块的实现逻辑。 阅读详情

使用AndroidKiller打开一款app,修改代码后重新编译打包报错如下

当前 Apktool 使用版本:apktool_2.3.2
正在编译 APK,请稍等...
>I: Using Apktool 2.3.2
>I: Smaling smali folder into classes.dex...
>I: Building resources...
>S: WARNING: Could not write to (C:\Users\Administrator\AppData\Local\apktool\framework), using C:\Users\ADMINI~1\AppData\Local\Temp\ instead...
>S: Please be aware this is a volatile directory and frameworks could go missing, please utilize --frame-path if the default storage directory is unavailable
>W: D:\Program Files\AndroidKiller_v1.3.1\projects\ChaseCamera_v1.0.1\Project\res\values\public.xml:27: error: Public symbol array/categories declared here is not defined.
>brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\ADMINI~1\AppData\Local\Temp\brut_util_Jar_3987554955499107196.tmp, p, --forced-package-id, 127, --min-sdk-version, 19, --target-sdk-version, 28, --version-code, 1, --version-name, 1.0.1, --no-version-vectors, -F, C:\Users\ADMINI~1\AppData\Local\Temp\APKTOOL7150379841642260279.tmp, -0, arsc, -0, META-INF/android.arch.core_runtime.version, -0, META-INF/android.arch.lifecycle_livedata-core.version, -0, META-INF/android.arch.lifecycle_livedata.version, -0, META-INF/android.arch.lifecycle_runtime.version, -0, META-INF/android.arch.lifecycle_viewmodel.version, -0, META-INF/androidx.asynclayoutinflater_asynclayoutinflater.version, -0, META-INF/androidx.coordinatorlayout_coordinatorlayout.version, -0, META-INF/androidx.core_core.version, -0, META-INF/androidx.cursoradapter_cursoradapter.version, -0, META-INF/androidx.customview_customview.version, -0, META-INF/androidx.documentfile_documentfile.version, -0, META-INF/androidx.drawerlayout_drawerlayout.version, -0, META-INF/androidx.fragment_fragment.version, -0, META-INF/androidx.interpolator_interpolator.version, -0, META-INF/androidx.legacy_legacy-support-core-ui.version, -0, META-INF/androidx.legacy_legacy-support-core-utils.version, -0, META-INF/androidx.legacy_legacy-support-v4.version, -0, META-INF/androidx.loader_loader.version, -0, META-INF/androidx.localbroadcastmanager_localbroadcastmanager.version, -0, META-INF/androidx.media_media.version, -0, META-INF/androidx.print_print.version, -0, META-INF/androidx.slidingpanelayout_slidingpanelayout.version, -0, META-INF/androidx.swiperefreshlayout_swiperefreshlayout.version, -0, META-INF/androidx.versionedparcelable_versionedparcelable.version, -0, META-INF/androidx.viewpager_viewpager.version, -0, META-INF/com.android.support_animated-vector-drawable.version, -0, META-INF/com.android.support_appcompat-v7.version, -0, META-INF/com.android.support_cardview-v7.version, -0, META-INF/com.android.support_customtabs.version, -0, META-INF/com.android.support_support-vector-drawable.version, -0, arsc, -I, C:\Users\ADMINI~1\AppData\Local\Temp\1.apk, -S, D:\Program Files\AndroidKiller_v1.3.1\projects\ChaseCamera_v1.0.1\Project\res, -M, D:\Program Files\AndroidKiller_v1.3.1\projects\ChaseCamera_v1.0.1\Project\AndroidManifest.xml]
APK 编译失败,无法继续下一步签名!

报这么多错误,咋个解决呢。这里说下思路。思路是最重要的。

先检查下自己配置是否正确(我自己写一个demo,解包,重新编译,成功,那就说明环境是ok的)
来看看demo编译的日志

当前 Apktool 使用版本:apktool_2.3.2
正在编译 APK,请稍等...
>I: Using Apktool 2.3.2
>I: Smaling smali folder into classes.dex...
>I: Building resources...
>S: WARNING: Could not write to (C:\Users\Administrator\AppData\Local\apktool\framework), using C:\Users\ADMINI~1\AppData\Local\Temp\ instead...
>S: Please be aware this is a volatile directory and frameworks could go missing, please utilize --frame-path if the default storage directory is unavailable
>I: Copying libs... (/kotlin)
>I: Building apk file...
>I: Copying unknown files/dir...
>I: Built apk...
APK 编译完成!
正在对 APK 进行签名,请稍等...
APK 签名完成!
---------------------------
APK 所有编译工作全部完成!!!
生成路径:
file:D:\Program Files\AndroidKiller_v1.3.1\projects\app-debug\Bin\app-debug_killer.apk

从日志就可以看出两点,第一就是环境是ok的,第二,对于S: WARNING这种信息不用管它,不影响编译。
再回去看我们文章开头的报错,关注点移动到这里

>W: D:\Program Files\AndroidKiller_v1.3.1\projects\ChaseCamera_v1.0.1\Project\res\values\public.xml:27: error: Public symbol array/categories declared here is not defined.

你不知道这个W:是什么意思?那你总知道这个xml:27: error: Public是错误的意思吧。上面这句话报错,说是values\public.xml有个叫做categories的,但是你没有定义它。接下来就去’工程搜索’,发现这个是facebook的。

<public type="array" name="categories" id="0x7f020000" />  

那我代码里没有定义这个,所以我就注销这句

   <!--    <public type="array" name="categories" id="0x7f020000" />  -->

重新编译成功。
你学会了吗?如果你的情况是还有其他错误,你会自己排查了吗?

APK反编译总失败?可能是你的Apktool该升级了:AndroidKiller内置工具更新实战 本文详细介绍了如何解决APK反编译失败的问题,特别是由于Apktool版本过时导致的常见错误。通过AndroidKiller内置工具更新实战,指导用户安全获取最新版Apktool,并提供了版本管理和验证的实用技巧,帮助逆向工程师高效完成APK分析。 阅读详情

相关推荐

AndroidKiller进阶:从环境配置到APKTool高效反编译实战

本文详细指导如何为AndroidKiller配置高效的逆向分析环境,重点涵盖JDK路径的精确设置与APKTool的版本更新。通过实战演示,确保反编译APK时能正确解析Smali代码与资源文件,并提供了常见问题的排查思路,帮助读者建立稳定可靠的Android应用逆向工程工作流。

weixin_29239661的博客 519

Linux下使用apktool打包apk报brut.androlib.AndrolibException

Linux下使用apktool打包apk报brut.androlib.AndrolibException

DevYuan的专栏 2426

APK逆向实战:绕过游戏内购验证

本文详细介绍了APK逆向工程中绕过游戏内购验证的实战技巧,包括验证机制分析、工具准备、字符串定位、Smali代码修改等关键步骤。通过具体案例演示如何破解本地验证逻辑,同时探讨了进阶技巧与防护对策,帮助开发者深入理解移动应用安全机制。

weixin_28732953的博客 1140

S: WARNING: Could not write to (C:\Users\Administrator\AppData\Local\apktool\framework), using C:\Us...

使用ApkIDE反编译修改后,重新编译生成APK报错: > 正在编译Apk... - - 失败:S: WARNING: Could not write to (C:\Users\Administrator\AppData\Local\apktool\framework), using C:\Users\ADMINI~1\AppData\Local\Temp\ instead....

denghe4720的博客 3139

AndroidKiller桌面版逆向套件:预装新版apktool/dex2jar/adb,支持Android 13+反编译与重签名

开箱即用的Android应用逆向分析环境,基于持续维护的AndroidKiller桌面程序重构。内置适配Android 13及更高版本的apktool(含资源编译修复)、dex2jar v2.1+、jd-gui 1.6.6、Lua 5.3.0运行时和新版adb工具集。签名功能集成keystore管理、多签名配置(signs目录)和一键自动重签名流程。Smali与Java代码编辑支持语法高亮(codecolor.ini)、智能补全(codecomp.cfg),日志标签、搜索历史均持久化存储(logtaghis

desk3的博客 606

实现高精度卷积混响--MATLAB仿真篇

一、前言 之前在STM32F407上现实了直播声卡,实现的经典Schroeder混响模型和Moorer混响模型,得到不错效果。后来得知卷积混响最为真实地表现空间的特性,所以也就尝试在MCU上实现一个高精度的卷积混响(卷积点数为32768),目前MCU出来的混响效果算得上一流水准,本人也在计划在ADI的21489或者SC584上更高精度的卷积混响。 二、卷积方式 1、conv1是使用MATLAB自带卷积函数conv 2、conv2和conv3是改进后卷积过程,具有减少运算量特点,方便嵌入式移植 clear;

Six44的博客 5078

apktool java_apktool 简单使用记录

修改APP:车来了修改内容:首次启动引导页,中间的点素材修改、样式修改修改前:未选中为白色,选中为蓝色,间距为5dip修改后:未选中为红色,选中为黑色,间距为0前后截图如下: 修改过程:一、使用apktool反编译apkapktool安装根据官网进行:https://ibotpeaches.github.io/Apktool/install/具体操作:0.首先确保使用java 1.8或以上1.下...

weixin_32002013的博客 570

Cisco Packet Tracer 7.3免登录技巧:3种方法快速跳过注册界面(附详细截图)

本文针对Cisco Packet Tracer 7.3启动时遇到的登录界面问题,提供了三种合法高效的解决方案。详细介绍了如何利用官方访客模式快速启动、注册思科账号实现一劳永逸登录,以及通过调整本地安装配置优化启动流程,帮助网络学习者与备考者绕过繁琐步骤,快速进入实验环境。

weixin_29305337的博客 738

apktool回编错误

I: Using Apktool I: Smaling smali folder into classes.dex... I: Building resources... W: F:\PackageTemp\102294\game\res\values\public.xml:1063: error: Public symbol bool/abc_config_actionMenuItemAll...

郑梦佳的专栏 1191

基于NB-IoT的智慧路灯监控系统(NB-IoT专栏—实战篇1:项目简介)

基于NB-IoT技术的城市道路智慧路灯监控系统,在每个照明节点上安装一个集成了NB-IoT模组的单灯控制器,单灯控制器再经运营商的网络,与路灯控制平台实现双向通信,路灯控制平台直接对每个灯进行控制,包括开关灯控制、光照检测、自动调节明暗、电耗分析等操作。

不脱发的程序猿 5万+

OpenGL ES 3.0 开发(一):绘制一个三角形

该原创文章首发于微信公众号:字节流动 什么是 OpenGLES OpenGLES 全称 OpenGL for Embedded Systems ,是三维图形应用程序接口 OpenGL 的子集,本质上是一个跨编程语言、跨平台的编程接口规范,主要应用于嵌入式设备,如手机、平板等。由科纳斯(Khronos)组织定义和推广,科纳斯是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。 O...

字节流动 8万+

【Error】APKTool报错:No resource identifier found for attribute 'appComponentFactory' in package 'androi

问题 最近是用apktool build一个apk时,报错:/app-release/AndroidManifest.xml:3: error: No resource identifier found for attribute 'appComponentFactory' in package 'android' 完整的错误log如下: ➜ release git:(master) ✗...

think_ycx的专栏 1万+

量化交易 米筐 案例:市值因子选股策略

案例:市值因子的选股策略 1.结果 获得超额收益 年化 49% 2. 从股票中选择市值小的股票 选定财务数据筛选 进行每日调仓(多因子选股调仓 周期频率会小一些) 3. 代码 估值有关指标 # 在沪深300股票中,选出市值比较小的10只股票 # 在这个方法中编写任何的初始化逻辑。context对象将会在你的算法策略的任何方法之间做传递。 def init(context): # 沪深300组合 stocks = index_components('000300.XSHG') # 沪深3

廷益_飞鸟的博客 2311

AndroidKiller报.smali文件丢失问题解决(关闭Android Studio的Instant Run)

AndroidKiller报.smali文件丢失问题解决(关闭Android Studio的Instant Run)   第一节编写一个Android程序里我们生成了一个验证激活码的apk,当我们输入的激活码正确时才能注册成功,输入错误时注册失败。 现在我们想输入错误的激活码也能注册。我们用Android反编译工具进行反编译后,修改注册部分的代码使得输入错误激活...

fenggewan的博客 5324

十、Teigha.Net示例的源代码下载链接,以及英文的chm说明文件和相关案例

目录官方案例demo下载Teigha.net 英文版手册下载Teigha.net Entity实体中文翻译Teigha4.0 解决闪烁问题demo下载Teigha4.0 收录demo案例类似CAD看图王软件无AutoCAD环境下操作显示CAD文件的功能源码,整个示例模块源码 官方案例demo下载 在之前找到的官方案例3_03版本中包含32位与64位dll 其中的chm的说明文件内容也不完全,后面有更为详细的英文版的chm; 示例项目中,主要包括一个winfrom程序与控制台程序,OdWriteExMgd

... 3517

UG NX二次开发(C++)-NX2406系列二次开发编程模板配置

前面已经写了有关UG NX二次开发编程模板配置的文章,但是由于NX2406/2412系列的版本中,在UGOpen文件夹中没有了vs_files文件夹了,而是采用了VSIX Project的方式配置(其适用于VS2019),在VS2022中不能正确的配置。我结合以前配置模板的经验和现在的配置方式讲一下NX2406系列二次开发编程模板的配置。我把相应的编程模板放在资源文件UG NX二次开发编程模板(基于NX2406版本制作)中,方便大家下载使用。

GimiGimmy 2640

Android逆向之AndroidKiller使用

AndroidKiller能干什么? Android killer 是一款可视化的安卓应用逆向工具,集Apk反编译、Apk打包、Apk签名,编码互转,ADB通信(应用安装-卸载-运行-设备文件管理)等特色功能于一身,支持logcat日志输出,语法高亮,基于关键字(支持单行代码或多行代码段)项目内搜索,可自定义外部工具;吸收融汇多种工具功能与特点,打造一站式逆向工具操作体验,大大简化了安卓应用/游...

勤劳是一种习惯 2532

雷达方程从零开始的详细推导及实现

通过以上六步,我们从最基本的物理图像出发,完整地推导出了雷达方程。初学者可以按照这个逻辑,自己在纸上一步步重现整个过程。Python实现。

VectorShift的博客 336

android killer 反编译工具,androidkiller反编译软件使用与踩坑并解决的过程

1、AndroidKiller是一款可以对APK进行反编译的工具,它能够对反编译的Smail文件进行修改,并将修改后的文件进行打包。优点:androidKiller是可视化界面的一款反编译软件,省去了利用编译工具进行反编译的繁琐步骤,这里简单的说一下利用工具进行反编译的步骤:APK TOOL:谷歌提供的apk编译工具,可以反编译和回编译。我们都知道,其实APK其实就是一个压缩包,我们完全可以把.a...

weixin_30533109的博客 2499

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

安卓逆向工程实战:从混淆代码中定位与修改手游内购逻辑

在安卓应用开发中,代码混淆是保护应用逻辑和知识产权的重要手段,它通过重命名类、方法和变量名来增加逆向分析的难度。其原理在于将可读的代码标识符替换为无意义的短字符,同时可能结合优化和压缩技术。这项技术的核心价值在于提升应用安全性,防止核心算法和业务逻辑被轻易窃取或篡改。在移动安全、软件保护等应用场景下,混淆是开发者必备的防御措施。然而,对于安全研究人员或学习逆向技术的开发者而言,分析混淆后的代码是一项关键技能。本文聚焦于如何利用AndroidKiller和JADX等工具,通过静态分析定位混淆代码中的关键逻辑,

weixin_34054931的博客 397

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Android逆向工程实战:从资源分析到代码解析的完整工具链指南

逆向工程是软件安全分析、漏洞挖掘和协议研究中的关键技术,其核心原理是通过反编译、调试等手段,解析程序的内部结构与运行逻辑。这项技术的价值在于帮助开发者理解第三方应用实现、进行安全评估、或实现功能定制与兼容性适配。在移动安全领域,Android平台因其开放性成为逆向分析的主要对象,涉及应用行为分析、数据流追踪和算法还原等典型场景。本文聚焦于AndroidKiller这一集成化逆向工具,它通过整合Apktool、dex2jar等核心组件,为逆向工程提供了从资源分析到代码解析的一体化解决方案。工具链中的Frida

weixin_30660027的博客 365

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

打包压缩混淆_资源文件混淆

点击蓝字默默关注在使用AndroidKiller修改smali代码,进行回编译时,有时会出现报错的情况,报错的其中一种可能是由于资源文件的混淆,可以通过绕过资源对抗的方法解决。1资源混淆的例子分别打开AndroidKiller和模拟器,以捕鱼达人软件为例进行演示,如图1.1所示。 (图1.1)反编译这款游戏时,如图1.2所示。...

weixin_35719180的博客 482

安卓逆向之反编译工具的使用

    SMALI/BAKSMALI是一个强大的apk文件编辑工具,用于Dalvik虚拟机(Google公司自己设计用于Android平台的虚拟机)来反编译和回编译classes.dex。其语法是一种宽松式的Jasmin/dedexer语法,而且它实现了.dex格式所有功能(注解,调试信息,线路信息等)。 1.smali&amp;baksmali包的下载 到如下的地址:https://bi...

ZZHMMD957 2603

了解Android常用逆向工具的用处与功能

SMALI smali是指安卓系统里的Java虚拟机(Dalvik)所使用的一种.dex格式文件的汇编器。Smali工具的主要作用是将smali文件转化成dex文件的一个工具。 使用命令: Java -jar smali-2.0.3.jar abc/ -o 123.dex BAKSMALI Baksmali是指安卓系统里的Java虚拟机(Dalvik)所使用的一种.dex格式文件的反汇编器。...

qq_34108752的博客 1653

第一次尝试使用AndroidKiller反编译apk

我用Android Studio做了一个简单的Demo,就是单独的一个登陆界面,设置了固定的账号密码,如果输入的账号密码如设置的值一致就进行页面跳转。 接下来将它打包apk拉进Android Killer(简称AK)中去 这段代码我们也不难理解,一开始声明的两个参数“name”和“pass”应该就是账号和密码的输入框,分别用p1和p2表示。 If-eqz是smali的语法,判断前后两个操作数...

一起摆摊啊 4188
上一篇: Fail to connect to camera service+hardware.Camera$PreviewCallback)' on a null object reference
下一篇: 混淆还原的那些坑
SeekSage
SeekSage 领域专家: 操作系统技术领域 领域专家: 操作系统技术领域
博客等级 码龄13年 364粉丝 286原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值