Android逆向学习(五)app进行动态调试

Android逆向学习(五)app进行动态调试

一、写在前面

非常抱歉鸽了那么久,前一段时间一直在忙,现在终于结束了,可以继续更新android逆向系列的,这个系列我会尽力做下去,然后如果可以的话我看看能不能开其他的系列,当然这就要看我以后忙不忙了,废话少说我们开始今天的学习,动态调试

对了,关于之前smali2java插件的bug,已经和开发者联系后修复了这个bug,感谢开发者大大的重视

二、任务目标

进行动态调试,获得对应的密钥

三、动态调试

我们进行动态调试的话首先要添加上这个权限

20230925165800

添加上这个权限后我们才可以进行动态的调试

然后进行打包后得到apk,之后将apk移动到jeb中去(直接拖动就可以)

先开启开发者模式,就是对着版本号点击10下,就可以开启开发者模式了

20230926101637

之后使用adb进行调试

因为在上一期中我是改名成为了东北往事,所以命令是这样的

adb shell am start -D -n com.zj.dongbeiwangshi/.ui.MainActivity

但是!这样运行是有问题的,我改了好久才发现这个问题,就是通过adb启动的话是会连接失败的,所以我选择了更有效的办法,就是直接在模拟器中手动打开这个软件,这个方法是有效的

然后点击JEB的调试

在这里插入图片描述

之后应用就会启动

20230926101849

然后我们点击到第四关,然后看一下这个源代码,我们发现这个是需要flag{xxx}的格式,CTF是吧(笑),无所谓了,我们观察源代码,发现这里有个比较,观察方式就是先找程序入口,然后查看调用的函数,就可以找到这么一个代码

20231003215420

就在这个地方ctrl+b断点,然后开启debug,到时候就可以卡到这个地方

20231003215832

然后我们就发现了这个值,我们把这个值给输入进去,就可以看到这样了

20231003215950

关于log插桩我打算以后有时间再介绍,因为我一直想用另外的方式完成,不是简单的复现,这期就先这样

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

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

相关文章

vued中图片路径与主机路径相关联,例如img:‘http://127.0.0.1:8000/media/data/els.jpg‘

1.在Django项目的settings.py文件中,确保已指定正确的MEDIA_URL和MEDIA_ROOT。MEDIA_URL定义了图片的URL前缀,MEDIA_ROOT定义了本地文件系统中存储图片的路径。 2.在 Django 项目的主 urls.py 文件中,确保包含了适当的 URL 配置,以…

国庆中秋特辑(六)大学生常见30道宝藏编程面试题

以下是 30 道大学生 Java 面试常见编程面试题和答案,包含完整代码: 什么是 Java 中的 main 方法? 答:main 方法是 Java 程序的入口点。它是一个特殊的方法,不需要被声明。当 Java 运行时系统执行一个 Java 程序时&…

uboot启动流程-涉及lowlevel_init汇编函数

一. uboot启动流程涉及函数 之前文章简单分析了 uboot启动流程的开始,从链接脚本文件 u-boot.lds 中,我们已经知道了入口点是 arch/arm/lib/vectors.S 文件中的 _start函数。 _start函数:调用了 reset 函数,reset 函数内部&…

大屏自适应容器组件-Vue3+TS

1.引言 在做数字大屏时,图表能跟着浏览器的尺寸自动变化,本文采用Vue3前端框架,采用TypeScript语言,封装了一个大屏自适应组件,将需要显示的图表放入组件的插槽中,就能实现自适应屏幕大小的效果。 2.实际…

Flutter笔记 - 用于描述Align的Alignment、AlignmentDirectional、AlignmentTween类

Flutter笔记 用于描述Align的Alignment、AlignmentDirectional、AlignmentTween类 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_…

结构型设计模式——外观模式

摘要 本文主要分析设计模式 - 结构型 - 外观(Facade),它提供了一个统一的接口,用来访问子系统中的一群接口,从而让子系统更容易使用。 一、外观模式的意图 提供了一个统一的接口,用来访问子系统中的一群接口,从而让…

23.2 Bootstrap 卡片

1.卡片 1.1卡片样式 在Bootstrap 5中, .card, card-header, .card-body, .card-footer类是用于创建卡片样式.下面是这些类的简单介绍: * 1. .card: 用于创建一个基本的卡片容器它作为一个包裹元素,通常与其他卡片类一起使用.* 2. .card-header: 用于创建卡片的头部部分.通常在…

【Vue3】Mitt

在 Vue3 中,$on,$off 和 $once 实例方法被移除,EventBus 无法使用了。那么此时,我们可以使用 Mitt 库(发布订阅模式的设计)。 // 安装 mitt npm install mitt -S// main.ts import { createApp } from vue…

力扣-383.赎金信

Idea 使用一个hashmap 或者一个int数组存储第二次字符串中每一个字符及其出现的次数 遍历第一个字符串,讲出现的重复字符减1,若该字符次数已经为0,则返回false AC Code class Solution { public:bool canConstruct(string ransomNote, strin…

基于matlab创作简易表白代码

一、程序 以下是一个基于MATLAB的简单表白代码: % 表白代码 clc; % 清除命令行窗口 clear; % 清除所有变量 close all; % 关闭所有图形窗口 % 输入被表白者的名字 name input(请输入被表白者的名字:, s); % 显示表白信息 fprintf(\n); fprintf(亲爱的…

Scrapy框架Splash渲染

Scrapy框架是一款强大而灵活的Python网络爬虫框架,用于快速、高效地爬取和提取网页数据。然而,对于一些使用动态渲染技术的网站,Scrapy在处理JavaScript生成的内容上可能会有些困难。为了应对这种情况,Scrapy提供了Splash渲染服务…

vcomp120.dll丢失的详细解决方法,全面分享5个解决方法分享

vcomp120.dll 是 Visual C Redistributable 的一个组件,是许多 Windows 应用程序所必需的动态链接库 (DLL) 之一。如果计算机上缺少 vcomp120.dll 文件,或者该文件已损坏或不正确,可能会导致许多应用程序无法正常运行,出现“无法继…

AJAX--Express速成

一、基本概念 1、AJAX(Asynchronous JavaScript And XML),即为异步的JavaScript 和 XML。 2、异步的JavaScript 它可以异步地向服务器发送请求,在等待响应的过程中,不会阻塞当前页面。浏览器可以做自己的事情。直到成功获取响应后&#xf…

Pikachu靶场——目录遍历漏洞和敏感信息泄露

文章目录 1. 目录遍历漏洞1.1 源码分析1.2 漏洞防御 2. 敏感信息泄露2.1 漏洞防御 1. 目录遍历漏洞 漏洞描述 目录遍历漏洞发生在应用程序未能正确限制用户输入的情况下。攻击者可以利用这个漏洞,通过在请求中使用特殊的文件路径字符(如 …/ 或 %2e%2e…

键盘上F1至F12键的作用

多年来,我们习惯了最上排的12个按键,从F1到F12,它们被称为“快速功能键”,可以让你更轻松地操作电脑;但是,很多人可能从未使用过它们,也从来不知道它们的用途。那么今天,就向大家科普…

2024级199管理类联考之数学基础(上篇)

管理类考试介绍 管理综合200分,时间3小时 数学:75分/25题,是拉开差距的核心模块 问题求解题:15个,5选一条件充分性判断:10个,结合两个条件选择答案 条件一充分,条件二不充分:A条件一不充分,条件二充分:B条件一充分,条…

Java - 基本数据类型和封装类型

基本类型有默认值,而包装类型初始为null。然后再根据这两个特性进行分业务使用,在阿里巴巴的规范里所有的POJO类必须使用包装类型,而在本地变量推荐使用基本类型。 Java语言提供了八种基本类型。六种数字类型(四个整数型&#xff…

基本的五大排序算法

目录: 一,直接插入算法 二,希尔排序算法 三,选择排序 四,堆排序 五,冒泡排序算法 简介: 排序算法目前是我们最常用的算法之一,据研究表明,目前排序占用计算机CPU的时…

数据挖掘实验(一)数据规范化【最小-最大规范化、零-均值规范化、小数定标规范化】

一、数据规范化的原理 数据规范化处理是数据挖掘的一项基础工作。不同的属性变量往往具有不同的取值范围,数值间的差别可能很大,不进行处理可能会影响到数据分析的结果。为了消除指标之间由于取值范围带来的差异,需要进行标准化处理。将数据…

Linux性能优化--性能工具:系统内存

3.0.概述 本章概述了系统级的Linux内存性能工具。本章将讨论这些工具可以测量的内存统计信息,以及如何使用各种工具收集这些统计结果。阅读本章后,你将能够: 理解系统级性能的基本指标,包括内存的使用情况。明白哪些工具可以检索…