IDC初步学习小小结

由于如汇编代码助记符b       loc_ROM_664C,其中b应该为goto,故以为可以用IDC脚本修改b为goto。原先的思路为通过Findtext函数找到
字符串"b       "的地址,然后将"b       loc_ROM_664C"中的"b       "替换成GOTO。
结果却如下:
#include<idc.idc>
static main()
{
auto addr,data,str,ti;
addr=0;
data=0;
str="b       ";
//addr=FindText(83,SEARCH_DOWN,0,0,str);返回地址
//addr=FindCode(7,SEARCH_DOWN);返回地址
//addr=GetDisasm(7);返回字符串
Message("ad:%d\n",addr);
Message("STTTR:%s\n",addr);
}

以上为三个可用函数,遇到困难为起先搞不清楚FindText中FLAGS的作用,后得知为已经DEFINE的包括SEARCH_DOWN的标志位。

尔后在帮助手册中找不到能修改汇编代码的函数,唯一能用的就是快捷键ALT+F2。

寻求解决问题过程中了解到了sprint函数,以及IDC的一些函数的编写:

IDA 5.5插件开发简明指导(Win32) 

以上,得出的唯一的结论就是,可能IDA为了保证代码的“稳定”,汇编代码可能生成之后就无法修改,修改也只有早SDK开发中的源反汇编算法中修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值