最近在跟着网上的教程学习android逆向,就用教程里的demo,跟着教程研究一下demo中的签名验证,操练起来~。

反编译之,可以看出签名验证check函数写在libJniTest.so中:

IDA打开libJniTest.so,找到check函数,双击查看check方法:

看到中文乱码。通过alt+a设置编码

获取签名后判断,不正确则执行loc_F62,程序退出:

转换为图形视图,会更直观:

判断签名,签名正确通过BNE跳转到左侧视图 ,em...有必要查一波BNE跳转指令:

所以要想让程序在签名错误的情况下执行,就需要让R0=0的情况下跳转,所以可以使用BEQ指令:

可以查看到BEQ的十六进制为D0,所以我们十六进制编辑BNE的D1,改为D0:

可以看到指令已经被修改为BEQ:

保存修改,重新编译apk文件即可。

PS:1,F5无法查看源代码除了程序有静态分析保护外,建议使用32位IDA,64位无法使用F5;2,重新编译报错可能是apktool的问题。

over~

转载于:https://www.cnblogs.com/Rakjong/p/10710119.html

安卓逆向从入门到嗝屁之突破签名验证相关推荐

  1. 安卓逆向从入门到嗝屁之另一道CTF题目

    小伙伴发了一道安卓的CTF题目,有空就看了下: 首先,这次就先不装了,开个模拟器卡的一P,androidkiller.gda等无法打开,jeb正常打开(当然dex2jar打开dex文件,再用jd-gu ...

  2. 安卓逆向从入门到嗝屁之一道入门级的CTF题目

    首先当然是安装上,界面如下: gda打开,定位到关键位置MainActivity下的checkPassword,如下: java代码还是比较清晰的,但是本着学习smail的原则我们还是来看smail代 ...

  3. native层 安卓_安卓逆向学习入门之过反调试(一)

    前面有篇文章讲了 smail代码的简单修改,其实它有3个apk可以用来练手,今天来讲第二个apk,也是比较简单,大佬请飘过. 样本地址: https://github.com/wyhuan/owasp ...

  4. 什么是Android逆向?如何学习安卓逆向?Android逆向自学笔记入门到实战

    简单地来说,安卓逆向是对已经打包好的APP进行反编译.源码分析了解APP实现逻辑的一门技术.我们可以把安卓安装时用到的APK文件看作一个加密后的压缩包,逆向就是要最大程序地还原出APK打包之前的源码. ...

  5. 切水果安卓APP逆向过程报告----安卓逆向入门

    一.准备工作 下载切水果大战原版.apk. 链接:https://pan.baidu.com/s/18N_Lg8C4O5D1J7cbt99W6Q?pwd=p625 提取码:p625 开始游戏 找找有什 ...

  6. 安卓逆向-入门笔记、相关知识点总结及思路

    文章目录 安卓逆向思路: 1.查壳 2.未加固 2.1 工具 2.2方法 3 .第一代加固 3.1 工具 3.2 方法 3.3 材料准备 3.4 实例 补充知识: 一.Android 1.加密原则: ...

  7. 安卓逆向_24( 一 ) --- Hook 框架 frida( Hook Java层 和 so层) )

    From:Hook 神器家族的 Frida 工具使用详解:https://blog.csdn.net/FlyPigYe/article/details/90258758 详解 Hook 框架 frid ...

  8. 安卓逆向_1 --- 逆向环境配置、APK 文件结构、APK 打包流程

    哔哩哔哩:https://www.bilibili.com/video/BV1UE411A7rW?p=1 Android 逆向工程师系统培训‹第九期›( 课程目录 ):https://ke.yijin ...

  9. 跟我一起从零学习安卓逆向分析

    随着国家对信息安全的重视,兴起了各大CTF的赛事,其中逆向板块的安卓平台题目不断涌现.在这个互联网+的时代,移动互联网的APP犹如滚雪球一般的增长,随之而来的则是移动业务安全如风险控制.反外挂.安全合 ...

最新文章

  1. 正则数字和小数点_Python中的正则表达式【不断补充~】
  2. 那一顿,我撸串撸懂了云计算!
  3. 关于 IPv6 大规模部署,给我们带来了什么~
  4. Linux Crontab 安装使用详细说明
  5. Vue系列vue-router的配置使用(一)
  6. Redis的发布订阅与主从配置
  7. SSIS:错误信息总结
  8. 屏幕缩放和Origin缩放不一致如何解决?
  9. 简单实现Rectrofit+RXJAVA+Fresco
  10. C# NPOI导出Excel表格 公式不计算
  11. php 有下划线的方法,编码风格 - PHP类方法中领先的下划线有什么用?
  12. MATLAB柱状图去掉黑色边框
  13. 云ERP来的正是时候!
  14. 华硕笔记本电脑计算机专业,超详细华硕笔记本电脑重装系统图文教程
  15. 走航式海洋多参数剖面测量系统(MVP)验收记录
  16. 《10人以下小团队管理手册》读书摘记
  17. 图灵社区 : 阅读 : [讨论] Java语言被很多人抱怨语法繁琐、开发效率低、体系繁杂而笨重,为什么还有这么强的生命力,尤其是在企业软件领域?...
  18. 淘宝天猫如何导入数据包批量上传宝贝的方法
  19. 手把手教你怎么搭建自己的AI数字人直播间?帮你24小时不间断直播卖货
  20. 计算机网络协议哪些要素组成,网络协议的组成要素是什么

热门文章

  1. abb机器人负载配置设定_ABB机器人配置Profinet网络配置流程.pdf
  2. 5套独立的app手机端模板界面代码
  3. 练习编程的过程中,运行时出现黑框一闪而过的解决方法
  4. SpringCloud-Alibaba全家桶
  5. android开发怎么兼容不同的sdk,android – 如何在使用特定版本的功能时使我的项目与不同的sdk版本兼容...
  6. 自学编程到底需要多长时间?
  7. 电气工程和计算机软件哪个更好,前景最好的十大专业电气
  8. RFSoC全面解析(八)—— ZCU111 RFSoC评估工具的上位机界面
  9. 【墨者学院】SQL手动注入 靶场初体验
  10. 51单片机(二).STC89C52单片机的引脚功能