安卓逆向分析笔记---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 学习了谢谢 谢谢分享 感谢 又上了一課,小白一時間消化不了,此貼先收藏下來慢慢再吸收。謝謝樓主的分享。 今天学习到这里,先来打个卡先 很有用谢谢 带带我啊大神 很有用,感谢分享 非常详细,受教了。谢谢分享 收藏了,学习