LoCi SDK v1.3

作者: 时间: 2014-06-07 评论: 29条评论

基本说明:
LoCi,即LocateIP的简写,是一个用于解析IP归属地数据库的引擎。通过纯C代码写成,一切为了追求效率,非常适合集成到您的程序中。
不同的数据库都抽象为ipdb这个结构。使用ipdb.h中的通用函数进行操作。使用示例可见test.c文件

目前完成的功能:
纯真数据库QQWry.Dat的解析。(默认GB2312编码)
17mon数据库17monipdb.dat的解析。(默认UTF8编码)
解压为txt文件,方便查看数据库所有内容,需要ipdb提供了遍历接口。
txt文件数据库的解析,方便生成自定义数据库。
纯真数据库QQWry.Dat的生成,需要ipdb提供了遍历接口。
数据库增量补丁的生成,需要两个ipdb提供了遍历接口。老数据库+新数据库->增量补丁(一个很小的文件)
数据库增量补丁的应用,需要旧的ipdb提供了遍历、定位接口。老数据库+增量补丁(一个很小的文件)->新数据库
纯真数据库自动更新解析,配合增量补丁,方便打造自己的更新服务器。

阅读全文»

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

作者: 时间: 2014-03-27 评论: 11条评论

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

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

代码地址:https://github.com/shuax/QQWryUpdate

去除WinRAR5.0安全保护

作者: 时间: 2014-03-21 评论: 13条评论

上次写过一个 去除WinRAR锁定校验: https://blog.shuax.com/archives/RemoveWinRARLockCheck.html
这是要连载的节奏么?

----------------------------------------------------
WinRAR 5.0 以上版本解压文件时会给文件附带上一个安全保护。
如果你使用IE下载过可执行文件,你应该懂我的意思。
[[此文件来自其它计算机,可能被阻止以帮助保护该计算机]]

这样的exe打开的时候会提示一个安全警告,非常的烦人。

本程序通过破解 WinRAR.exe 这个主程序来移除WinRAR 5.0的这个特性。
从此解压出来的文件,打开的时候不再烦人。

同时支持32位和64的WinRAR.exe。

下载地址:https://blog.shuax.com/go/winrar/

LuaClip v1.41 剪贴板增强软件

作者: 时间: 2014-01-25 评论: 12条评论

LuaClip是一款window剪贴板增强软件,目前并不成熟还需要您的各种建议

程序启动以后会在任务栏通知区域显示一个图标,点击右键可弹出菜单,点击左键可临时禁用软件

按下ctrl+alt+v可在光标位置弹出快捷粘贴菜单,使用ctrl+1 - ctrl+0 可快速粘贴1-10号剪贴板内容
下载地址:https://blog.shuax.com/go/LuaClip/

一个纯Lua的excel解析库

作者: 时间: 2013-10-20 评论: 2条评论

在游戏开发中需要建立许多数据表,提供给程序读取配置。一般采用excel表的形式,然后通过某种方式转换为程序使用的数据。

我就写了这么一个纯lua的代码来解析这些数据,当然,这里的excel是另存为xml格式的表格,而不是.xls文件,其内容并不会有什么变化。为什么没用csv逗号分隔格式呢,因为xml支持一个文档中包含多个表格,这样才和xls完全一致。

代码完成度不算100%,因为肯定不会符合你的实际使用情况,最后还是需要你自己修改代码。

阅读全文»

超快的通配符搜索

作者: 时间: 2013-06-15 评论: 2条评论

基于BNDM算法,超快速搜索。搜索一个1G大小文件的中央部分数据,仅需400ms左右。

/*
    调用方式

    #include <stdio.h>

    #include "memsearch.h"

    int main()
    {
        char s[] = "01234567890123456789123455678";
        char p[] = "39 ?? ?? 33";
        printf("%d", memsearch(s, strlen(s), p) );         // -> 19
        return 0;
    }


    memsearch 返回值:
    -2 模式串p错误
    -1 没找到结果
    >=0 找到的偏移位置
    
    注意,模式串不能超过32个字节,多余部分会被舍弃
*/

阅读全文»