ida idc脚本:内存字符串转为地址格式
有时候需要复制内存中的内容当作跳转地址,但是调试器有自己的地址格式,
因此以下ida idc的脚步是将内存格式的字符串转为地址格式:

#include <idc.idc>
// 内存字符串转为地址格式 (小端格式)
static MemStrToAddr(info)
{
Message("memstrInput:%s\n", info);
auto strResult = "";
auto stringarr = object();
auto nSpaceCount = 0;
auto pos=strstr(info," ");
while (pos!=-1)
{
strResult = substr(info,0, pos) + strResult;
auto last=pos;
info=substr(info,last+1,-1);
pos=strstr(info," ");
auto tempstr = info;
nSpaceCount++;
}
if(strlen(info>0))
{
strResult = info + strResult;
}
Message("OutputResult:%s\n", strResult);
Message("OutputResult:0x%s\n", strResult);
}
static main()
{
auto memstr = "38 88 ec f4 92 00 00";
MemStrToAddr(memstr);
memstr = "a2831942318 blog.youkuaiyun.com/ https://";
MemStrToAddr(memstr);
memstr = "Ninja App https://blog.youkuaiyun.com/a2831942318";
MemStrToAddr(memstr);
}
转换前: memstrInput:38 88 ec f4 92 00 00
转换后:
OutputResult:000092f4ec8838
OutputResult:0x000092f4ec8838
本文介绍了一个IDC脚本,用于将内存中的字符串格式转换为调试器所用的地址格式。脚本处理包含空格的内存字符串,并演示了不同输入示例的转换结果。
2017

被折叠的 条评论
为什么被折叠?



