返回顶部
首页 > 资讯 > 精选 >android如何实现加密参数定位
  • 927
分享到

android如何实现加密参数定位

2023-06-14 10:06:36 927人浏览 独家记忆
摘要

这篇文章给大家分享的是有关Android如何实现加密参数定位的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在逆向一个Android程序时,如果只是盲目的分析需要阅读N多代码才能找到程序的关键点或Hook点,本文将

这篇文章给大家分享的是有关Android如何实现加密参数定位的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

在逆向一个Android程序时,如果只是盲目的分析需要阅读N多代码才能找到程序的关键点或Hook点,本文将分享一下如何快速的找到APP程序的加密参数位置,其实不论是找关键位置、找hook点,找加密参数、代码逻辑追踪,都是类似的处理方法。

巧用搜索-静态分析

一般静态分析找加密参数的流程都是先查壳(脱壳)、反编译、查找程序的入口方法、分析程序的执行流程。
假设已经使用Android killer反编译了未加壳的app,直接使用工程搜索检索需要查找的参数名,根据AK的反馈信息进行对比,找到其对应的参数位置。也可以根据应用执行流程逐行向下分析代码,比较累。

objection定位

objection是基于Frida的动态分析工具包,可以免root动态调式apk,同时支持iOS和Android。安装方法可以到GitHub查看。github:https://github.com/sensepost/objection
在通过搜索之后如果有几个不确定的位置,则正好可以使用Objection,Objection就是专业的定位小能手,从定位流程上来说也只有三步。

注入目标进程

objection -g com.xxx.xxx explore

跟踪类

android hooking watch class 'com.xxx.xxx.lx.apiSign'

查看入参和返回值

android hooking watch class_method 'com.xxx.xxx.lx.ApiSign.a' --dump-args --dump-return

然后通过参数和返回值与请求接口中的协议进行对比就可以却确定究竟是在哪一个位置了。

frida-hook

frida、xposed这类hook工具也是动态分析的一种。假设某App的接口有 signature 签名,并且该参数值看上去非常像是Base64,并且长度为定长且少于20位。这个时候如果通过工具全局搜索没有找到,则可以通过frida凭感觉Hook下App中所有操作Base64的位置。
Frida代码如下:

var Base64Class = Java.use("android.util.Base64");Base64Class.encodeToString.overload("[B", "int").implementation = function(a,b){ var resault = this.encodeToString(a,b); console.log(">>> Base64 " + resault); if(resault.length <= 20){  var stackAdd = threadinstance.currentThread().getStackTrace();  console.log("resault stackAdd is:" + Where(stack)); } return rc;}

通过这种方式大概率能打印出签名计算的位置,这也属于巧计的一种,大家一定不要忘记这种定位方式。

log注入

代码注入也属于动态分析,流程是先修改apk的smali代码,既是在某关键函数前加入 android/util/Log 输出,配合LoGCat 查看程序执行时的log数据。

关于android/util/Log的 Log extends Object 一共有5个方法:Log.v() Log.d() Log.i() Log.w() and Log.e()

一般使用Log.v() 日志输出函数就可以了,不做案例了,详细内容会往书中写。

动态调试

其实定位的方法只有两种静态分析和动态分析,动态调试也属于动态分析,和上面的方法异曲同工。

动态调试这里可以理解为堆栈调试,有时候需要利用到不同的工具和方法,

比如 JEB调试、smali调试、IDA调试等等。

感谢各位的阅读!关于“android如何实现加密参数定位”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: android如何实现加密参数定位

本文链接: https://lsjlt.com/news/269685.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • android如何实现加密参数定位
    这篇文章给大家分享的是有关android如何实现加密参数定位的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在逆向一个Android程序时,如果只是盲目的分析需要阅读N多代码才能找到程序的关键点或Hook点,本文将...
    99+
    2023-06-14
  • android加密参数定位实现方法
    目录巧用搜索-静态分析objection定位frida-hooklog注入动态调试在逆向一个Android程序时,如果只是盲目的分析需要阅读N多代码才能找到程序的关键点或Hook点,...
    99+
    2024-04-02
  • Android如何实现模拟定位
    目录一、Android模拟权限开启配置 1)Android 6.0以下开启模拟定位开关2)Android 6.0以上代码配置选择模拟定位的应用 二、Android模拟定位实现 1)模...
    99+
    2024-04-02
  • 如何确定绝对定位的参考参数?
    如何确定绝对定位参考的参数? 在网页开发中,绝对定位是一种常用的布局技术,可以精确地定位元素在页面中的位置。但是,在使用绝对定位时,我们需要提供一组参考参数来指定元素的具体位置。本文将介绍如何确定绝对定位参考的参数,并提供一些代...
    99+
    2024-01-23
    绝对定位 参考参数 确定方法
  • 如何实现Spring Boot接口参数的加密解密操作
    这篇文章主要介绍如何实现Spring Boot接口参数的加密解密操作,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!加密解密本身并不是难事,问题是在何时去处理?定义一个过滤器,将请求和响应分别拦截下来进行处理也是一个办...
    99+
    2023-06-14
  • Android数据加密之Rsa加密的简单实现
    最近无意中和同事交流数据安全传输的问题,想起自己曾经使用过的Rsa非对称加密算法,闲下来总结一下。 什么是Rsa加密? RSA算法是最流行的公钥密码算法,使用长度可以变化的密钥...
    99+
    2022-06-06
    加密 rsa Android
  • android的数据如何加密
    android使用MD5算法对数据进行加密,具体方法如下:import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.n...
    99+
    2024-04-02
  • 怎么实现 Spring Boot 接口参数加密解密
    本篇内容主要讲解“怎么实现 Spring Boot 接口参数加密解密”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么实现 Spring Boot 接口参数加密解密”吧!加密解密本身并不是难事,...
    99+
    2023-06-17
  • Android listview如何实现定位到上次显示的位置
    这篇文章主要为大家展示了“Android listview如何实现定位到上次显示的位置”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Android listview如何实现定位到上次显示的位置”...
    99+
    2023-05-30
    android listview
  • 如何使用Android实现地理定位功能
    这篇文章给大家分享的是有关如何使用Android实现地理定位功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。首先需要的权限有<uses-permission android:name="...
    99+
    2023-05-30
    android
  • Spring Boot 接口参数加密解密的实现方法
    目录1.开发加解密 starter2.打包发布2.1 安装到本地仓库2.2 发布到线上3.应用4.小结因为有小伙伴刚好问到这个问题,松哥就抽空撸一篇文章和大家聊聊这个话题。 加密解密...
    99+
    2024-04-02
  • vue路由传参-如何使用encodeURI加密参数
    目录使用encodeURI加密参数比如参数是一个对象obj解密方式是使用decodeURIvue路由加密传参传参页面接收页面使用encodeURI加密参数 在路由切换时页面需要使用地...
    99+
    2024-04-02
  • VBS如何实现加密解密
    这篇文章主要为大家展示了“VBS如何实现加密解密”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VBS如何实现加密解密”这篇文章吧。用法: 1.copy下面代码至文本文档 2.将文件后缀名改为.v...
    99+
    2023-06-08
  • php如何实现密码加密
    这篇文章给大家分享的是有关php如何实现密码加密的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php密码加密方法:1、使用password_hash(),语法“password_hash(密码,PASSWORD_...
    99+
    2023-06-20
  • vuejs如何实现密码加密
    这篇文章主要为大家展示了“vuejs如何实现密码加密”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vuejs如何实现密码加密”这篇文章吧。vuejs实现密码加密的方法:1、通过npm引入“cry...
    99+
    2023-06-25
  • PHP如何实现加密解密
    这篇文章主要为大家展示了“PHP如何实现加密解密”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PHP如何实现加密解密”这篇文章吧。加密解密function encrypt($data,...
    99+
    2023-06-03
  • VBS如何实现加密
    小编给大家分享一下VBS如何实现加密,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!昨天那个病毒的加密确实很恐怖,我不是高手,写不出那么高级的加密。但是受病毒第一层...
    99+
    2023-06-08
  • SpringBoot实现接口参数加密解密的示例代码
    目录1. 开发加解密 starter1.1 创建项目1.2 加密工具类1.3 响应工具类1.4 定义注解1.5 定义一个 EncryptProperti...
    99+
    2024-04-02
  • python换位密码及换位解密转置加密怎么实现
    这篇文章主要介绍了python换位密码及换位解密转置加密怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python换位密码及换位解密转置加密怎么实现文章都会有所收获,下面我们一起来看看吧。换位密码Tra...
    99+
    2023-06-30
  • Android数据加密之异或加密算法的实现方法
    这几天被公司临时拉到去做Android IM即时通信协议实现,大致看了下他们定的协议,由于之前没有参与,据说因服务器性能限制,只达成非明文传递,具体原因我不太清楚,不过这里用的...
    99+
    2022-06-06
    加密 方法 异或 算法 Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作