首页 > 其他分享 >app逆向之安卓native层安全逆向分析(七):unidbg自尝试某潮流app+dvmObject[]处理

app逆向之安卓native层安全逆向分析(七):unidbg自尝试某潮流app+dvmObject[]处理

时间:2023-05-10 18:15:11浏览次数:35  
标签:逆向 调用 之安卓 app hook unidbg dvmObject

前言

跟着龙哥搞了几次unidbg了,这次也自己尝试用来分析下某潮流app了。

分析

1.抓包

先抓个包

 

我们要搞的就是这个sign-v1了。 

 

2.调试找参数

jadx一顿分析,一搜:

 

搜出来还不少,往下翻,找找一些特征,很快找到这里

 

点进去

 

 

 

 

ok,用objection hook之后,发现不是这个方法,但是确实是这个方法所在的类的b方法:

 

然后调用了这个getsign,getsign就在下面

 

再来hook下这两个方法:

 

 

 

基本确定,就是这里了,抓包工具也对比就是这里:

 

3.ida查看:

打开ida看看,发现是静态绑定的

 

 

可以的,感觉很简单 

 

调试

1.搭架子

首先搭一下架子,然后既然他不是动态注册的,那就可以不用设置调用jni_load了:

 

看着没毛病,直接调用吧

 

2.调用&补环境

废话不多说,直接拿着hook到的参数拿来调用:

 

 

看下,这个ach是啥,ok,看样子就是随机生成一个16位的字符串

 

 

 

补一下环境

 

 

继续看

 

 原来就是把这几个加起来

补一下:

 

 

结果已经出来了。但是打印的是一个dvmobject对象。很奇怪了。再看看hook的结果:

其实是个有三个元素的字符串数组。所以他应该是对象

断点调试一下

 

 

 

 

结果这么写会报错:

 

强转string[]也不行,就很尴尬

 

 

3.结果修复

问了一下unidbg的大佬,应该这么写:

 

 这么写就可以了。

DvmObject[] result = (DvmObject[]) 
vm.getObject(number.intValue()).getValue(); String sign = result[2].toString();

 

4.另一种调用

首先,我们都知道有,地址调用,符号调用,如下:

 

 

其实,根据我问的unidbg玩的6的大佬,还有另一种调用

 

这么写,代码量减少了很多。

 

但是有个问题就是,那个network类,需要在构造方法里定义一下:

 

另外,这个方法的签名,怎么拿到,用jadx的smali代码查看:

 

这里就直接有了,复制过去就可以用,注意最后的【;】也要带上。 

 

 

5.验证是否可用

 

试试刚才的两种调用的结果,能不能拿来请求,然后正常返回呢?

 

 

ok,两个都可以 ,说明主动调用,整个过程,很成功

 

 

结语

整个过程很轻松加愉快。除了最后的dvmObject数组的转换,其他没啥需要记录的。

 

标签:逆向,调用,之安卓,app,hook,unidbg,dvmObject
From: https://www.cnblogs.com/Eeyhan/p/17388786.html

相关文章

  • mapper接口开发--条件,为什么是接口、参数
    三个必要条件_mapper.java和_mapper.xml需要在同一个目录这就是为什么看到resources有同样的包xml中的namespace为mapper.java的全限定路径mapper.xml的id和mapper.java的方法名字、参数类型、返回值一致最后通过sqlSession.getMapper(*mapper.class)得到接口,这样就可以......
  • 如何通过appuploader把ipa文件上传到App Store教程步骤​
    如何通过appuploader把ipa文件上传到AppStore教程步骤​iOSAPP上架AppStore其中一个步骤就是要把ipa文件上传到AppStore!​下面进行步骤介绍!​利用Appuploader这个软件,可以在Windows、Linux或Mac系统中申请ios和上传IPA到AppStoreConnect。​非常的方便,没有Mac也......
  • 时间管理APP开发功能
    时间管理APP开发功能包括以下几个方面:任务管理:APP应该具有任务管理功能,用户可以创建任务、添加任务、修改任务、删除任务等。时间设置:APP应该具有时间设置功能,用户可以设置任务的开始时间、结束时间、持续时间等。提醒功能:APP应该具有提醒功能,用户可以设置提醒时间、提醒......
  • DNA测序中的reads mapping方向的信息
    在DNA测序中,readsmapping方向指的是描绘short-reads(短序列)对于参考基因组的比对方向,即将短读序列与参考基因组进行比对时匹配的方向。这个方向信息通常被编码为“+”或“-”,其中“+”表示reads的5'端与正向链的3'端相对应,“-”表示reads的5'端与负向链的3'端相对应。具体来说,在......
  • Readability下周一在Amazon Appstore独家推出
          上个星期我们介绍了一款能将网页制作成电子书的浏览器Readability,当时这一应用只有iOS版本,而现在这一应用的Android版本也即将推出,对于Android用户来说真是个好消息。         Readability的主要竞争对手包括ReaditLater和Instapaper,前者是一个原生Andr......
  • 直播app系统源码,dialogfragment设置底部没有和屏幕有间隔
    直播app系统源码,dialogfragment设置底部没有和屏幕有间隔 @Override  publicvoidonStart(){    super.onStart();    Windowwindow=getDialog().getWindow();    if(window!=null){      //设置window的背景色为透明色. ......
  • app直播源代码,高仿软件评论底部弹出框
    app直播源代码,高仿软件评论底部弹出框这个弹窗的效果是使用BottomSheetDialogFragment做的,第一个弹出的对话框为CommentListDialogFragment,第二个弹出的对话框为SendCommentDialogFragment,代码如下: 展示CommentListDialogFragment。  publicclassCommentListDialogFra......
  • 利用Appuploader上架IPA步骤
     Appuploader可以辅助在Windows、linux或mac系统直接申请iOS证书p12,及上传ipa到AppStore。方便在没有苹果电脑情况下上架IPA操作。一、下载安装iOS上架辅助软件Appuploader下载地址:下载软件包后解压直接使用,无需安装。二、申请iOS发布证书(p12文件)发布证书用于......
  • 微信小程序 app.json 里 "style": "v2" 的作用
    新版微信小程序的app.json文件中多了一个:style":"v2"{"pages":["pages/index/index","pages/logs/logs"],"window":{"backgroundTextStyle":"light","navigationBarBac......
  • spring框架_ApplicationContext实现
    ApplicationContext实现ApplicationContext有四个经典实现ClassPathXmlApplicationContext:经典容器,基于classpath下xml格式的配置文件来创建FileSystemXmlApplicationContext:基于磁盘路径下xml格式的配置文件前两种实现都是用来帮助beanfactory读取bean的都是读取XML......