原本是不想写的,因为这个APP的这个版本其实很简单,后来想了下觉得还行记录一下吧。主要是记录每一次逆向能加深其中学到的知识点内容。也算是给自己一个交代,无论以后还是菜鸡也好还是成了大牛也罢,至少这一刻我没有虚度。

APP:易班

版本:5.0.5

使用到的工具:Frida、adb、jadx-GUI、Fiddler、MDEX、Xposed、MT管理器、逍遥模拟器

安卓版本:7.1.2

目标:实现账号密码登录

一、先抓包分析API接口

可以看出来是个post请求,加密的请求分析下来发现都在data里面。

其实加密的就两个地方,一个是password,一个是sig。

下一步就是放到jadx中,但是因为这个APP加壳了,所以应该是先脱壳

二、脱壳

我是用工具MDEX脱壳的,需要安装Xposed。

具体怎么说呢……非要写笔记还真不好描述,就是把APP和MDEX下载好,然后脱壳,再到指定路径把文件拷贝出来,然后再把脱壳后的dex文件从手机拷贝出来弄到电脑本地,再拖到jadx中就OK了。

三、Java层分析加密

这里接下来的查找逻辑其实和JavaScript逆向的逻辑就比较类似了,先Ctrl+F找一下子。

这里不限于password、什么login这些都可以,这个我就不细说了,因为这个问题细说就很无聊了。总之接下来我找到了这里

怎么说,还能怎么说……

String encryptPassword = EncryptionHelper.encryptPassword(str2);

双击encryptPassword进入

就到了这里。

private static final String TAG = "EncryptionHelper";
private static final String key = "yibanEncryPlugin";
private static final String transformation = "RSA/None/PKCS1Padding";

public static String encryptPassword(String str) {
        return new String(EncryptUtils.encryptRSA2Base64(str.getBytes(), base64Decode(JNIHelper.getEncodePwdPublicKey().getBytes()), 1024, transformation));
    }

RSA的加密赫然在眼前,还能说什么,找JNIHelper.getEncodePwdPublicKey().getBytes()是什么,也就是找加密的私钥是什么东西。这里至少需要知道RSA加密的基本逻辑和原来。

这里的找不是真的让你肉眼去找,而是frida hook。

如果直接hook ,hook出来的是一串数字,纯一串int类型的数字,这个不能直接用,具体怎么转换完了再写博客详说。

我从网上找了个直接hook RSA原生的语句,运行之后就直接hook住了他的str类型的秘钥。

至于sig这个参数,我发现这个版本其实不用也OK,这让我惊喜又意外的。

所以现在就可以直接把密码加密发送请求试试了。

然后这样就成功了。

另外,我这边版本好像现在登录不了了,不知道为什么,我已经学到了我想学的东西,至于其中的原来嘛,或许换个高版本的就可以了。

APP逆向之易班(第一篇)相关推荐

  1. 逆战班第一篇:CSS动画

    目录: 一.简单介绍 二.CSS3@keyframes规则 三.浏览器支持 四.CSS动画 五.什么是CSS动画 六.CSS动画属性 一.简单介绍 通过CSS3动画,我们能够创建动画,这可以在许多网页 ...

  2. vue+uni-app商城实战 | 第一篇:从0到1快捷开发一个商城微信小程序,无缝接入OAuth2实现一键授权登录

    一. 前言 本篇通过实战来讲述如何使用uni-app快速进行商城微信小程序的开发以及小程序如何接入后台Spring Cloud微服务. 有来商城 youlai-mall 项目是一套全栈商城系统,技术栈 ...

  3. 易班APP登录密码加密、sig逆向分析

    1.最近闲来无事,听说有一个易班app登录好练手,就去试了一下看看. 先抓个包看看 然后使用了腾讯的壳,脱一下,我这边用的是BlackDex64. 脱完壳之后导出来直接导出来拖到jadx,就是现在这个 ...

  4. APP逆向分析之钉钉抢红包插件的实现-iOS篇

    花费了很多天的原创文章,转载请注明出处https://yohunl.com/ding-ding-qiang-hong-bao-cha-jian-iospian/ ,谢谢! 网络上关于微信红包的分析文章 ...

  5. GJM:移动App入侵与逆向破解技术-iOS篇 【转载】

    GJM:移动App入侵与逆向破解技术-iOS篇 [转载] 转载: URL http://dev.qq.com/topic/577e0acc896e9ebb6865f321 如果您有耐心看完这篇文章,您 ...

  6. app逆向篇之实战案例-某音乐app

    提示!本文章仅供学习交流,严禁用于任何商业和非法用途,如有侵权,可联系本文作者删除! 前言 最近初学app逆向,该文章仅用来记录学习分析的过程,如有不对的地方,希望各位大佬能不吝指点 下载地址:apk ...

  7. 如何使用HTML+CSS+JavaScript+wamp sever自主搭建一个易班轻应用

    如何使用HTML+CSS+JavaScript+wamp sever自主搭建一个易班轻应用 目录: 文章目录 如何使用HTML+CSS+JavaScript+wamp sever自主搭建一个易班轻应用 ...

  8. iOS APP 逆向安全杂谈之二

    一些公用类: @interface ClassCustomClass :NSObject{ NSString *varTest1; NSString *varTest2; NSString *varT ...

  9. 如何使用java调用易班登录API获取个人账号信息(一)

    关于这篇文章: 笔者近期和小伙伴接了校方的一个小小小项目,要求使用易班APP的账号,这意味着需要调用易班官方的登录API.下面介绍使用java语言作为后端,在自己的网站如何接入易班的登录API(轻应用 ...

最新文章

  1. 奢侈品级别的广告位,到底要不要继续砸钱?
  2. SubscriptionState分析
  3. 每日算法系列【LeetCode 719】找出第 k 小的距离对
  4. Java输出菱形图案
  5. Tableau画图初学者~新手教程~常见类型图
  6. 计算机是好是坏英语作文,电脑游戏是好还是坏英语作文
  7. var,let,cont声明变量的区别
  8. MTK优美代码赏析2:MenuItemMask_flag
  9. cad角度命令怎么输入_怎么对角度进行尺寸标识 CAD钝角标注技巧
  10. 设计模式--04模板方法模式
  11. Duilib学习-窗口句柄获取
  12. 收音机c语言程序,基于单机收音机的C语言程序.doc
  13. .NET破解之PDF编辑器
  14. 加--with-x编译vim时报错 configure: error: could not configure X
  15. HTML经典布局之圣杯布局详解
  16. 2020十一届蓝桥杯国赛二等奖Java B组
  17. 多重检验中的FDR错误控制方法与p-value的校正及Bonferroni
  18. Vue中使用高德地图(vue-amap)的采坑记录小白入门
  19. 医学建模和有限元分析
  20. emoji android ios9,苹果iOS设备用上最新的Unicode 9.0 emoji教程

热门文章

  1. SQL Server建库建表命令
  2. lepus安装部署详解
  3. pug在vue中的序列写法
  4. python练习:简单火柴人游戏
  5. python lambda菜鸟_Python lambda介绍
  6. 云时代的阡陌纵横”的数据网络?
  7. 聚合供应链,一键导入百万商品
  8. android闪屏问题
  9. MATLAB中readtimetable函数用法
  10. 国内虚拟主机与香港云主机的优劣势