IDA IDC Tutorials: Additional Auto-Commenting
https://www.hex-rays.com/products/ida/support/tutorials/idc/autocomment.shtml
This program creates a segment at paragraph 0x40 and comments the BIOS data area. You should load and execute this file to see the names of BIOS data area variables.
//-------------------------------------------------------------------------
static CW(off,name,cmt) {
auto x;
x = [ 0x40, off ];
MakeWord(x);
MakeName(x,name);
MakeRptCmt(x,cmt);
} //-------------------------------------------------------------------------
static CD(off,name,cmt) {
auto x;
x = [ 0x40, off ];
MakeDword(x);
MakeName(x,name);
MakeRptCmt(x,cmt);
} //-------------------------------------------------------------------------
static CB(off,name,cmt) {
auto x;
x = [ 0x40, off ];
MakeByte(x);
MakeName(x,name);
MakeRptCmt(x,cmt);
} //-------------------------------------------------------------------------
static CmtBdata() {
CW(0x000,"com_port_1","Base I/O address of 1st serial I/O port");
CW(0x002,"com_port_2","Base I/O address of 2nd serial I/O port");
CW(0x004,"com_port_3","Base I/O address of 3rd serial I/O port");
CW(0x006,"com_port_4","Base I/O address of 4th serial I/O port"); CW(0x008,"prn_port_1","Base I/O address of 1st parallel I/O port");
CW(0x00A,"prn_port_2","Base I/O address of 2nd parallel I/O port");
CW(0x00C,"prn_port_3","Base I/O address of 3rd parallel I/O port");
CW(0x00E,"prn_port_4","Base I/O address of 4th parallel I/O port");
MakeArray([0x40,0x01E ], );
CB(0x03E,"dsk_recal_stat", "Recalibrate floppy drive bits\n"
" 3 2 1 0\n"
"drive-3 drive-2 drive-1 drive-0\n"
"\n"
"bit 7 = interrupt flag");
CW(0x0CE,"days_since1_80", "Days since 1-Jan-1980 counter");
MakeArray(0x4AC,0xCE-0xAC);
} //-------------------------------------------------------------------------
static main() {
if ( !SegCreate(0x400,0x4D0,0x40,,,) ) {
Warning("Can't create BIOS data segment.");
return;
}
SegRename(0x400,"bdata");
SegClass(0x400,"BIOSDATA");
CmtBdata();
}
#include <idc.idc> //-------------------------------------------------------------------------
static CW(off,name,cmt) {
auto x;
x = 0x400 + off;
MakeWord(x);
MakeName(x,name);
MakeRptCmt(x,cmt);
} //-------------------------------------------------------------------------
static CD(off,name,cmt) {
auto x;
x = 0x400 + off;
MakeDword(x);
MakeName(x,name);
MakeRptCmt(x,cmt);
} //-------------------------------------------------------------------------
static CB(off,name,cmt) {
auto x;
x = 0x400 + off;
MakeByte(x);
MakeName(x,name);
MakeRptCmt(x,cmt);
}
IDA IDC Tutorials: Additional Auto-Commenting的更多相关文章
- IDA Script: Remove empty auto labels
http://simeonpilgrim.com/blog/2010/03/25/ida-script-remove-empty-auto-labels/ #include <idc.idc&g ...
- ida idc函数列表全集
下面是函数描述信息中的约定: 'ea' 线性地址 'success' 0表示函数失败:反之为1 'void'表示函数返回的是没有意义的值(总是0) AddBptEx AddBpt AddCodeXre ...
- IDA断点和搜索
一.断点 调试很重要一点是下断点,看看IDA提供的功能,本来已经和WinDbg一样强了. 官方文档的变化 Edit breakpoint Action name: BreakpointEdit Con ...
- 【下载】分享一个ida脚本,非常方便
标 题: [下载]分享一个ida脚本,非常方便作 者: 梁萧时 间: 2013-09-05,13:32:14链 接: http://bbs.pediy.com/showthread.php?t=178 ...
- ida+windbg调试windows
jpg 改 pdf https://www.hex-rays.com/products/ida/support/tutorials/debugging_windbg.pdf
- 倚天屠龙(一):妙用IDA Pro--利用IDAPython编写调试插件
一:前言 虽然静态分析有Radare2,Hopper这种新星之秀,动态调试有Ollydbg,Windbg这种老牌霸主,但是IDA Pro仍然是大部分二进制安全工程师最喜爱的工具,除了价格过于昂贵,基本 ...
- 分析恶意驱动(进程启动apc注入dll)
一.前言 用IDA也有好些时间了,以前就只会用F5功能玩无壳无保护的裸驱动,感觉太坑了,这两天就开始看网上大牛的逆向. 今天记录一下sudami曾经逆向过的fuck.sys.第一遍自己走的时候漏掉了 ...
- IDA-IDC脚本编写语法
1.IDA脚本编写基础 IDC是IDA内置的脚本语言,其语法与C非常相似,它是一种解释性语言. 执行方法 在IDA中按SHIFT+F2键会弹出一个对话框,把语句直接写在对话框中,点击run就可被运行. ...
- [GWCTF 2019]re3 wp
[GWCTF 2019]re3 关键点:AES MD5 动态调试 smc自解密 gdb使用 跟进main函数 发现一个典型smc异或自解密 可以用idc脚本 或者python patch 或者动态调试 ...
随机推荐
- java实现ftp文件上传下载,解决慢,中文乱码,多个文件下载等问题
//文件上传 public static boolean uploadToFTP(String url,int port,String username,String password,String ...
- mysql视图学习总结(转)
一.使用视图的理由是什么?1.安全性.一般是这样做的:创建一个视图,定义好该视图所操作的数据.之后将用户权限与视图绑定.这样的方式是使用到 了一个特性:grant语句可以针对视图进行授予权限.2.查询 ...
- beego学习笔记(3)
相对复杂一点的示例: package main import "github.com/astaxie/beego" type MainController struct{ beeg ...
- CAS单点登陆的两个原理图
最近学习CAS单点登录,所以在网上找了两张比较清晰的原理图以供参考: [CAS浏览器请求认证序列图] 其中:* ST:Service Ticket,用于客户端应用持有,每个ST对应一个用户在一个客户 ...
- Hadoop HDFS 单节点部署方案
初学者,再次记录一下. 确保Java 和 Hadoop已安装完毕(每个人的不一定一样,但肯定都有数据,仅供参考) [root@jans hadoop-2.9.0]# pwd /usr/local/ha ...
- day4 作业计算器
作业:计算器开发 (1)实现加减乘除及拓号优先级解析: (2)用户输入 1 - 2 * ( (60-30 +(-40/5) * (-9-2*5/-3 + 7 /3*99/4*2998 +10 * 56 ...
- 趣味js【练习题】
1.无限极函数递归,使每次的参数相乘 需求:add(1)(2)(3)(4)(5) 1.1首先要知道一个东西,就是function每次调用,都会默认执行tosting 1.2利用递归,每次返回的都是函数 ...
- js求区间随机数
function rnd(n, m){ var random = Math.round(Math.random()*(m-n)+n); return random; }
- 【笔试题】怎样将 GB2312 编码的字符串转换为 ISO-8859-1 编码的字符串?
笔试题 怎样将 GB2312 编码的字符串转换为 ISO-8859-1 编码的字符串? import java.io.UnsupportedEncodingException; public clas ...
- Echarts怎么用后台传来的json数据
Echarts怎么用后台传来的json数据 <!DOCTYPE html> <html> <head> <meta http-equiv="Cont ...