IDA调试小技巧

2023-10-29

MakeNameEX

MakeNameEx(long ea, string name, long flags=SN_CHECK);

ea - linear address
name - new name of address. If name == "", then delete old name
flags - combination of SN_... constants

解释:MakeNameEx(函数地址,“函数名称”,函数flags);
示例:MakeNameEx(0x400104,“CreateThread”,SN_PUBLIC);

IDA官方链接

https://www.hex-rays.com/products/ida/support/idadoc/203.shtml

Rename an address
     ea - linear address
     name - new name of address. If name == "", then delete old name
     flags - combination of SN_... constants
returns: 1-ok, 0-failure

success set_name(long ea, string name, long flags=SN_CHECK);


#define SN_CHECK        0x01    // Fail if the name contains invalid characters
                                // If this bit is clear, all invalid chars
                                // (those !is_ident_char()) will be replaced
                                // by SUBSTCHAR
                                // List of valid characters is defined in ida.cfg
#define SN_NOCHECK      0x00    // Replace invalid chars with SUBSTCHAR
#define SN_PUBLIC       0x02    // if set, make name public
#define SN_NON_PUBLIC   0x04    // if set, make name non-public
#define SN_WEAK         0x08    // if set, make name weak
#define SN_NON_WEAK     0x10    // if set, make name non-weak
#define SN_AUTO         0x20    // if set, make name autogenerated
#define SN_NON_AUTO     0x40    // if set, make name non-autogenerated
#define SN_NOLIST       0x80    // if set, exclude name from the list
                                // if not set, then include the name into
                                // the list (however, if other bits are set,
                                // the name might be immediately excluded
                                // from the list)
#define SN_NOWARN       0x100   // don't display a warning if failed
#define SN_LOCAL        0x200   // create local name. a function should exist.
                                // local names can't be public or weak.
                                // also they are not included into the list of names
                                // they can't have dummy prefixes
#define SN_IDBENC       0x400   // the name is given in the IDB encoding;
                                // non-ASCII bytes will be decoded accordingly.
                                // Specifying SN_IDBENC also implies SN_NODUMMY
#define SN_FORCE        0x800   // if the specified name is already present
                                // in the database, try variations with a
                                // numerical suffix like "_123"
#define SN_NODUMMY      0x1000  // automatically prepend the name with '_' if it
                                // begins with a dummy suffix such as 'sub_'.
                                // See also SN_IDBENC
#define SN_DELTAIL      0x2000  // if name cannot be set because of a tail byte,
                                // delete the hindering item

实际运用

场景:样本通过Call+函数地址的方式调用函数,函数地址在IDA文件里面显示为数字,如:
在这里插入图片描述
函数地址大多通过Loadlibrary+GetProAddress动态获取
调用时,显示为:
在这里插入图片描述
通过脚本设置
在这里插入图片描述
在这里插入图片描述
设置后
在这里插入图片描述
前后对比
在这里插入图片描述
脚本中的函数地址通过IAT获取,请务必搞清楚地址,和地址内的值,以及函数之间的关系(也就是IAT是啥)
在这里插入图片描述
复制数据后,保留地址和函数名,最后处理(比如用Excel表格)成MakeNameEx(0x72941254,"CloseHandle",SN_PUBLIC)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IDA调试小技巧 的相关文章

  • ubantu环境下IDA pro运行时碰到某些so找不到的问题

    最近帮组员解决IDA的问题 做个记录 问题 执行启动idea时出现报错 IDA Pro idaq64 报错如下 idaq64 error while loading shared libraries libgthread 2 0 so 0
  • 滑动关机BAT脚本

    滑动关机脚本 1 脚本功能 增加一个一键关机的功能 点击这个按钮 即可滑动关闭电脑 非常酷炫好用 2 脚本内容 slidetoshutdown 3 使用方式 新建slideDown bat文件 编辑 把上面的脚本内容粘贴进去 然后双击执行s
  • 你参与的APP开发项目安全吗?

    Android将安全设计贯穿系统架构的各个层面 覆盖系统内核 虚拟机 应用程序框架层以及应用层各个环节 力求在开放的同时 也恰当保护用户的数据 应用程序和设备的安全 Android安全模型主要提供以下几种安全机制 进程沙箱隔离机制 应用程序
  • 开发项目curl发起https请求,cURL error 60: SSL certificate problem: unable to get local issuer cert提示找不到本地证书错误

    个人开发的时候 在新建的环境 使用curl发起https请求 基本都是错误 需要专门配置 配置完成之后 经常会跟随一个小问题 cURL error 60 SSL certificate problem unable to get local
  • syntax error near unexpected token `newline'脚本无法执行

    问题描述 执行run sh脚本是报错 报错信息如下 data app information provider No such file or directory command not found run sh line 4 syntax
  • Python脚本05 —— 从七牛服务器下载图片

    coding utf 8 从测试七牛服务器下载图片 import sys import urllib urllib2 import os from qiniu import Auth from qiniu import BucketMana
  • Python爬虫之Js逆向案例(3)-X品牌手机社区

    声明 XX手机社区加密逆向分析仅用于研究和学习 这篇文章的学习内容是以XX手机社区为案例 对JS逆向的整个过程进行详细分析 下面会进行以下几步进行分析 下方演示过程全部使用chrome浏览器 锁定关键接口 锁定关键字段 破解关键字段 pyt
  • 利用WMI打造完美三无后门(scrcons.exe)

    Welcome 各位ScriptKid 欢迎来到脚本世界 今天忙了一天 比较累 不废话那么多了 切入正题 这个 三无 后门的核心就是WMI中的永久事件消费者ActiveScriptEventConsumer 以下简称ASEC WMI中有许多
  • IDA反编译的几个注意和技巧

    IDA逆向程序的经验总结 关于一些类型转换以及指针和地址的总结 关于F5汇编代码不能转成c的伪代码的几个问题总结 1 jmpout的问题 2 positive sp value has been found 的问题 3 call analy
  • IDA中的_OWORD

    IDA中的 OWORD 一个有意思的巧合 OWORD的含义 总结 阅读之前注意 本文阅读建议用时 5min 本文阅读结构如下表 项目 下属项目 测试用例数量 一个有意思的巧合 无 0 OWORD的含义 无 1 总结 无 0 一个有意思的巧合
  • Python版SSH远程服务器使用Paramiko和scp库

    作为开发人员 配置或调试VPS通常是无法解决的 而且并不是特别有意义 充其量 您的应用程序可能最终将以与本地环境相同的方式运行 我们如何才能使这一不可避免的工作变得更好 好吧 我们可以使其自动化 设置SSH密钥 要验证SSH连接 我们需要设
  • 逆向面试常见问题(陆续更新ing)

    资料大部分收集于网络 点击对应标题有原帖地址 PE 怎么判断PE是DLL 还是EXE 文件值属性 加载基址 怎么判断PE文件是32位还是64位 PE加载过程 基础 Windows下的调用约定 通用寄存器有哪些 段存器 怎么找到函数地址 调试
  • linux 常用系统命令

    1 调出登录主机列表 sshgo 2 查找服务器 server name 3 切换 deploy 用户 sudo su deploy 4 上传本地文件 rz be 5 下载文件 sz filename 6 crontab CentOS 6
  • 抢小米手机K40脚本

    声明 基于 puppeteer js 仅辅助更快操作浏览器 本脚本仅供米粉购买小米系列产品 请勿充当黄牛 代码地址 https github com shunyue1320 buy xiaomi
  • Unity手游资源修改流程

    最近接到一个Android手游汉化需求 研究了一下 特此记录 开发环境 AssetStudioGUI 该软件可解析 定位压缩后的Unity 资源 下载 https github com Perfare AssetStudio AssetBu
  • Dex文件加载以及类加载流程

    Dex文件加载以及类加载流程 安卓源码连接 http androidxref com 4 4 4 r1 app在启动的过程中创建了PathClassLoader加载dex文件 那么我们跟进PathClassLoader libcore da
  • Windows脚本对最后修改时间超过24小时的文件进行处理

    这次我接到一个任务 是写一个windows上运行的脚本 讲某个文件夹下最后修改时间超过24小时的文件移到另一个文件夹 然后在判断有生成的文件超过十分钟的关闭一个程序再启动它 上网搜了一下 有很多相关的 比如说把最后修改时间的文件超过一天的删
  • abc300.com站点被注入脚本

    在进行abc300 com的页面SEO时发现 所有页面受到注入攻击 全部asp页最后被添加一页 弄了1个多小时 大部份页面被清除 目前已经获得www hulijie com的ftp 222 33 63 206 用户名admin 密码尚需分析
  • cookie格式化

    字符串转成字典 使用场景 selenium尝试试用cookie登陆时 Network中cookie是一段字符串 需要转成字典使用 使用split和列表解析式 str thor 8954F43 Id d32def3ffSNw pn adsad
  • 将指定文件夹中的图片文件复制到另一个文件夹,并按照自然数递增的命名规则重命名的程序

    文件目录结构 C data photos 1 2 3 4 5 6 7 8 photos new 1 2 3 4 5 6 7

随机推荐

  • 微信小程序 app.json 里 “style“: “v2“ 的作用

    新版微信小程序的 app json 文件中多了一个 style v2 pages pages index index pages logs logs window backgroundTextStyle light navigationBa
  • 概率论与数理统计学习笔记

    第一章 随机事件与概率 第二章 随机变量及其分布 第三章 多维随机变量及其分布 第四章 大数定律与中心极限定理 第五章 统计量及其分布 第六章 参数估计 第七章 假设检验 第八章 方差分析与回归分析 第一章 随机事件与概率 1 1随机事件及
  • 单机版K8S安装及部署

    虚拟机iso下载 安装完虚拟机后 一 更新yum云 安装wget yum install wget wget version 查看wget版本 配置yum云 ll etc yum repos d 查看yum目录 cp CentOS Base
  • 我的周刊(第078期)

    我的信息周刊 记录这周我看到的有价值的信息 主要针对计算机领域 内容主题极大程度被我个人喜好主导 这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享 项目 awesome chatgpt prompts zh 1 ChatGPT
  • 自制简单U盘引导程序

    操作系统实验导航 实验一 银行家算法 https blog csdn net weixin 46291251 article details 115384510 实验二 多级队列调度和多级反馈队列调度算法 https blog csdn n
  • 最新盘点!上海值得加入的互联网公司有哪些?(文末附招聘岗位)

    暑假结束了 除了迎来了青春热烈的开学季以外 也带来了打工人备受期待的金九银十秋招季 我们在找工作时 每个人都期待能遇到一个 神仙公司 譬如丰厚的薪水 优越的晋升通道 融洽的同事关系 良好的work life balance以及自由宽松的工作
  • 计算机中常见英文术语对照表

    win Windows 操作系统 mac macOS 操作系统 英文 English 中文一 港台地区 中文二 Abstract 摘要 抽象的 摘要 抽象的 Abstraction 抽象 抽象 Access 存取 访问 Accessibil
  • Brup suite使用指南之正确安装

    这篇文章整理自 https blog csdn net LUOBIKUN article details 87457545 安装完成之后配置代理 下载地址 来自大佬的分享 提取码为 w5lg 安装教程 配置Java环境 下载好上面的分享之后
  • 刚开工,就用Python兼职赚了2800!

    前言 今天是节后开工第3天 有 节后综合症 的朋友们感觉好点了吗 lt gt 每年春节后 都会迎来Python兼职接单的高潮期 近段时间各行业对爬虫类和数分类的需求量在暴增 且很多朋友过完年也需要接单 回血 往年春节开工后 两天接单赚上万的
  • 在win10上安装go语言环境

    1 下载go环境安装包 由于官方的安装包可能很多人没办法下载到 但是可以在https golang google cn dl 下载 2 选择windows64位版下载 3 安装go 一直next 可以改文件路径 4 设置开发环境变量 右键此
  • 绝对布局优势_小米价值回归,IoT领域的规模优势和持续投入是关键

    进入2020年 手机行业特别是国内市场的竞争已经接近尾声 作为稳居全球出货量第四的小米而言 国内市场的表现并不令人满意 不过 从去年10月份开始 小米公司的股价却一直呈现出不错的上涨势头 消费者和市场逐渐认可了小米的价值 并且这种认可的趋势
  • leetcode150–逆波兰表达式求值(栈/后缀表达式)

    根据 逆波兰表示法 求表达式的值 有效的算符包括 每个运算对象可以是整数 也可以是另一个逆波兰表达式 说明 整数除法只保留整数部分 给定逆波兰表达式总是有效的 换句话说 表达式总会得出有效数值且不存在除数为 0 的情况 示例 输入 toke
  • 解决执行shell命令时出现argument list too long错误的问题

    如果执行shell命令时出现argument list too long的错误 其原因是需要操作的目标文件过多 比如超过2万个文件 解决方式就是分批甚至逐个处理目标文件 1 grep命令 命令行执行 grep Java l 如果返回 zsh
  • 三角形

    Description 一天mingming问了Flying一个数学问题 给出一个整数 存在多少个直角三角 它的某一条边等于这个整数 而且其它边也是整数 Flying是做ACM的 他就写了个程序解决了这个问题 你也能写个程序解决吗 Inpu
  • 调试设置断点出现:当前不会命中断点还未为文档加载任何符号

    第一种情况 大多数 检查VS的调试模式 VS的调试分为两种 Debug和Release Debug是专门真对检查程序的bug而设置的一种模式 Release模式对程序的编译进行了优化 一般用于程序发布 首先确保是在Debug模式下设置的断点
  • win10安装hdf5,C++读写h5文件测试(一)

    前言 在TensorFlow训练好的数据模型 需要放到C 中使用 也就是将 h5文件中的数据拿出来 读入内存 然后读入图片 用模型数据去预测图像 得出结果 下面按照需求 如何去读取 h5 的数据 进行操作 下载 选择 HDF5 1 8 18
  • 一分钟解决Android调用系统分享给微信,出现分享失败,分享多文件必须为图片格式

    解决Android调用系统分享图片给微信 出现分享失败 分享多文件必须为图片格式 近期应公司需求 分享多图片到微信的功能 之前一直是用微信自己家SDK实现分享 但是查看微信的原生SDK是不具备多图分享的 在网上查找解决办法 直接调用手机系统
  • 提示ModuleNotFoundError: No module named ‘flask‘

    如果你运行 Python 代码时出现了 ModuleNotFoundError No module named flask 的错误提示 这意味着 Python 解释器无法找到 Flask 模块 通常 这个错误是由以下几个原因造成的 Flas
  • 网易云音乐UI界面

    网易云音乐UI界面 接着上期的网易云音乐搜索和下载 现在再添加一个功能 用pyqt5制作一个UI界面 效果展示 主窗口中有个控件 行编辑输入框 搜索按钮 表格 代码 class MyQLabel QLabel 自定义标签 自定义信号 cli
  • IDA调试小技巧

    IDA脚本 MakeNameEX IDA官方链接 实际运用 MakeNameEX MakeNameEx long ea string name long flags SN CHECK ea linear address name new n