首页
社区
课程
招聘
[求助]16进制查找指定字节位置,请大家帮帮忙
发表于: 2008-9-29 09:35 5803

[求助]16进制查找指定字节位置,请大家帮帮忙

2008-9-29 09:35
5803
 
 
[COLOR="Red"]先祝大家国庆快乐![/COLOR]


 程序设计思路: 实际就是一个文件补丁.

 1.以[COLOR="Red"]二进制方式打开[/COLOR]一个文件后[COLOR="Red"]查找指定的字节数组[/COLOR] 如果找到返回位置 否则返回-1 说明没找到

 2.如果[COLOR="red"]找到指定的字符数组[/COLOR] 则用我们预设好的字符数组[COLOR="red"]替换该字符数组[/COLOR].然后[COLOR="red"]回写到文件[/COLOR].


自己写了一个,但效果不理想.希望大家帮帮忙.在百度 google 没有找到 BYTE替换 相关搜索内容.所以只好硬着头皮来请大哥们帮忙了!~
//pbyte是文件的二进制数据 searchpbyte是要搜索的数据 initdate搜索的起始位置
int search (BYTE *pbyte,BYTE* searchpbyte,int initdate=0)
{
	int n=0;
	for (int i=initdate;i<len;i++)//起始字节位置
	{
		for (int k=0;k<sizeof(searchpbyte);k++)
		{
			if (pbyte[i+k]==searchpbyte[k])
			{
				n++;
				if (n==sizeof(searchpbyte))
				{
					return i;
					break;
				}
			}else
				n=0;
			
		}
	}
	return -1;
}
  但是此子程序传递的BYTE数组中有0x00 就会不行  

感谢大家了!~

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
  • p.jpg (45.42kb,43次下载)
收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
  大家快来帮帮忙啊~~谢谢了
2008-9-29 15:07
0
雪    币: 293
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
sizeof(searchpbyte) 是不是永远等于4啊?
2008-9-29 17:10
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
一语惊醒梦中人~~ 谢谢~~~
2008-9-29 17:23
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
写糊涂了~~  谢谢icersg
2008-9-29 17:46
0
游客
登录 | 注册 方可回帖
返回
//