关于JADX和JEB的小问题

news2024/11/27 18:46:43

关于JADX和JEB的小问题

很久没水过技术文啦,最近也刚好遇到点小问题,特此记录

第一个问题

在处理app加密逻辑的时候一直拿不到正确的密文,反复看了反编译出来的代码(如下图)

JADX

public static string n(String str, String str2, String str3, Context context){
int h2;  // 是不是觉得这个int h2; 很奇怪?没有赋值。
try{
int h3 = h(str2) + 35;
String str4 =  .......
}
.........
}

我需要的是str4这个字符串,它是由str2切割得到的,按照代码的意思就是str2的 第h2个到第h3个 然后再加上一次字符串
但是 我复现出来之后按照这样去切割出来的数据中前面多了 4 个字符 尾巴又少了四个字符 当时就觉得应该是由于字节处理的问题,并没有重视 就直接写死 前后都加了4,就屁颠屁颠拿去测试接口了。

结果结果 接口测试一直通不过,我又去看了请求接口的代码 代码中有提交证书,我又去巴拉巴拉证书,结果搞半天,证书这个问题解决之后接口返回还是不在预期范围内(就很气愤)又重新整理从头开始整理了一下加密流程 确认算法没有问题。

第二天,我找java同事协助,把这段代码拿给他看,他说 这个h2 是不是有点问题,java 这样写是不对的 都没有赋值,我说反编译出来的可能会有点缺失,(第二次没重视这个问题)就让同事帮我跑了一下这个代码,结果和我跑出来的结果是一模一样 也是前面多了四位后面少了四位,我说这 莫非是java虚拟机出问题了,恰好开发人员利用了这个bug? 我遵从相信代码的心里,又去梳理了一边加密流程和证书问题,并且让同事去尝试加载证书去访问,结果依旧是验证不通过!

反复验证之后,我确定这个问题绝对是我没有处理好证书和加密流程,但是代码又不会骗人,开始挠头了,开始右键刷新桌面
看到一个没有图标的jeb.bat文件 抱着试一试的心态打开apk,找到这段代码 看到的一瞬间 我开始激动了。

JEB

public static string n(String str, String str2, String str3, Context context){
int v1 = h(str2);
int v2 = v1 +35;
...........
}

这么离谱的问题我都能遇到,我的心情激动有崩溃,两天时间就在这浪费了。
不过仔细想想也是 运算级值引用 的问题确实在反编译过程中很难处理,
回顾了一下,之前在使用一个 js 反混淆的脚本时也遇到过这样的问题,因为优先级的问题,导致反编译出来的代码结果不对应,后面也和相应的作者提了issue.

第二个小问题

这个问题其实和这两个工具没有关系,报文中会携带设备ip地址 我为了方便 就直接取了0.0.0.0, 但是服务器就是验证不过,随手改成了 192.168.1.1 就通过了,怀疑是服务器做了校验,设备ip是 0.0.0.0 时,校验请求ip是否为ipv6, 因为我挂得代理ip肯定不是ipv6

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1172833.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

提升之做事方法

前言:在工作中,做事需要有一套方法,同样的一件事,不同的人去做,就能看到能力的差别,会产生不同的结果。那如何在工作中,提升自己做事的能力? 目录 闭环思维 做事方法论 事前规划 …

网络运维Day03

文章目录 基本命令使用查看文本文件内容-cat命令分页查看文本文件-less命令查看CPU信息-lscpu命令查看系统内核版本-uname命令查看机修改主机名-hostname命令查看IP地址-ifconfig命令创建目录-mkdir命令创建空文件-touch命令查看文件前几行-head命令查看文件后几行-tail命令快速…

2024年CleanMyMac更新了哪些内容?

CleanMyMac作为一款专业的苹果电脑清理软件,它不仅仅能单纯的卸载不用、少用的应用,同时还支持:1、清理应用程序的数据文件,将应用重置回初始状态,减少空间占用;2、自动检查应用更新,保持应用的…

Hyper-V 安装windows10 虚拟机,且能调试窗口大小、与主机之间复制文件

1. 搜索栏--打开‘启动或关闭windows功能’-- 勾选 ‘ Hyper-V ’ 然后点击确定; 2. 搜索栏--打开‘ Hyper-V 快速创建’ ---本地安装源---更改安装源(选择 对应的 windows.iso 镜像)---创建镜像--启动虚拟机--(到达)P…

优化|随机零阶优化算法分析

原文:Random Gradient-Free Minimization of Convex Functions. Found Comput Math 17, 527–566 (2017). https://doi.org/10.1007/s10208-015-9296-2 原文作者:Yurii Nesterov, Vladimir Spokoiny 论文解读者:陈宇文 本次知识分享活动挑选…

【中国知名企业高管团队】系列58:创维SKYWORTH

昨天华研荟介绍了位于深圳的彩电三巨头之一——康佳KONKA,今天介绍创维SKYWORTH。两家公司都是以做电视起家的,但是发展历程和现在的业务差别非常大,当然,过程中发生的故事也是波澜起伏。 一、关于创维 创维集团有限公司&#x…

JAVA面经整理(10)

一)MyBatis有什么优缺点? Mybatis是⼀种典型的半自动化的ORM 框架,所谓的半自动,因为还需要⼿动的写 SQL 语句在XML文件里面,再由框架根据SQL以及传入数据来进行组装成要执行的SQL,所谓的ORM框架,就是对象关…

burpsuite进行拦截请求包

当我们进行正常访问浏览器时,进行勾选住如上内容,若我们需要进行拦截某个请求时,首先将如上勾选去掉,然后打开proxy下的Intercept,确保intercept is on 按钮打开。 然后打开intercept is on 按钮即可进行拦截请求

温故知新-Redis01

目录 开场白-追命3连 使用场景 01缓存穿透场景与方案 02布隆过滤器 03缓存击穿场景与方案 04缓存雪崩场景与方案 开场白-追命3连 看你项目中有说用到Redis,都是哪些场景使用了Redis呢? 如果发生了缓存穿透、击穿、雪崩如何应对呢?缓存…

LangChain+LLM实战---ChatGPT的即时插件套件制作

英文原文:Instant Plugins for ChatGPT: Introducing the Wolfram ChatGPT Plugin Kit 在一分钟内构建一个新插件 几周前,我们与OpenAI合作发布了Wolfram插件,使ChatGPT可以使用Wolfram语言和Wolfram|Alpha作为工具,在ChatGPT内部…

Day 6 登录页以及路由(四)Vue页面处理

系列文章目录 本系列记录一下通过Abp搭建后端,VueElement UI Plus搭建前端,实现一个小型项目的过程。 Day 1 Vue 页面框架Day 2 Abp框架下,MySQL数据迁移时,添加表和字段注释Day 3 登录页以及路由 (一)Day 4 登录页及…

我终于学会的前端技能——代码调试、打断点

在技术的世界里,要用魔法来打败魔法 说来惭愧我做前端已近三年了竟然还没有学会如何调试代码,也就是给自己的代码打上断点一步步看它的运行状态以达到理清代码运行逻辑、排查问题提升开发效率的目的。直到最近我才学会了这一技能,在这之前我用…

抖音小店参与双十一活动:销售增长的策略与实施

双十一是中国最大的购物狂欢节,对于抖音小店商家来说,参与双十一活动是一个极好的机会,可以在这个繁忙的购物季节中大幅提升销售。下面四川不若与众将介绍一些抖音小店商家如何参与双十一活动的策略和注意事项。 1. 提前准备:在双…

Nginx编译安装和配置

官网:http://nginx.org/ 这里以1.20.2为例 Nginx是C语言写的 如果Linux系统上没有安装C编译环境 先执行下面命令 yum install -y gcc automake autoconf libtool make 如果不确定 可以使用命令查看 命令格式 rpm -q xxx 例如 说明有C编译环境 安装前需要安装4个依赖包…

任正非说:为更好地服务客户,我们把指挥所建到听得到炮声的地方

你好!这是华研荟【任正非说】系列的第29篇文章,让我们聆听任正非先生的真知灼见,学习华为的管理思想和管理理念。 一、产品发展的路标是客户需求导向,企业管理的目标是流程化的组织建设,这两句话归纳了我形容的龙的组织…

海康Visionmaster-全局变量:全局变量关联流程中具体 模块结果的方法

将视觉流程中模板匹配算法模块运行的结果数据:特征匹配点 X 关联全局变量 MatchResultX。 在流程运行的主界面中,按照下面 1,2,3,4 步骤操作,第一步选中算法模块,第二步择模块结果 Tab 页&#…

【NeurIPS 2020】基于蒙特卡罗树搜索的黑箱优化学习搜索空间划分

Learning Search Space Partition for Black-box Optimization using Monte Carlo Tree Search 目标:从采样(Dt ∩ ΩA)中学习一个边界,从而最大化两方的差异 先使用Kmeans在特征向量上( [x, f(x)] )聚类…

Python算法例4 求平方根

1. 问题描述 实现int sqrt(int x)函数,计算并返回x的平方根。 2. 问题示例 sqrt(3)1;sqrt(4)2;sqrt(5)2;sqrt(17&#…

GEE数据集——原住民土地(原住民土地地图)数据集

原住民土地(原住民土地地图) 土地承认是人们在日常生活中融入原住民存在和土地权利意识的一种方式。这通常在仪式、讲座或教育指南开始时进行。它可以是一种明确但有限的方式来认识殖民主义和第一民族的历史以及定居者殖民社会变革的需要。在这种情况下…

夜间灯光数据VIIRS Nighttime Day: Night Band Composites Version 1数据集

简介: 新一代对地观测卫星Suomi NPP,搭载的可见光红外成像辐射仪(Visible Infrared Imaging Radiometer Suit,VIIRS),能够获取新的夜间灯光遥感影像(Day/Night Band,DNB波段)。VIIRS_VCMCFG夜光遥感数据的…