安卓逆向_7 --- 六种快速定位关键 Smali 代码的方法 ( 去掉 RE 广告 )

 

 

哔哩哔哩:https://www.bilibili.com/video/BV1UE411A7rW?p=34

 

具体用法,看视频教程( 去掉 RE 的 结束广告

 

6 种定位关键代码的方法,当然还有其他方法,以后遇见了补充上:

  • 1. 信息反馈法( 资源id / 字符串 )。根据程序正常运行的提示信息进行定位,例如:错误提示运行提示等等。可以在程序中直接搜索字符串,当提示信息在 String.xml 资源文件中的时候,可以根据 R.java 的映射文件,查找对应的资源id,然后在 smali 或者在 ida 窗口中进行搜索
  • 2. 特征函数法( api 函数 )。根据程序提示信息的方法,在对应的 Android 的 API 下断点,通过 API 来检索相关的代码。
  • 3. 顺序查看法(分析程序执行流程 / 病毒分析)。从 AndroidManifest.xml 中找到 主 Activity 界面,然后顺序分析代码,通常在分析病毒软件时使用。( 通过 UI 进行分析, adb shell dumpsys activity top )
  • 4. 代码注入法。( 动态调试 / 插入log / 查看logcat / 分析加解密 )。动态调试,又叫插桩,即在关键反汇编代码处插入可以输出 logcat 调试信息的代码
  • 5. 栈跟踪法( 动态调试 / 函数调用流程 )。栈跟踪法属于动态调试的方法,原理是输出运行时栈调用跟踪信息,然后查看函数调用序列来理解方法的执行流程
  • 6. Method Profiling( 动态调试 / 热点分析 / 函数调用流程 )。动态调试方法。主要用于热点分析和性能优化。除了可以记录每个函数赵勇的CPU时间外,还可以跟踪所有的函数调用关系,并提供比栈跟踪法更详细的函数调用序列报告。

 

快速定位关键代码:

1.分析流程搜索特征字符串搜索关键api通过方法名来判断方法的功能2.快速定位关键代码反编译 APK 程序,AndroidManifest.xml => 包名/系统版本/组件程序的主 activity(程序入口界面)每个 Android 程序有且只有一个 主Activity分析程序的执行流程需重点关注的 applicationapplication 执行时间授权验证3.定位关键代码的技巧信息反馈法 ( 资源id/字符串 )特征函数法 ( api函数 )顺序查看法 ( 分析程序执行流程 / 病毒分析 )代码注入法 ( 动态调式 / 插入log / 查看logcat/分析加解密 )栈跟踪法   ( 动态调式 / 函数调用流程)Method Profiling ( 方法剖析 => 动态调式 / 热点分析/ 函数调用流程 )

 

 

 

Android逆向工程:实战!讲解在Smali代码中如何快速定位找到关键代码

 

https://blog.csdn.net/qq_34149335/article/details/82491997

 

 

 

 

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

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

相关文章

教机器遗忘或许比学习更重要:让AI健忘的三种方式

大数据文摘出品编译:臻臻、Shan LIU、龙牧雪大部分人不会喜欢遗忘的感觉。回到家顺手把钥匙丢在一个角落就再也想不起来放在哪儿了,街角偶遇一个同事却怎么拍脑袋也叫不出他的名字……我们害怕遗忘,讨厌遗忘。然而,生而为人&#…

代码精进之路~自明的代码

中间变量 Matcher matcher headerPattern.matcher(line); if (matcher.find()) {headers.put(matcher.group(1), matcher.group(2)); } 优化后 Matcher matcher headerPattern.matcher(line); if (matcher.find()) {String key matcher.group(1);String value matcher.g…

OpenCV图像或视频显示在VC对话框中的方法

转自&#xff1a;我思故我在 在MFC界面上添加一个picture控件&#xff0c;假设其ID为IDC_STATIC_PIC&#xff0c;类型设置为"增强图元文件" 首先包含OPENCV里的头文件&#xff1a; #include <cv.h> #include <stdio.h> #include <highgui.h> 在相应…

一套价值十万的微信公众号采集解决方案

From&#xff1a;http://www.blog2019.net/post/138 原文地址 相关阅读&#xff1a; 一套价值十万的微信公众号采集解决方案(免费送) 数据采集采集架构中各模块详细分析 基于大数据平台的互联网数据采集平台基本架构 教你一种1分钟下载1万个网页的方法&#xff0c;你学吗&a…

2018 年全球人工智能与机器人峰会将在深圳举办

来源&#xff1a;雷锋网摘要&#xff1a;第三届 CCF-GAIR —— 2018 年全球人工智能与机器人峰会&#xff0c;深圳&#xff0c;2018 年 6 月 29 日至 7 月 1 日。2018 年&#xff0c;AI 学术界与工业界的核心议题已演变为“基础理论技术创新”和“行业解决方案落地”&#xff0…

ASP.NET使用数据库存储、读取并修改图片

在SQL SERVER中建立这样结构的一个表&#xff1a;列名类型目的IDInteger主键IDIMGTITLEVarchar(50)图片的标题IMGTYPEVarchar(50)图片类型. ASP.NET要以辨认的类型IMGDATAImage用于存储二进制数据 using System;using System.Collections;using System.Configuration;using…

Grafana 使用教程 --- 开源的度量分析与可视化套件

原文链接&#xff1a;https://blog.csdn.net/bbwangj/article/details/81109615 Linux下使用GrafanaInfluxDBMongoDB实现爬虫可视化动态监控【附代码及详细教程】 https://www.jianshu.com/p/9de223e05a5e Grafana是一个开源的度量分析与可视化套件。经常被用作基础设施的时间…

美国重夺超算“头把交椅”,专家建议中国加快E级超算研制

“顶点”超算 橡树岭国家实验室网站图来源&#xff1a;科技日报摘要&#xff1a;美国能源部下属橡树岭国家实验室6月8日正式宣布&#xff0c;已研发出被命名为“顶点”的超级计算机。美国能源部下属橡树岭国家实验室6月8日正式宣布&#xff0c;已研发出被命名为“顶点”的超级计…

安卓逆向_9 --- log 插桩、Toast 弹窗、smali代码编写和植入 ( 好搜小说 )

From&#xff1a;https://www.bilibili.com/video/BV1UE411A7rW?p36 如果仅仅用 Smali 来分析代码&#xff0c;效果其实不如用 dex2jar 和 jd-gui 更直观&#xff0c;毕竟看反编译的 java 代码要更容易一些。 但 Smali 强大之处就是可以随心所欲的进行插桩操作。何为插桩&…

调试opengl程序出错

今天要做opengl实验 打开一个示例程序&#xff0c;结果编译不过。错误大概如下&#xff1a; d:\vc98\include\gl\gl.h(1152) : error C2054: expected ( to follow WINGDIAPI d:\vc98\include\gl\gl.h(1152) : error C2085: APIENTRY : not in formal parameter list d:\vc98\i…

代码精进之路~函数

职责单一 一个方法只做一件事情。 eg.给员工发工资 public void pay(List<Employee> employees) {for (Employee e : employees) {if (e.isPayDay()) {Money pay e.calculateDay();e.deliverDay(pay);}}} 实际上做了3件事&#xff1a;遍历所有雇员、检查是否该发工资…

智能哲学:“学习机器”与“机器学习” ——解读图灵思想中的人工智能

周剑铭&#xff0c;自由学者。研究方向为中西文化比较研究&#xff0c;智能哲学&#xff0c;算法、不确定性和不确定性问题(NP)理论。柳渝&#xff0c;法国儒勒凡尔纳公立综合大学计算机&#xff08;Dpartement Informatique, UFR des Sciences, Universit de Picardie Jules V…

【分享】关于对象关系映射的理解

对象关系映射&#xff08;Object Relational Mapping&#xff0c;简称ORM&#xff09;是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说&#xff0c;ORM是通过使用描述对象和数据库之间映射的元数据&#xff0c;将java程序中的对象自动持久化到关系数…

安卓逆向_10 --- Log 日志的插入和分析、toast方法、栈跟踪

From&#xff1a;https://blog.csdn.net/weixin_42680210/article/details/90384358 在安卓逆向中&#xff0c;常常用到 栈跟踪、toast方法、Log日志的插入 等&#xff0c;以便于我们更好的分析代码&#xff0c;下面就演示下这三个方法的使用及简单的分析。。。 1. 插入 Log 信…

事实--思维导图笔记

事实--思维导图笔记 https://www.processon.com/view/5d330846e4b058ef96ae5529?fromnew1#map 完整版

未来20年内,无人驾驶将颠覆这33大行业

来源&#xff1a;智车科技在未来的20年里&#xff0c;无人驾驶汽车将在美国广泛使用&#xff0c;这几乎是必然的。包括谷歌、苹果和梅赛德斯-奔驰在内的二十多家大型企业都在努力打造自己的无人驾驶汽车品牌。特斯拉的Model S已经推出了一种可以在高速公路上形式的无人驾驶车型…

C# GridView单元格合并.

使用int[] 列索引集合将第1列的单元格格一样的数据合并..GroupRows(GridView1,newint[]{0}); 全部代码///<summary>///GridView合并行 zgkesina.com qq:116149///</summary>///<param name"p_GridView">Grid控件</param>///<param name&q…

安卓逆向_11 --- methodprofiling(方法分析)【在 smali 代码中打印信息 --- 协议分析常用】

From【修改 smali 代码打印信息】&#xff1a;https://www.bilibili.com/video/BV1UE411A7rW?p38 【Android】开发优化之 --- 调优工具&#xff1a;TrackView、Method Profiling&#xff1a;https://blog.csdn.net/fcly2013/article/details/38080333 TrackView、Method Prof…

Getting Started with Google Guava--思维导图笔记

Getting Started with Google Guava--思维导图笔记 分享地址&#xff1a;https://www.processon.com/view/link/5d413527e4b020861117eb7b

德国科学院院士:传统企业寻求变革,向智能制造靠近

来源&#xff1a;亿欧摘要&#xff1a;中新人工智能高峰论坛上&#xff0c;德国科学院院士汉斯乌思克尔特详细介绍了AI在工业上的概念和具体运用案例。他把“AI工业”原理分为三层&#xff0c;由内到外分别是&#xff1a;生产层、运行层和数据结合层。经由这三层&#xff0c;智…