逆向某m-安卓APP记录

一。获取APK
1.由于手机中已经装了该应用,adb pull 到PC上
2.apktool d 发现报错,去网上下载更高版本的apktool_2.2.0.jar
java -jar apktool_2.2.0.jar d
apktool d结果
成功生成smali文件夹
3.试下直接编译
java -jar apktool_2.2.0.jar b
apktool b结果
报了N多错误,我4 * 500大小的缓冲区都放不下,
图中可看到res文件做了混淆
打开xml\y.xml,发现xmlns:android的值为http://schemas.android.com/apk/res-auto
我自己写的xml文件的xmlns:android为http://schemas.android.com/apk/res/android
修改一下,发现不报y.xml的错了,其他文件还是继续报错,看来要研究下xmlns:android
刚才的方法治标不治本,上网找了一下res-auto一般用在自定义控件的xml,在res/values/attrs.xml 添加
<declare-styleable name="Android">
<attr name="title" format="string"/>
</declare-styleable>

发现title的错不报了
<declare-styleable name="Android">
<attr name="btn_visibility" format="string"/>
<attr name="can_delete" format="boolean"/>
<attr name="defaultValue" format="boolean"/>
<attr name="dependency" format="string"/>
<attr name="empty_wording" format="string"/>
<attr name="key" format="string"/>
<attr name="icon" format="reference"/>
<attr name="layout" format="reference"/>
<attr name="persistent" format="boolean"/>
<attr name="summary" format="string"/>
<attr name="title" format="string"/>
<attr name="widgetLayout" format="reference"/>
</declare-styleable>
<declare-styleable name="mm">
<attr name="entryValues" format="reference"/>
<attr name="entries" format="reference"/>
<attr name="srcType" format="string"/>
</declare-styleable>

加了这些代码后不会报 No resource identifier found 的错了。
奇怪的是, mm明显是自定义的,不过竟然找不到,不知道是不是针对aptkool做的一些措施,隐藏了自定义的mm属性,还是编译的时候根本就没加到APK里面,那程序安装和运行的时候怎么不会报错呢,对res这块不熟,既然能跳过这部分,就等以后再研究了。
4.加了declare-styleable 后
这里写图片描述
这些报错大体意思是找不到style,打开res\values\styles.xml,发现都是混淆过的,然后layout里面的xml用style的时候都是明文显示
上面的疑问又来了,这个包是怎么编译出来的,运行的时候怎么没问题?

某flutter-app逆向分析是指对于一个使用flutter框架开发的应用进行逆向工程分析。逆向工程是通过分析应用的代码、二进制文件等来了解其内部实现细节。 首先,我们需要获取该应用的安装包文件(APK或IPA文件),然后进行解包操作,将其转换为可读取的文件目录结构。 接下来,我们可以使用一些工具来提取应用的资源文件、代码文件等。对于flutter-app来说,可以提取出dart文件,这是flutter的主要代码文件,其中包含了应用的逻辑实现。 通过阅读dart文件,我们可以了解应用的代码结构、数据模型、界面设计等。可以分析应用的逻辑实现方法,包括各种函数、类、方法的调用关系。 同时,还可以通过分析相关配置文件、资源文件等来了解应用的各种设置、资源加载方式等。 在逆向过程中,还可以使用一些调试工具来进一步了解应用的运行机制。例如,hook工具可以拦截应用的函数调用,并捕获输入输出数据,用于进一步分析。 逆向分析的目的可以有很多,比如了解应用的工作原理、发现潜在的漏洞或安全问题、提供参考用于自己的开发等。 需要注意的是,逆向分析需要遵守法律规定。未经授权的逆向分析可能侵犯他人的知识产权,涉及到隐私等方面的问题。因此,在进行逆向分析之前,应该了解并遵守当地相关法律法规,避免产生法律纠纷。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值