• 杂谈:其实原理并没有很难,本质就是hook Android的框架层中的api将我们想要的key和iv(也可以没有,就打个比方),但是目前的话,很多厂家已经不在直接调用java层的这些加密算法的api了,

    很多都是使用自己实现的加密算法,要么就是放在so里面,要么就是java层自己实现一个差不多算法的,这个我主要还是锻炼xposed的使用度,目前感觉挺好上手,甚至对我更友好,毕竟

    java老粉丝了,但是也有缺点,就是每次编译完,就需要重启,这点真没frida方便,同时写这个项目,也让我更多去看安卓的源码以及xposed的源码,感觉也挺有意思的,所以代码本身不需要

    去记忆的,掌握方法论都是可以写出来的。
  • 例子及hook思路
  1. 分析一个aes的加密,下文是我写的一个小demo中复制出来的
  public static String aesEncrypt(String content,String k,String iv)
{
try{
Throwable ex=new Throwable();
StackTraceElement[] stackTraceElements=ex.getStackTrace();
IvParameterSpec zeroIv=new IvParameterSpec(iv.getBytes());
SecretKeySpec key=new SecretKeySpec(k.getBytes(),"AES");
Cipher cipher=Cipher.getInstance("AES/CBC/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE,key,zeroIv);
byte[] encryptedData=cipher.doFinal(content.getBytes(bm));
return Base64.encodeToString(encryptedData,Base64.DEFAULT);
}catch (Exception e)
{
e.printStackTrace();
}
return null;
}

2.思路分析:

我们的目的还是为了得到key和iv,以及明文和密文,仔细观察有哪些地方是涉及到了,发现是IvParameterSpec和SecretKeySpec这个构造方法中

的参数就是我们的key和iv,那么思路不就直接hook他们的构造函数了吗,将参数打印出来不就完事,注意点在于将所有的构造函数都给hook上,

避免漏了,毕竟从安卓源码中跟进去,发现他们的构造方法都是有重载的,所以为了不漏掉,所以全部hook就好了,xposed同样提供了api,

最新文章

  1. [读码][js,css3]能感知鼠标方向的图片遮罩效果
  2. 关于Java导出100万行数据到Excel的优化方案
  3. Download Oracle Forms 6i
  4. regexxx
  5. WinForm中WebBrowser的使用
  6. javaweb项目打包成war包
  7. jQuery选择器的优化选择
  8. Android studio环境搭建
  9. Android-BaseLine基础性开发框架
  10. JS实现颜色值的转换
  11. ibatis插入数据返回ID的方法
  12. JSP SQL注入
  13. solr的collection,shard,replica,core概念
  14. java集合--java.util.ConcurrentModificationException异常
  15. 使用百度zrender, demo抛砖引玉.
  16. linux系统 web在线日志分析
  17. Delphi 写日志的类
  18. out返回值的用法与用途
  19. HTML 语义化
  20. Ubuntu安装JDK(tar.gz)

热门文章

  1. nignx反向代理web服务器的配置与使用
  2. 灵动微电子ARM Cortex M0 MM32F0010 Timer定时器中断定时功能的配置
  3. wxPython使用指导
  4. vue 安装sass5.0版本遇到的问题
  5. GO学习-(7) Go语言基础之流程控制
  6. SLAM的通用框架:GSLAM
  7. Python神经网络集成技术Guide指南
  8. KITTI数据集上MaskRCNN检测效果示例
  9. thymeleaf——th:each、th:if的使用
  10. 1、java语言概述