用ida插件快速审计函数调用

news/2025/9/22 15:25:26/文章来源:https://www.cnblogs.com/mcrock/p/19104230

如果xref窗口会显示调用的伪代码,也许就不会有今天...

前言

我又要在前言絮絮叨叨一下我是为什么要做这个小插件的了...就不看

在审查程序的漏洞的时候,我们可能会重点关注那么几个重点函数的调用:system肯定是重中之重,printf系列也可以注意一下有没有fmt漏洞,还有其他的一些库函数。然而这些检查需要我去看这个函数所有的调用,我希望能够审计函数的调用是否干净,比如system("ls");就没什么值得怀疑的,但是system(v10);我就可以看一下这个v10是一个硬编码的命令,还是一个可以被用户写入的变量;或者检查printf、sprintf里面是否有fmt或者越界。但是似乎没有一个界面或者工具来列举出所有的调用,我们都知道ida可以查询函数的交叉引用,对着一个函数/变量甚至一些常量按x就可以查看它的交叉引用表。但是用过的都知道,这个界面很干净,基本上提供不了什么信息。
image
如果有一个类似xref窗口可以提供反汇编,那该多好啊!

功能介绍

项目链接
按下ctrl+shift+c或是点击Edit->Plugins->Function Call Viewer,打开输入框,输入函数名或地址
image

博客发布后我还会继续改进这个插件,因此本文的一些截图可能与实际略有出入。

然后回车,就可以看到这个函数的所有调用、以及调用者的地址啦!
image
双击你怀疑的调用,就会跳到对应的反汇编,手工确定这些调用是否安全
image
然后你也可以在该窗口内使用ctrl+f进一步的筛选你要搜索的值
image

由于本人技术有限,有一些Todo还未能实现,后续研究明白了我会加入以下功能:伪代码和反汇编窗口的右键菜单添加新的行为,支持在选定函数后右键或者使用快捷键可以直接查找这个函数的调用。以及优化搜索体验,现在的搜索是ida自带的,似乎不支持正则?如果这个地方支持正则匹配我想这样可以进一步优化你的使用体验。如果还有其他改进建议还请留言讨论,有发现bug可以在这里留言也可以在github上提issue给我!

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

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

相关文章

【ACM独立出版|往届已EI、Scopus检索|合作SSCI】第二届数字经济与计算机科学国际学术会议(DECS 2025)

第二届数字经济与计算机科学国际学术会议(DECS 2025)将于2025年10月17日至10月19日在中国武汉召开。本次会议旨在汇聚来自全球的学者、研究人员和业界专家,共同探讨数字经济与计算机科学领域的最新发展与应用。随着…

schematool -initSchema -dbType mysql

hive启动之前一定要用这条命令初始化

叶县红色家园网站建设公众号登陆

文章开始之前,建议安装一个显示网速的插件,不然你不知道到底有没有下载,也让生活有一点盼头 1.因为众所周知的原因(我dang的行为真的是让人失望),先更换一下ruby镜像源 $ gem sources --remove https://rub…

PostgreSQL 全表 count 优化实践:从 SeqScan 痛点分析到 heapam 改进与性能突破

本文整理自 IvorySQL 2025 生态大会暨 PostgreSQL 高峰论坛的演讲分享,演讲嘉宾:权宗亮。本文主要包括以下三部分:SeqScan 现状 heapam 改进 全表计数SeqScan 现状 我们使用了一个稍宽的 SeqScan 表,包含约 10-20 …

微信微网站建设平台wordpress改变友情链接顺序

文学迷 > 玄幻魔法 > 天命神相 > 第一千六百零七章 鸿蒙紫气,成圣之机 (上)第一千六百零七章 鸿蒙紫气,成圣之机功德金身只要达到了八十一重天,大圆满的境界,实力堪混元大罗级别的圣人,这听起来确实是一件吊炸…

逸阳网站建设的目标完整的网站优化放啊

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一. VRRP概述 VRRP---虚拟路由器冗余协议 VRRP(Virtual Router Redundancy Protocol)是一种用于在多个路由器之间创建虚拟路由器的协议。 VRRP使用了一系列协议来实现路…

学习做网站的孛校呼和浩特网站建设费用

更新:使用 滏阳河边捉蚯蚓 https://zhuanlan.zhihu.com/p/41297136上获取系统PDF文件和zotero.sqlite文件的代码,在此感谢!在zotero的library中删除参考文献条目后,有时PDF不会同步删除,尤甚是安装了zotfile插件后&…

登建设厅锁子的是哪个网站sharepoint 网站开发

这里 Allocation failed - JavaScript heap out of memory JavaScript堆内存不足,我们都知道 Node 是基于V8引擎,在一般的后端开发语言中,在基本的内存使用上没有什么限制,但是我去查阅了相关的资料才发现,在 Node 中通…

Lightroom Classic 2025:精细调控,呈现完美画质,专业级数字照片管理与后期处理全解析

Lightroom Classic 2024是一款由Adobe开发的数字照片后期处理软件,它为摄影师和摄影爱好者提供了一个全面、高效的后期处理平台。通过Lightroom Classic 2024,用户可以轻松地对数字照片进行各种调整和修饰,以实现最…

负载分析和排查五

负载分析和排查五明白 ✅ 我不会乱改行、不省略、不简化,而是在你提供的表格基础上补充更详细的内容:包括 问题原因分析 → 判断依据 → perf 排查命令 → 优化方向(C 语言/系统示例)。保证格式对齐,逐行完善。下…

管理网站建设源代码程序做网站用啥软件

题目描述 题目链接:https://leetcode.cn/problems/merge-two-sorted-lists/description/ 思路 两个链表都是升序链表,新建一个链表,引入伪头节点作为辅助节点,将各节点添加到伪节点之后,再用一个cur节点指向新链表的…

langfuse从v2.70.1升级到V3.110(异机升级+数据迁移)

环境:Os:Centos 7langfuse:升级前版本:V2.70.1升级后版本:V3.110 说明:v3部署在新机器,我们需要将v2下的postgresql外挂的数据目录文件拷贝到v3下的外挂数据目录说明:yaml资源清单文件直接下载,尽量不要复制粘贴,避免…

宿州医疗网站建设设计一个学院网站

后面我们写代码时,写完可能会出现没有执行权限什么的,所以我们要知道文件都有哪些权限和类型。 首先 就像我们之前目录结构图里面有个/dev,它就是存放设备文件的,也就是说,哪怕是一个硬件设备,例如打印机啥的&#xf…

20250518_信安一把梭_医院抓取流量

流量分析, 应急响应, 数据统计, 信安一把梭Tags:流量分析, 应急响应, 数据统计, 信安一把梭 0x00. 题目 医院脱库应急处理(医院抓取流量.pcapng)首次发起端口扫描的IP审计流量和日志快速定位扫描次数最多的IP审计流量…

tsx 图论选讲

P6880 [JOI 2020 Final] 奥运公交 / Olympic Bus 题意 给定一个含有 \(N\) 个点,\(M\) 条边的有向图,每条边从 \(U_i\) 指向 \(V_i\),经过这条边的代价为 \(C_i\)。 在最开始时,我们可以翻转至多一条边,即让这条边…

一个网站如何做双语这么做简单的网站

文章目录 一、背景二、Stack 和 Heap2.1 Stack2.2 Heap2.3 性能区别2.4 所有权和堆栈 三、所有权原则3.1 变量作用域3.2 String 类型示例 四、变量绑定背后的数据交互4.1 所有权转移4.1.1 基本类型: 拷贝, 不转移所有权4.1.2 分配在 Heap 的类型: 转移所有权 4.2 Clone(深拷贝)…

福建自适应网站建设专业的网页制作服务好

在下面的文章中,我们将向您展示如何使用Elementor和MemberPress在WordPress中轻松构建会员网站。这篇文章将涵盖WordPress会员网站设置过程、会员资格和受保护内容创建、重要页面和登录表单设计、电子邮件通知管理、报告等。 目录 什么是WordPress会员网站&#x…

网站备案需要具备什么条件模板的网站都有哪些内容

这个项目可以让用户管理学生的信息,包括学生的姓名、年龄、成绩等,并提供添加、编辑、删除、查询等功能。这个项目涉及到数据库操作、用户界面设计、数据验证等方面的技术。 代码示例: import tkinter as tk # 导入 Tkinter 库 import sqli…

平面ui设计网站用vs做网站原型

基于AFM的物质表面微观结构及力学性质表征仿真实验 说明: 本次实验为本科生《基础物理实验》课程中的虚拟实验部分,在虚拟实验平台中进行。 一、实验目的: 1. 掌握AFM的基本成像原理及系统结构; 2. 掌握AFM的基本操作技巧及操…

企业商务网站优化泗阳做网站

1、 //看当前使用的是哪个数据库 ,如果你还没选择任何数据库,结果是NULL。mysql>select database(); ------------ | DATABASE() | ------------ | menagerie | ------------2、//查看有哪些数据库 mysql> show databases;--------------------| Database …