吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7685|回复: 25
收起左侧

[Android 原创] Android逆向重置版(1)——关键的第一步

[复制链接]
BubblePig 发表于 2019-9-2 18:25
本帖最后由 BubblePig 于 2019-9-2 18:52 编辑

0x00 前言

首先感谢老婆王嘟嘟的鼓励,其次感谢52平台的支持。以下是正文
导航篇地址:https://www.52pojie.cn/thread-1016567-1-1.html
之后所有的文章链接会放在导航篇中。
这次不准备一遍文章里包含很多东西了,就一篇文章一个点,慢慢学,慢慢走,目的也明确起来,这样可能更利于学习。
想法是,先弄一个简单的demo来增加学习兴趣,然后围绕一个demo来讲解相关的知识点。并且将文章进行分割,在不同阶段推荐查看不同内容。
有什么需要改进的地方,请一定要提出来,因为是个人想法,没有得到印证,有的时候回走的很偏。

啰嗦部分

看到我的这篇文章大概其实可以分为以下这样几类人

1.初学者

必学部分

  • 0x0.1
  • 0x1.1

推荐部分(看看,或者实践都可以)

  • 0x02

不推荐部分
这部分。。。先不看,后面都会涉及到,不急。

  • 0x1.2
  • 0x1.3
  • 0x1.2

2.有一些基础但是相关知识不完善,查漏补缺

  • 0x1.2
  • 0x1.3
  • 0x1.2

3.大佬 or 准大佬

看看戏就好,笑一笑,或者吐吐槽

0x0.1.你的主要目标:

  • 逆向你的第一个Android App。这里我们以成功的看到代码里的flag为完成目标。flag格式为:flag{xxx}。
    完成目标将会收获:
  • 成功的逆向了一个App,你也是逆向过App的人了。
  • 至少比之前的你是进步了的,并且是有方向的进步了。
  • 学会了Androidkiller工具的使用。
  • Android逆向技能值+1。

0x0.2.额外任务(不影响主线学习):

  • 完成App demo的编写

0x0.3.App demo下载地址

可能对于大部分人来说,这个过于简单,所以先提供下载地址,不用接着往下看,可能有一小部分人需要往下看。
链接:https://pan.baidu.com/s/1KrVzY0xiFGDr_cY46sq57Q
提取码:a7pv
复制这段内容后打开百度网盘手机App,操作更方便哦

本篇内容总结

主要是后面怕自己忘记了,可以没必要看懂

  • Androidkiller的简单使用
  • jadx
  • jeb
  • apktool
  • app demo编写

0x01 逆向你的第一个Android App

0x1.1.方法一

这个思路适合没有逆向过任何东西,甚至java都不需要懂的都可以顺利进行。

1.1 首先,拿到App的第一步,先进行安装查看(知道是病毒就别安装了哈)。

1.2 安装了之后发现并没有flag字样。所以我们需要对App进行逆向分析。

对于初学来说,可能都是接触Android killer,我们就用Android killer进行逆向。
Android killer使用极其方便,把Apk拖进去就可以了。
如果出现了是否进行分析,点击否

1.3 找到关键点

在Android killer中提供了全局搜索的功能。如下图所示:

需要注意的是:这里设置为当前整个项目

搜索关键字:flag{,如下图所示,成功拿到flag。

1.4 总结

  • 安装查看apk
  • 拖到Androidkiller中
  • 搜索关键字
  • 成功

1.5思考部分

思考的部分会在之后的文章里进行解答以及分析。

  • 为什么flag会出现在MainActivity.smali中。
  • MainActivity.smali是什么。

0x1.2 方法二

由于这里并没有推荐初学时学习,所以过程会比较简单,仅仅当做复习过程,之后如果有必要的话,会推荐初学者回头重新复习的,所以这部分没必要看懂,或者可以直接不看。

1.使用jadx直接打开

找到主MainActivity,相当于程序开始的地方(注意这里是相当,实际上严格的说它并不是)。

这里涉及到如何找MainActivity。

  • 最简单的方法就是,直接看。。。一般命名是MainActivity的就是主Activity。

其他的方法。。等之后再说。

0x1.3 方法三

1.使用jeb直接打开

将apk拖进去

然后选中MainActivity,用快捷键Q进行java转换

并没有什么难度。

0x01.4 方法四

1.解压apk

2.反编译dex文件

简单的说下,这里的dex实际上就是代码集合的地方,也是反编译的重点,这里使用的工具是apktool。
然后将反编译好的文件夹直接拖入Sublime or 其他,你们随意。

可以看到有这些文件夹以及一些.smali文件。
smali文件就是class文件的汇编,实际上是一种伪汇编,是运行在java虚拟机上的代码。
同理找到MainActivity,可得flag。

0x02 编写一个App demo

编写App demo,首先要具备一个Android studio,这个安装就行,搜索一下教程会有很多。

1.New -New Project

创建一个New Project

2.命名

3.选择默认next

4.选择Empty Activity,然后next

5.选择finish

6.进去之后选定MainActivity

7. 然后输入以下代码

System.out.print("flag{GoodLook_bywangdudu}");

这里就是输出一串字符串。

8.Build APK

这里直接Build APK即可。

9.成品

以上,谢谢大家,要是有空的话,有免费热心值来一下鸭


1567141617(1).jpg

first.zip

1.03 MB, 下载次数: 21, 下载积分: 吾爱币 -1 CB

防止网盘过期

免费评分

参与人数 18吾爱币 +19 热心值 +18 收起 理由
小小哥哥 + 1 + 1 谢谢@Thanks!
独影霞踪kl + 1 + 1 楼主接下来还有吗
ydh10120208 + 1 + 1 谢谢@Thanks!
534590526 + 1 + 1 用心讨论,共获提升!
冷孤幽 + 1 + 1 用心讨论,共获提升!
asq56747277 + 1 + 1 谢谢@Thanks!
CalvinMcCain + 1 + 1 用心讨论,共获提升!
名字以后会后悔 + 1 + 1 谢谢@Thanks!
miaoshifeng + 1 + 1 我很赞同!
sunnylds7 + 1 + 1 热心回复!
老Nian + 1 + 1 大犇啊,收藏一个先,谢谢您的分享。
qaz003 + 1 + 1 期待, 这个系列追定了...
笙若 + 1 + 1 谢谢@Thanks!
67052785 + 2 + 1 谢谢@Thanks!
943289922 + 1 + 1 谢谢@Thanks!
rjszz + 1 + 1 我很赞同!
lzq1803326 + 1 + 1 谢谢@Thanks!
fei8255 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

7lsu 发表于 2019-9-28 16:53
Sergio666 发表于 2019-9-7 00:02
我之前有幸转存了18篇您的文章,图片都是本地存储,虽然还是喜欢看新教程,但是有些图片需要复用的话,我倒是可 ...

能分享下转存的文章吗
 楼主| BubblePig 发表于 2019-9-2 18:40
额微粒波地 发表于 2019-9-2 18:34
防止网盘过期,但是更占吾爱的服务器空间你以为我会告诉你是币的事吗?

我可以默认你这个回复是偷偷赚了一个币吗
额微粒波地 发表于 2019-9-2 18:34
防止网盘过期,但是更占吾爱的服务器空间你以为我会告诉你是币的事吗?
xiaomingxx 发表于 2019-9-2 18:44
先马。。。
letdown_nn 发表于 2019-9-2 18:50
边学习,边CB
夜步城 发表于 2019-9-2 19:16
支持楼主的教程
zxc-pride 发表于 2019-9-2 19:23
鉴定完毕,第一步肯定为了赚币来的
rjszz 发表于 2019-9-2 19:32
楼主能教教怎么回编译和签名嘛?我一直都没成功过
kisszju 发表于 2019-9-2 20:09
边学习,边CB
67052785 发表于 2019-9-2 20:10
学习了 期待大佬更新  flag是什么意思?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 20:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表