前段时间有个朋友联系到我 说有家安全公司招聘(哪家公司我就不说了) 但是面试题目第一题就难着了 这我哪儿能忍 直接干!

拿到app的时候我心凉了一下 这他妈银行我搞个锤子 但是逆向工程师绝不认输! 不多逼逼

直接重新签名安装 果然不出意外崩溃

现在勒让我们捋捋思路 在程序一启动就崩溃 说明校验是存放在入口点或者入口页面的初始化函数里面 先掏出我们的逆向工具 jadx反编译一波 找到AndroidManifest.xml文件里面 我们知道入口点比入口页面执行的时机要早 直接先从入口点的onCreate()函数入手



直接往下跟捋捋逻辑

Java层其实没啥东西 只要你思路清晰一眼就能看出来 这个onCreate()函数首先调用了一些super 然后注册了一些事件 下面我们看到了一句代码

Init这又在初始化什么??? 过去看看
System.loadLibrary加载了这个so库 上面还有个native关键词修饰的getSignatures();函数

这就有点敏感了 心里已经10有8 9确定了签名校验在so层 然后这个init又调用了一个native_init函数 传入了一个context 既然如此就去so看看
So文件还是挺多的 直接拖出来 放进ida反编译一波

找到节区分析 逆向分析思路一定得要清晰 先不慌搜索注册得函数 先看一波init跟init_array 不清楚这部操作的小贴友们不要慌 推荐学习一下so文件的加载流程以及ELF文件结构 (可能下篇文章会详细讲到 不过市面上也有很多百度一波就行 看不懂就留言

我抽空自己写一下以我理解的流程 嚼碎了给你)

言归正转 接着来
没有东西 可以松口气咯 要是再有东西就又多了几步了

接着找到导出函数窗口搜索一波
采用了静态注册问题不大 来到这个函数
没啥操作直接调用了_Z8init_libP7_JNIEnvP8_jobject 这个函数初始化 跟进
又调用了_Z9check_appP7_JNIEnvP8_jobject函数 跟进
来到这个check_app函数里面
发现这里调用了这个get_sign这个函数 我们往上看他传入了那些参数 R0寄存器是R4传入的env R1寄存器就是R5传入的jobject R2寄存器就是调用上面的函数的返回值

这里先不看 现在分析到这里我们可以通过他的函数名称确定在这里get获取这个sign签名
紧接着进行md5 sha系列的签名运算
我们也可以看一下他的运行流程
没有混淆就是为所欲为

找到了这个get_sign获取当前签名了就好办了 直接改这个调用就行 要是要改的干净一点可以从下面的判断入手 直接改nop指令你就得注意下面的寄存器相关的使用了 稍不注意就gg

改好以后直接运行 完美!

好了这个就讲到这里了 听说月薪小20k 流下了我月薪1800的泪水

总结一下:现在安卓逆向的门槛还是挺低的 你们自己悟 这个银行如果加壳(当然了银行基本不会加壳) 就费时间了 还有就是对so文件的保护不够好 关键点很好定位 基本不用动态就能分析出来 混淆也没有 不过混淆也没啥卵用 安全这块无非就是增加逆向分析的时间
最后再跟大家分享破解VIP功能的视频,谢谢大家的支持
链接:https://pan.baidu.com/s/1b7UiTEYaM9_iga-QIVyorQ
提取码:yyiu

【安卓逆向】 浦X银行签名校验,逆向工程师绝不认输相关推荐

  1. 安卓逆向_19( 二 ) --- APK保护策略【重新签名后安装打开失败 --- 书旗小说.apk、浦发银行.apk的过签名校验【so 文件修改保存】】

    From( 书旗小说过签名校验 [ 使用 DDMS 分析方法调用流程 ] ):https://www.cnblogs.com/LuLuLuHao/p/12874468.html 签名校验一般步骤: 1 ...

  2. 安卓逆向_19( 一 ) --- APK保护策略【APP打开就崩溃 之 霸哥apk过签名校验】

    From:霸哥磁力搜索apk 过签名校验:https://www.cnblogs.com/LuLuLuHao/p/12863978.html 霸哥磁力搜索app回编签名:https://www.ssf ...

  3. 安卓逆向_18 --- APK保护策略【Java代码混淆、资源混淆、签名校验】

    Java 代码混淆介绍:https://www.bilibili.com/video/BV1UE411A7rW?p=60 Android 反编译利器 jadx:GitHub上直接下载:https:// ...

  4. 安卓逆向—霸哥磁力搜索apk过签名校验

    一.什么是签名校验 签名验证,就是在APP中写入自己私钥的hash值,和一个获取当前签名中的私钥hash值的函数两个值相一致,那么就说明APP没有被改动允许APP运行. 如果两值不一致那么说明APP是 ...

  5. 安卓逆向_19( 二 ) --- APK保护策略【重新签名后安装打开失败 --- 书旗小说.apk、浦发银行.apk的过签名校验【so 文件修改保存】】...

    From( 书旗小说过签名校验 [ 使用 DDMS 分析方法调用流程 ] ):https://www.cnblogs.com/LuLuLuHao/p/12874468.html 签名校验一般步骤: 1 ...

  6. Android逆向【4】:暴力破解APK签名校验,愉快的重新打包微信支付宝APK

    回顾 <Android逆向小技巧③:批量注入日志,打印目标程序执行流程> 在上一篇2019年的文章中,我们使用python写了一个简单的文本处理工具: https://github.com ...

  7. 海马苹果助手ipad版_iOS逆向-ipa包重签名及非越狱手机安装多个微信!

    前一段时间学了点儿逆向相关的一些东西,但是都是基于越狱手机上的操作,给视频类应用去广告之类的.随着苹果生态圈的逐渐完善.及苹果对自身系统的保护越来越严格,导致现在的iPhone手机并不像以前那样存在大 ...

  8. android逆向快手,[原创] 快手签名-Android安全-看雪论坛-安全社区|安全招聘|bbs.pediy.com...

    整理了下,发现还有个和达达类似套路的,一起看看吧. 抓包 发送短信验证码POST /rest/n/user/requestMobileCode?app=0&lon=146.3516&d ...

  9. iOS逆向-ipa包重签名及非越狱手机安装多个微信

    前一段时间学了点儿逆向相关的一些东西,但是都是基于越狱手机上的操作,给视频类应用去广告之类的.随着苹果生态圈的逐渐完善.及苹果对自身系统的保护越来越严格,导致现在的iPhone手机并不像以前那样存在大 ...

最新文章

  1. 创建带有关联的 XML 架构的 XML 文件 从 XML 文件创建 XML 架构
  2. 电脑一开机出rebootand_电脑一开机就有软件弹窗广告弹出怎么办?两种方法来解决...
  3. 自然语言处理期末复习(6)话题模型
  4. [initandlisten] connection refused because too many open connections: 819 of 819
  5. hdu 5248(二分+贪心)
  6. poj - 2356 Find a multiple
  7. c语言从集合中随机选取一个值,从集合中挑选一个随机元素
  8. 化工原理知识点总结复习重点
  9. TiFlash:并非另一个 T + 1 列存数据库
  10. java将a对象转换为b对象_Java 对象的深复制五种方式
  11. html hint标签,htmlhint
  12. 提升自己逼格的编程之美之代码规范
  13. python编写hadoop代码
  14. 可以免费下载任何文档(网页转换助手)
  15. 百分浏览器cent browser 和他的扩展程序朋友们
  16. 《幸福的勇气》笔记四——自立就是摆脱“自我”
  17. oracle 11203 ora32701,love wife love life —Roger的Oracle/MySQL数据恢复博客
  18. android自定义涂鸦,Android Studio:小Demo-“涂鸦”
  19. Android butterknife黄油刀使用大全
  20. 用python 打开一个excel文件

热门文章

  1. Typescript 史上最强学习入门文章 ( 2w 字)
  2. 刘强东和他的四个梦想
  3. c语言expand函数,练习 3-3 编写函数expand(s1, s2) (C语言 + 详细注释)
  4. matlab画折现_matlab画折线
  5. 论文写作——韬ASMI29 algorithm部分语句修改
  6. 基于51单片机万年历可调电子时钟闹钟温度(实物图+源码+仿真+原理图+论文)
  7. .NET CORE 下收发邮件之 MAILKIT
  8. php 计算一年中周数,php 计算出一年中每周的周一日期
  9. 菜鸟程序员自我修养心得
  10. Codeforces987 E. Petr and Permutations(思维+逆序对)