标 题: 【下载】分享一个ida脚本,非常方便
作 者:
梁萧
时 间:
2013-09-05,13:32:14
链 接:
http://bbs.pediy.com/showthread.php?t=178365

平日分些一个函数的功能时,为了弄清楚该函数的功能,总是必须先行分析该函数调用的那些子函数的功能,跳转到子函数去分析时,又要先行分析
该子函数调用的那些子函数,如此循环下去,不胜其烦。于是通常的办法都是从该函数的调用树最底层的函数(我称为叶节点函数)开始,一层一层往上分析。
然而找到该函数最终调用的那些叶节点函数又不方便,IDA倒是自带提供了一个交叉引用外部图形工具,可将一个函数的调用树直接画出来,然而画出来的图形
一团糟,很不清晰,所以我想到了用脚本代替,一次性直接找到那些叶节点函数

另一个需求是:一旦找到了那些叶节点函数,比如找到一个叶节点函数sub_44444,该函数除了调用一些知名的库函数外,不再调用其他函数。我习惯将所有找到
的分析完毕的所有叶节点函数更名为xy前缀形式的函数名,这样,下次再重复寻早那个高层函数的所有叶节点函数,这些所有已更名为xy前缀的原叶节点函数
就不再是叶节点了。

脚本使用方法:
将附件中的ida.idc文件放在ida安装目录下的idc目录中,替换即可(你自己先备份一下原来的ida.idc吧),然后启动IDA,将光标放在一个函数内部,按下Shift
+Alt+L快捷键,就可以一次性列举出该函数调用的所有叶节点函数了,当你逐个分析完那些叶节点函数后,更名为xy前缀,然后回到原高层函数内部,再次按快捷键
Shift+Alt+L,这个时候列举出的叶节点函数就是先前那些叶节点函数的上层函数了,如此循环,各个击破,嘿嘿

另外附带的一个功能是:像VC一样,按 Ctrl+[ 快捷键可以一下子跳转到函数开头处,Ctrl+] 快捷键可以一下子跳转到函数结尾处

http://files.cnblogs.com/FCoding/ida%E8%84%9A%E6%9C%AC.rar

【下载】分享一个ida脚本,非常方便的更多相关文章

  1. 分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)

    分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间) 很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tab ...

  2. (转)分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)

    分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间) 很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tab ...

  3. 分享一个SQLSERVER脚本

    原文:分享一个SQLSERVER脚本 分享一个SQLSERVER脚本 很多时候我们都需要计算数据库中各个表的数据量很每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tablespac ...

  4. 向大家分享一个shell脚本的坑

    打算在跳板机上写一个shell脚本,批量检查远程服务器上的main进程是否在健康运行中. 先找出其中一台远程机器,查看main进程运行情况 [root@two002 tmp]# ps -ef|grep ...

  5. 分享一个shell脚本的坑:grep匹配+wc取值 在脚本执行后的结果与手动执行结果不一致

    打算在跳板机上写一个shell脚本,批量检查远程服务器上的main进程是否在健康运行中. 先找出其中一台远程机器,查看main进程运行情况 [root@two002 tmp]# ps -ef|grep ...

  6. 分享一个Python脚本--统计redis key类型数据大小分布

    概述 今天主要介绍怎么统计redis key类型数据大小分布. 原理:使用redis命令: scan.pipline.type 和 debug object 来得到 redis key 信息. 脚本 ...

  7. [2015-11-23]分享一个批处理脚本,创建iis站点及程序池

    建站批处理 batch_createSites.bat @echo off rem 以管理员身份执行本脚本,可添加多条call 以建立多个站点 call path\to\createSites.bat ...

  8. 分享一个刷网页PV的python小脚本

    下面分享一个小脚本,用来刷网页PV. [root@huanqiu ~]# cat www.py #!/usr/bin/python# coding: UTF-8import webbrowser as ...

  9. 分享一个MySQL分库分表备份脚本(原)

    分享一个MySQL分库备份脚本(原) 开发思路: 1.路径:规定备份到什么位置,把路径(先判断是否存在,不存在创建一个目录)先定义好,我的路径:/mysql/backup,每个备份用压缩提升效率,带上 ...

随机推荐

  1. C++ —— 重载、覆盖和隐藏

    一.重载 发生在同一个类当中,当在同一类当中定义了方法A,然后又定义了方法B,B和A的方法名相同,但是参数不同,那么再是称B重载了方法A. class test{ public: void A(); ...

  2. Jersey RESTful WebService框架学习(八)maven搭建

    一.pom文件: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www. ...

  3. 【慕课网实战】Spark Streaming实时流处理项目实战笔记十二之铭文升级版

    铭文一级: ======Pull方式整合 Flume Agent的编写: flume_pull_streaming.conf simple-agent.sources = netcat-sources ...

  4. 关于TM影像各波段组合的简介

    321:真彩色合成,即3.2.1波段分别赋予红.绿.蓝色,则获得自然彩色合成图像,图像的色彩与原地区或景物的实际色彩一致,适合于非遥感应用专业人员使用. 432:标准假彩色合成,即4.3.2波段分别赋 ...

  5. web百度地图跨域问题

    //根据经纬度获取地理位置信息function latOrLng(sLat, sLng) { var resUrl = 'http://api.map.baidu.com/geocoder/v2/?a ...

  6. java基础-day24

    第01天 java基础加强 今日内容介绍 u Junit单元测试及反射概述 u 反射操作构造方法.成员方法.成员属性 u properties的基本操作 u 综合案例 第1章   Junit单元测试及 ...

  7. noip第25课作业

    1.   求一个有向图所有顶点入度的和 输入有向图的顶点个数,边数以及各顶点之间的关联情况,要求求出这个有向图的所有顶点入度的总和. [输入格式] 第1行:2个空格分开的整数n(2<=n< ...

  8. bzoj 2440 完全平方数 【莫比乌斯函数】

    题目 题意:第Ki 个不是完全平方数的正整数倍的数. 对于一个数t,t以内的数里的非完全平方数倍数的个数:num=1的倍数的数量−一个质数平方数(9,25,49...)的倍数的数量+两个质数的积平方数 ...

  9. Linux Shell学习笔记:exit退出状态代码

    inux提供$?特殊变量来保存最后一条命令执行结束的退出状态.执行完一条命令后,立即执行echo$?,可以查看最后一条命令的退出状态值. 正常的情况下,命令成功执行完成的退出状态是0,如果非0,则命令 ...

  10. day01_雷神_Python入门

    day01 1.编程语言 主流的像C.java.python.php.C#.等,可以从不同维度分类如下: 机器码和字节码 机器码: C 字节码: 其他 note: 机器码是电脑的CPU可直接解读的数据 ...