活到老学到老  

记录遇到问题的点点滴滴。

Php 解密纯真IP数据库自动更新

8年前发布  · 1586 次阅读
  php  qqwry 

纯真数据库自动更新原理

示例代码使用php实现,从copywrite.rar中读取解密需要的一个key,然后解密qqwry.rar头0x200字节数据,随后使用zlib解压数据即可得到qqwry.dat文件

通过此代码的实现,你应该可以自行实现一个纯真数据库更新工具。copywrite.rar中还有一些更多的数据,没有一一列出,比如版本号、qqwry.rar文件大小。

<?php
$copywrite = file_get_contents('http://update.cz88.net/ip/copywrite.rar');
$qqwryFile = file_get_contents('http://update.cz88.net/ip/qqwry.rar');
$key = unpack('V6', $copywrite)[6];

for ($i = 0; $i < 0x200; $i++) {
    $key *= 0x805;
    $key++;
    $key = $key & 0xFF;
    $qqwryFile[$i] = chr(ord($qqwryFile[$i]) ^ $key);
}

$qqwryFile = gzuncompress($qqwryFile);
$fp = fopen("qqwry.dat", "wb");
if ($fp) {
    fwrite($fp, $qqwryFile);
    fclose($fp);
}