首页
社区
课程
招聘
[求助]IDA的IDC脚本怎么读写文本文件?
发表于: 2016-8-28 23:50 7233

[求助]IDA的IDC脚本怎么读写文本文件?

2016-8-28 23:50
7233
auto name,TypeName,i,n,type,filehandle;
n = GetMaxLocalType();
filehandle = fopen("C:\Users\Administrator\Desktop\1234\data.dat","wt+");
if (filehandle == 0)
{
	Message("begin write\r",n);
	Message("%x\r",filehandle);
	for(i=1;i<n+1;i=i+1)
	{
		name =GetLocalTypeName(i);
		TypeName = sprintf("%s\r",name);
		writestr(filehandle,TypeName);
	}	
	Message("end write\r",n);
}
else
{
	Message("error\r",n);
}
fclose(filehandle);
Message("GetMaxLocalType :%d\r",n);

这段脚本 编译能通过也能运行 但是死活写不出文件
我是想把LocalType 的数据写到本地
但是每次都不成功
希望熟悉的人帮忙看下

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 4560
活跃值: (1012)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
貌似C语言的字符串里的\应该写为\\吧
2016-8-29 00:27
0
雪    币: 6082
活跃值: (794)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
3
是转义字符的缘故
昨天就找到原因了 这是修改后的
auto name,TypeName,i,n,type,filehandle;
n = GetMaxLocalType();
filehandle = fopen("C:\\data.dat","wt+");
if (filehandle == 0)
{
  Message("error\r",n);
}
else
{

    Message("begin write\r",n);
  Message("%x\r",filehandle);
  for(i=1;i<n+1;i=i+1)
  {
    name =GetLocalTypeName(i);
    if(name =="")
    {
    }
    else
    {
        TypeName = sprintf("%s\r\n",name);
        writestr(filehandle,TypeName);
    }
    
  }  
  Message("end write\r",n);
}
fclose(filehandle);
Message("GetMaxLocalType :%d\r",n);
2016-8-29 19:08
0
游客
登录 | 注册 方可回帖
返回
//