首页 > 其他分享 >IDA pro 定位关键代码技巧

IDA pro 定位关键代码技巧

时间:2025-01-14 14:48:22浏览次数:1  
标签:定位 技巧 对话框 pro 点击 快捷键 按下 搜索 IDA

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

首先按下快捷键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软件安全与逆向分析

标签:定位,技巧,对话框,pro,点击,快捷键,按下,搜索,IDA
From: https://www.cnblogs.com/abyssdawn/p/18670698

相关文章

  • cliproxy海外 IP 的应用场景
    在当今全球化与数字化深度交织的时代,海外IP扮演着愈发关键的角色,其应用场景广泛地渗透到诸多领域,为个人、企业乃至科研机构开辟了新的发展路径。一、跨境电商运营对于跨境电商从业者而言,海外IP堪称业务拓展的得力助手。一方面,在店铺注册环节,部分海外电商平台基于地域限制......
  • Java ProcessBuilder 启动的进程阻塞不退出问题。
    https://wiki.sei.cmu.edu/confluence/display/java/FIO07-J.+Do+not+let+external+processes+block+on+IO+buffers java通过调用进程读取输出启动进程的标准输出时,如果被调用进程的,标准输出以及错误流的缓冲区被写满,后续写入会导致调用进程会卡住,无法正常结束。 确保waiffo......
  • VMware17Pro虚拟机安装macOS教程
    下载所需文件官方正版VMware下载(17pro):通过网盘分享的文件:VMware17.5.rar链接:https://pan.baidu.com/s/15EtL6XUGCIxLpvOcDwL9Ew提取码:r6ic下载系统镜像:通过网盘分享的文件:macOS.Sonoma.14.5.K3.iso链接:https://pan.baidu.com/s/1H14E7snWdPhdcrRcQBtFew提取码:a6u2......
  • 打卡信奥刷题(599)用C++信奥P7852[普及组/提高] 「EZEC-9」Yet Another Easy Problem
    「EZEC-9」YetAnotherEasyProblem题目描述给定n,mn,mn,m,你需要输出一个长度为......
  • 【FLUX资讯】黑森林团队发布文生图新模型Flux 1.1 pro,性能全面升级,最新prompt小妙招一
    在上周三,BlackForestLabs发布了Flux系列续作Flux1.1pro。画质不亚于相机直拍,各大网友已经玩嗨了。全面升级先来看看几个例子提示:“使用VSCO滤镜的宝丽来照片,1990年,女人,夜晚,闪光灯照片,金发碧眼,年轻的脸庞,美丽的阴影,热带植物,公寓内,数码单反相机,相机闪光灯,手里......
  • 刷力扣的技巧:4 个步骤 7 个关键点,事半功倍,冲进大厂!
    最近好多人问我咋刷力扣呀,今天我就来给大家好好唠唠。我总结了7个要点和4个步骤,尤其是最后那提效4步骤,可太有用啦。大家一定要看到最后哦,记得点赞、收藏呀。要点一:别光追求刷题量,题解也得看咱好多同学呀,解开一道题就着急忙慌地去刷下一道,还把刷题数量当成衡量水平的唯一标......
  • OpenTelemetry 与prometheus的区别
    OpenTelemetry和Prometheus是两个在可观测性领域中常用的工具。但它们之间存在多方面的区别,本文从功能特性、数据模型、生态系统与集成等多个维度进行比较,最后给出它们的应用场景和适用返回。功能特性维度区别OpenTelemetry提供了一套全面的可观测性解决方案,涵盖了分布式追踪......
  • 【 ATU NXP-MCX_A系列 】马达调适技巧与流程 ( 上 )
    1.   概述此文章简介说明马达调适的技巧与流程,基于NXPMCX_A系列MCU硬体搭配Freemaster界面来实际操作说明,简易说明BLDC马达FOC控制架构,让使用者快速了解马达控制架构,搭配调适流程,加快学习马达调适技巧,针对不同马达进行调适,马上知道问题点进行参数的调整,而非盲目......
  • 请说下你对__proto__和prototype的理解
    在JavaScript中,__proto__和prototype是两个与原型链和继承紧密相关的属性。它们各自有不同的用途和行为,但经常一起被讨论,因为它们共同构成了JavaScript中对象继承的基础。1.__proto____proto__是一个对象内部的链接,指向它的原型(即它的构造函数的prototype属性所指向的对......
  • Proj CJI Paper Reading: A False Sense of Safety: Unsafe Information Leakage in '
    Abstract本文:Tasks:DecompositionAttacks:getinformationleakageofLLMMethod:利用LLM(称为ADVLLM)+Fewshotsexample把一个恶意的问题分成许多小的问题,发送给VictimLLMs,再使用ADVLLM把这些问题的回答拼凑出来得到答案拆分原则是最大化与impermissibleinformat......