Micro Bridge的KeyCode生成程式 (808字)

看雪資料發表於2001-01-13

    Micro Bridge 的免光碟註冊程式
        http://bridgeworld.myetang.com/soft/lang.zip[111K]
        免光碟執行 Micro Bridge 的 Key Code 防護措施相當變態,在移動軟體目錄或重灌該軟體後所申請的(10$)Key Code 失效。

這個程式的KeyCode似乎跟機器無關,我沒有那個軟體,無法知道它是否還檢查了KeyCode的低位。下面的程式生成的KeyCode可以透過它的lang.exe的檢查:

#include <windows.h>
#include <stdio.h>

void main(void)
{
    long KeyCode;
    long Shift[ ] = { 0, 4, 8, 16, 20, 24, 28 };
    long High;
    int  i;

    KeyCode = GetTickCount( ) & 0x03FFFFFFL;
    High = 0;
    for(i = 0; i <= 6; i++)
    {
        High ^= (KeyCode >> Shift[i]) & 0x0F;
    }
    High += 0x10;
    KeyCode |=  (High << 0x1A);
    printf("Your key code is: %lu\n", KeyCode);
}

相關文章