IDA pro 定位关键代码技巧

news/2025/1/14 14:26:08/文章来源:https://www.cnblogs.com/abyssdawn/p/18670698

第一种方法:搜索特征字符串

首先按下快捷键CTRLS+S打开段选择对话框,双击STRINGS段跳转到字符串段,然后点击菜单项“Search→text”,或者按下快捷键ALT+T,打开文本搜索对话框,在String旁边的文本框中输入要搜索的字符串后点击OK按钮,稍等片刻就会定位到搜索结果。

2024-12-31T08:44:52.png

第二种方法:搜索关键API

首先按下快捷键CTRL+S打开段选择对话框,双击第1个CODE段跳转到数据起始段,然后点击菜单项“Search→text”,或者按下快捷键 ALT+T,打开文本搜索对话框,在String旁边的文本框中输入要搜索的API名称后点击OK按钮,稍等片刻就会定位到搜索结果。如果API被调用多次,可以按下快捷键CTRL+T来搜索下一项。

第三种方法:通过方法名判断方法功能

打开Exports选项,查看方法名进行粗略判断

在 Exports 选项卡页面上输入 Main,代码会自动定位到以 Main 开头的所在的行

2025-01-14T05:49:27.png

实战案例:破解crackme0502

把classes.dex用idapro打开

打开exports选项,输入main,定位到如上图所在的地方

点击第二个onclick函数,找到关键的if-eqz分支

2025-01-14T05:56:31.png

虽然不知道这堆乱码字符串分别是什么,但通过最后调用的Toast 来看,直接修改 if-eqz即可将程序破解。将鼠标定位到指令“if-eqzv2,loc 2DODC”所在行,然后点击IDAPro主界面的“Hex View-A”选项卡,可看到这条指令所在的文件偏移为0x2DOBE,相应的字节码为“38020f00”,通过前面的学习,我们知道只需将if-eqz的 OpCode 值 38 改成 if-nez的 OpCode 值 39 即可。说干说干,使用 C32asm 打开 classes.dex 文件,将 0x2DOBE 的 38改为 39,然后保存退出。接着将dex 文件进行Hash 修复后导入apk 文件,对 apk重新签名后安装测试发现程序已经破解成功了。

2025-01-14T06:09:28.png

笔记出处

  • 《android软件安全与逆向分析》

《Android软件安全与逆向分析》pdf书下载

公众号(破晓一代网络)回复:Android软件安全与逆向分析

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

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

相关文章

linux获取本机和目标机器的IP和主机名

linux获取本机和目标机器的IP和主机名系统 配置 IPCentos7.9 2c4g 192.168.8.182Centos7.9 2c4g 192.168.8.182效果 简洁版优化版简洁版 #!/bin/bash #!!!!!!!!!!!!!!!!!!!!执行这个脚本时,目标端需要允许SSH连接 hostname=$(hostname) ip_address=$(hostname -I | awk {print…

学习 - Nginx -浅谈非对称加密的理解

浅谈非对称加密的理解1、客户端首次访问服务器的时候,先访问443接口后获取到“公钥”并保存在客户端。 2、客户端通过通过80端口在发送请求的时候,报文中的明文信息 通过(公钥 + 算法)加密成密位进行发送。 3、服务器端获取到密文以后,通过(私钥 + 算法)解密,获取到请求…

MySQLworkbench导入csv文件步骤方法一

方法一:优点--无需写代码;缺点--对于数据量较大的,导入很费时间,1000行大概需要三小时才能导完

65R330-ASEMI超洁MOS管65R330

65R330-ASEMI超洁MOS管65R330编辑:ll 65R330-ASEMI超洁MOS管65R330 型号:65R330 品牌:ASEMI 封装:TO-220F 批号:最新 最大漏源电流:13A 漏源击穿电压:650V RDS(ON)Max:330mΩ 引脚数量:3 芯片个数: 沟道类型:N沟道MOS管、超洁MOS管 漏电流:ua 特性:N沟道MOS管、…

MongoDB 会丢数据吗? 在次补刀MongoDB 双机热备,以及如何删除Journal log【转】

开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis ,Oracle ,Oceanbase 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请加微信号 liuaustin3 (共1220人左右 1 + 2 + 3 +4)新人会进入3群 以后会争取每天一段…

车辆总线接口设备 - VCI

TESTBASE-VCI(Vehicle Communication Interface)系列产品是经纬恒润自主研发的一组用于汽车或工业等应用领域的便携式现场通信总线接口设备,可与PC端INTEWORK系列软件配合使用,实现总线监控、测量标定和诊断刷写等功能。概述TESTBASE-VCI(Vehicle Communication Interface…

Origin 自定义公式拟合

非线性拟合 选中数据 - 绘图 - 分析 - 拟合 - 非线性曲线拟合 - 打开对话框 - 新建函数 - 函数命名 - 输入函数表达式,如 y=a*x^2,即可。 若公式中涉及到复数,则使用 ImReal() 取实部,Imaginary() 取虚部,Imsqrt() 取开方。 如色散方程取实部,即色散部分进行拟合,则相应…

产品经理如何通过看板管理做到更直观的工作管理?

在如今快节奏的产品开发环境中,产品经理面临着众多任务和复杂的流程,如何高效管理工作成为了一大挑战。看板管理作为一种可视化的工作流程管理方法,正逐渐成为产品经理们的得力助手。你是否好奇,看板管理究竟有怎样的魔力,能让产品经理的工作变得更直观、更高效呢?接下来…

VMware17Pro虚拟机安装macOS教程

下载所需文件官方正版VMware下载(17 pro): 通过网盘分享的文件:VMware17.5.rar链接: https://pan.baidu.com/s/15EtL6XUGCIxLpvOcDwL9Ew 提取码: r6ic 下载系统镜像: 通过网盘分享的文件:macOS.Sonoma.14.5.K3.iso链接: https://pan.baidu.com/s/1H14E7snWdPhdcrRcQBtFew…

推荐一款 .NET 智慧水务物联网系统

前言 本文将介绍如何通过智能水表(如 NB-IoT 水表)、智能消火栓、智能阀门、数据采集终端(RTU 或 PLC)及其他前置传感器和设备,开发一个高效、智能的供水管理系统。该系统能够实时采集和分析供水网络中的各种数据,帮助用户单位实现精细化管理和资源优化配置。 项目介绍 智…

python类中的方法【类方法、静态方法、方法】

方法需要实例化类生成对象后才能调用,另两个不需要