你是不是设置错了? 求助帖价格要 50 鱼币,我买了
但是我不会
帮你找下大神吧@zhangjinxuan @isdkz @额外减小
以下为求助帖内容:
#define PAYLOAD_COUNTER_OFFSET 4
VOID CPayloadGenerator::GenerateIncrementalData(PUCHAR a_pucBuffer, ULONG a_ulBytesToCopy)//从外面输入
{
for (ULONG i=0, j=m_ucPayloadIncrementalLastCharUsed; i<a_ulBytesToCopy; )
{
// Add the header counter for every 512 bytes
if (i%m_ulPayloadHeaderCounterInterval == PAYLOAD_COUNTER_OFFSET &&
a_ulBytesToCopy >= i+m_ulPayloadHeaderCounterSize)
{
AddDataHeader(a_pucBuffer+i);
i+=m_ulPayloadHeaderCounterSize;
}
else
{
// Set the incremented payload character
a_pucBuffer = j%256;
m_ucPayloadIncrementalLastCharUsed = a_pucBuffer;
i++;
j++;
}
}
}
有大佬知道为什么是Add the header counter for every 512 bytes吗 有点看不懂 liuhongrun2022 发表于 2023-2-16 16:29
求助帖价格要 50 鱼币,我买了
但是我不会
帮你找下大神吧@zhangjinxuan @isdkz @额外减小
好的感谢感谢 不清楚你原来的代码是做什么的,这里大概的意思应该是说每512个字节加上一个数据头部,
而且这个头部好像是一个计数器,大概是用来标识是第几段的吧 大家可以去另外一个帖子看,不用购买,他应该是发错了
https://fishc.com.cn/thread-224530-1-1.html 歌者文明清理员 发表于 2023-2-16 17:01
已举报
你领币,人家也是领个币,你举报他干啥 因为1段内存是512B? 学习一下{:10_256:}{:10_256:}{:10_256:} 什么东东 来研究研究 我不会windows 这段代码中的注释 "// Add the header counter for every 512 bytes" 是因为该程序在生成增量数据时,在每隔m_ulPayloadHeaderCounterInterval字节后(即512字节之后)添加一个4字节的计数器来跟踪当前生成的数据量。
这个计数器在 `AddDataHeader` 函数中实现,并将被附加到a_pucBuffer数组的正确位置。具体而言,计数器通过将此函数中的i作为偏移量并使用等于 `PAYLOAD_COUNTER_OFFSET` 的常量进行引用。所以,每输入512字节,该函数会调用一次 `AddDataHeader` ,并在缓冲区中插入一个新的计数器值。
对于此语句 "if (i%m_ulPayloadHeaderCounterInterval == PAYLOAD_COUNTER_OFFSET && a_ulBytesToCopy >= i+m_ulPayloadHeaderCounterSize)" ,表示当处理到512字节数组时,才会在该缓冲区的当前位置附加一个额外的计数器。除非已经接近缓冲区边界或不足以容纳计数器和 extra byte(每个整数是4字节长),否则将尝试将计数器附加到缓冲区。
页:
[1]