什么都只会一点 发表于 2019-3-15 21:43

安卓逆向分析笔记---005

本帖最后由 什么都只会一点 于 2019-3-20 21:43 编辑

这次貌似是一个简单地用户名密码的登录验证,我上次签名验证是不是搞太复杂了


【所需工具】ApkIDE


【用例下载链接】链接:https://pan.baidu.com/s/1jnbE3KmZ23MM6y_vdUM1Lg 提取码:iltj


【开始操作】
一如既往,将APK拖入ApkIDE,反编译完成后点开AndroidManifest.xml

找到这两个关键点,根据上述路径进入第一启动类查看,打开Java源码查看

我们找到onCreate方法(大部分Activity方法接口函数)

上面是获取到两个输入框和一个按钮的对象,findViewById方法,根据视图的ID获取对象(以后会用到,先简单解释注意一下),可以看到后面的onClick方法里面两个Toast方法(显示弹窗的方法)里面的一串数字,根据我的安卓开发经验,打开后面R$string.class里面应该可以找到这数字的实际意义,说干就干

可以看到,一个成功,一个失败,然后看上一张图的下面,for循环前面直接return,所以说压根就不会成功。这么一看就有思路了,打开smali文件的相同的位置
找了半天,在MainActivity.smali并没有看到onClick方法,打开MainActivity$1.smali文件看看

找到了,看前面Java源码里面的if判断,有一个checkSN的方法,MainActivity$1.smali里面没有,但是在MainActivity.smali里面我却看到了

红框框标记的地方表示可以改的地方,这也太真实了叭!我随便改一下,保证返回成功就行了,具体就不详细描述了(详细描述要累死我),直接暴力改法,如下图

我们看前面Java源码还有个地方要改,为了方便,我将上面的源码图片复制下来,如下图

上面的if判断已经跳过了,因为for循环是死循环,里面有return可以无视for,思路很明确,执行登录成功弹窗并且执行登录弹窗下一行代码,就算是正式登录进去了,找到smali文件的对应位置(后面讲解将不分MainActivity$1.smali与MainActivity.smali之类的,均看成一个smali文件)

经过如图分析,可以确定这里就是登录成功所执行的内容,我们只需要修改保证跳转到这里就可以修改成功了(前面的笔记里面的改法已经叙述的很详细,后面的这种简单地将会一笔带过,遇到特殊的会详细解释)




改完测试,修改成功!(果然,上一次笔记跨度太大了!)


-------------------------------------------------------------------------------------------------------



安卓逆向分析笔记---006:https://www.52pojie.cn/thread-905787-1-1.html

xx_xx 发表于 2019-3-15 22:10

学习了谢谢

f2387 发表于 2019-3-15 22:26

谢谢分享    感谢

a48602 发表于 2019-3-15 23:17

又上了一課,小白一時間消化不了,此貼先收藏下來慢慢再吸收。謝謝樓主的分享。

sureselsun 发表于 2019-3-15 23:17

今天学习到这里,先来打个卡先

unravelll 发表于 2019-3-16 00:39

很有用谢谢

凌晨两点半 发表于 2019-3-16 01:31

带带我啊大神

yhl000905 发表于 2019-3-16 07:37

很有用,感谢分享

hxijin 发表于 2019-3-16 10:06

非常详细,受教了。谢谢分享

qwt99987 发表于 2019-3-16 10:29

收藏了,学习
页: [1] 2 3
查看完整版本: 安卓逆向分析笔记---005