资讯专栏INFORMATION COLUMN

安卓逆向016之AS+smalidea插件动态调试(1)(注册机)

terasum / 2056人阅读

摘要:右击这个软件的名称,选择打开文件路径。选择文件夹,给权限。找到注册机程序,拿到其进程号。继续运行程序,点击注册,触发断点。这个已经拼接完毕了,下边的可以看到是位。

前言

本篇文章主要内容为:

通过导入反编译出的完整smali代码,设置好调试所需的条件、设置断点。然后连接模拟器,运行代调试的APK程序

使用AK导出完整的反编译包

将要分析的程序拖入AK,选择“AndroidManifest.xml”,先看看是否有这个标签,在看看这个debug是否为“true”,假如是false就要改为true,在重新打包回编译一下,之后在反编译后的APK。假设没有这个标签就要添加。

右击这个软件的名称,选择“打开文件路径”。

这个就是反编译的工程,可以复制到桌面。

新版本(AS 4.1以上)

导入smalidea0.6

smalidea的作用:

smalidea-0.05.zip用于androidstudio识别smali代码
下载地址:https://bitbucket.org/JesusFreke/smalidea/downloads/
选择设置,

根据箭头指向选择,

导入刚刚下载的smalidea-0.06

选择OK,

导入反编译包到AS

直接选择Open,

选择上边AK导出的反编译包,之后点击“OK”。

选择“smali”文件夹,给权限。

之后“smali”文件夹会变为绿色,


使用新版本的可以直接跳到“ 配置AS ”处,

老版本

导入smalidea0.05到AS之中

打开下载的AS,

选择从本地导入,选择“smalidea”,

导入AS完整的反编译包

选择导入,

选中,点击OK即可,

记得选择这个“Project”,	//在AS上显示的是文件夹的形象。

选择“smali”,给权限。

给完权限后,这会出现一个“小白点”的文件夹,

配置AS

在打开设置界面,

选择一下,java的环境,不要忘记点击下面的“ OK ”,

选择“run”,

点击“ + ”,选择“Remote”				//(新版本是“ Remote JVM Debug ”)

名字可以随意改,这个端口建议是8700,不要忘记选择工程,最后点击OK,

这是新版本的,

以上就完成了准备工作,开始分析操作,

使用AS分析反编译包

第一种方法:

先打开模拟器,安装并运行“注册机”程序,在打开CMD,输入“adb shell ps”,查看当前设备的进程信息。

找到“注册机”程序,

拿到其“PID”进程号“16703”。			//从左到右的第二列,新开一个CMD窗口,输入“adb forward tcp:8700 jdwp:16703”这个8700就是刚刚AS设置的端口,jdwp是转发端口的意思。

在第二行出现一个8700,说明转发成功,可以调试了,选择刚刚新建的工程,点击“debug”

下边窗口出现 “socket”就说明我们可以去找断点了,新版本为点击这个,

此时,找到之前我们熟悉的“checkSN”,在前面直接打个断点即可。

继续运行程序,点击注册,触发断点。

立马就断了下来,

按键盘快捷键“F8”向下走,已经开始计算MD5了,

开始拼接sb,一般需要拼接32位,但是这么按太烦了,

在147行,在下一个断点,按“F9”直接掉到新下的断点处。这个sb已经拼接完毕了,下边的“i”可以看到是32位。

先看看下边有没有出现“ userSN ”,

没有出现的话,在F8一下,运行到150行,复制出现user SN的值,然后结束调试模式。

直接粘贴复制的值到程序激活码即可成功注册,

第二种方法:

先关闭之前的两个CMD窗口,以调试模式启动程序,CMD命令如下,输入“adb shell am start -D -n com.qianyu.zhuceji/.MainActivity”回车,

这样我们可以直接看到PID的值,不用在ps寻找了,记的点一下上图中红框处,接着进行转发,新开一个CMD窗口,

重新打开AS,下断点,运行“debug”,		接下来的步骤都一致了,完结撒花。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/119343.html

相关文章

  • 无聊 crackme

    摘要:最近超级想打球,然后打了五分钟就把脚踝给扭伤了。原以为月已经够悲伤了,没想到月还倒霉。雪穗,然后有个比我更无聊的人,发了一个网址给我。。。原文地址无聊简介题目其实很简单,通过破解获取一个。是输入的值,是是通过获取的。 最近超级想打球,然后打了五分钟就把脚踝给扭伤了。原以为10月已经够悲伤了,没想到11月还倒霉。还好还有一群小伙伴。在寝室休息了两天,动不了,想起了之前kindle下的好几...

    leon 评论0 收藏0
  • 安卓动态调试七种武器离别钩 – Hooking(下)

    摘要:是否修改成功可以通过查看随后我们需要确定目标函数的地址,这个有两种方法。如果目标程序本身没有被的话,那些都是存在的,因此可以使用和等方法来获取目标函数地址。 0x00 序 随着移动安全越来越火,各种调试工具也都层出不穷,但因为环境和需求的不同,并没有工具是万能的。另外工具是死的,人是活的,如果能搞懂工具的原理再结合上自身的经验,你也可以创造出属于自己的调试武器。因此,笔者将会在这一系列...

    laznrbfe 评论0 收藏0
  • 安卓动态调试七种武器离别钩 – Hooking(下)

    摘要:是否修改成功可以通过查看随后我们需要确定目标函数的地址,这个有两种方法。如果目标程序本身没有被的话,那些都是存在的,因此可以使用和等方法来获取目标函数地址。 0x00 序 随着移动安全越来越火,各种调试工具也都层出不穷,但因为环境和需求的不同,并没有工具是万能的。另外工具是死的,人是活的,如果能搞懂工具的原理再结合上自身的经验,你也可以创造出属于自己的调试武器。因此,笔者将会在这一系列...

    Kerr1Gan 评论0 收藏0
  • 来自高维的对抗 - 逆向TinyTool自制

    摘要:一序无论是逆向分析还是漏洞利用,我所理解的攻防博弈无非是二者在既定的某一阶段,以高维的方式进行对抗,并不断地升级维度。正因如此,成为了畸形文件格式的对抗目标。对于基于的安卓系统而言,进程的运行环境和结构是由内核来提供和维护的。 一、序 无论是逆向分析还是漏洞利用,我所理解的攻防博弈无非是二者在既定的某一阶段,以高维的方式进行对抗,并不断地升级维度。比如,逆向工程人员一般会选择在Root...

    tigerZH 评论0 收藏0
  • 信安 - 收藏集 - 掘金

    摘要:咱妈说别乱点链接之浅谈攻击阅读掘金作者马达编辑迷鹿马达,精通开发开发,擅长接口设计以及平台化建设,独自主导过多个产品。一题目购物应用分环境要求安全学习资料汇总掘金安全学习资料汇总安全学习网站收集 咱妈说别乱点链接之浅谈 CSRF 攻击 - 阅读 - 掘金作者 | 马达编辑 | 迷鹿 马达, 精通PHP开发、Web开发,擅长api接口设计以及平台化建设,独自主导过多个Web产品。目前就职...

    lushan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<