app安全之安卓native层安全分析(七):unidbg自尝试某潮流app+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数组的转换,其他没啥需要记录的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
聊天APP安全问题主要分为以下几个方面: 1. 数据传输安全:聊天APP需要保证数据在传输过程中不被窃听、篡改或者伪造。一般来说,聊天APP会采用SSL/TLS等加密协议确保数据的传输安全。 2. 用户隐私保护:聊天APP需要保护用户的隐私信息,包括用户的个人信息、聊天记录等。聊天APP需要采取措施防止用户隐私信息泄露,比如采用数据加密和访问控制等技术。 3. 恶意软件防护:聊天APP需要保护用户免受恶意软件的攻击。聊天APP需要采用反病毒软件和入侵检测等技术来检测和清除恶意软件,同时还需要定期更新和修补软件漏洞。 4. 安全设置管理:聊天APP需要提供安全设置管理功能,让用户可以设置自己的隐私安全选项,比如是否开启防火墙、是否允许远程访问、是否允许自动登录等。 5. 安全认证管理:聊天APP需要进行用户身份认证,以保证只有合法用户才能使用聊天服务。聊天APP需要采用安全认证技术,比如用户名和密码、生物识别等方式进行身份认证。 在Android系统上,聊天APP需要注意以下几个问题: 1. 权限管理:聊天APP需要请求合适的权限,以便能够正常的运行。但是,需要注意不要请求过多的权限,避免权限滥用。 2. 数据存储安全:聊天APP需要使用安全的存储方式,以保障用户的数据安全。比如,可以使用加密存储方式,或者采用数据隔离技术,将用户数据隔离在独立的存储空间中。 3. 加密通信:聊天APP需要采用SSL/TLS等加密协议,确保数据在传输过程中不被窃听、篡改或者伪造。 4. 安全更新:聊天APP需要定期进行安全更新,修复软件漏洞和增强安全功能,以提高软件的安全性。 5. 防止反编译和代码注入:聊天APP需要采用代码混淆技术,以防止反编译和代码注入攻击。 总之,聊天APP安全问题需要综合考虑各个方面,采取不同的措施进行保护,以保障用户的隐私和数据安全
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值