读取GHO文件密码算法

作者: 分类: 代码 时间: 2012-06-01 评论: 17条评论

算法来源于GhoHash,我只是照着写成了C语言的,方便集成到自己的程序中。

废话不多说,下面贴代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


unsigned short table[256];
int FillTable(int a, short b, int c)
{
    int d = a << 8;
    for ( int i = 8; i > 0 ; --i)
    {
        if ( (c ^ d) & 0x8000)
        {
            c = b ^ (2 * c);
        }
        else
        {
            c *= 2;
        }
        d *= 2;
    }
    return c;
}

void decrypt(unsigned char *buf, int len, int key)
{
    for(int i=0;i<len;i++)
    {
        unsigned short temp = table[buf[i] ^ (key>>8) ] ^ (key<<8);
        buf[i] = buf[i] ^ key;
        key = temp;
    }
}
int main(int argc,char *argv[])
{
    if(argc<2)
    {
        printf("使用方法:GetGhoPwd.exe ghost.gho");
    }
    else
    {
        //
        for (int i=0;i<256;i++)
        {
            table[i] = FillTable(i, 4129, 1954);
        }
        
        //
        FILE * fp = fopen(argv[1],"rb");
        if(fp)
        {
            fseek(fp, 11, SEEK_SET);
            char flag = fgetc(fp);
            if(flag)
            {
                unsigned char encrypted1[15];
                unsigned char encrypted2[10];
                fread(encrypted1,1,15,fp);
                fread(encrypted2,1,10,fp);
                
                //
                int key = 0;
                while(1)
                {
                    unsigned char temp[15];
                    memcpy(temp, encrypted1, 15);
                    
                    decrypt(temp, 15, key);
                    
                    if( memcmp(temp,"BinaryResearch",15) ==0 )
                    {
                        break;
                    }
                    
                    key++;
                }
                
                //
                decrypt(encrypted2, 10, key);
                printf("此文件的密码是:%s", encrypted2);
            }
            else
            {
                printf("此文件没有密码保护。");
            }
            fclose(fp);
        }
    }
    getchar();
    return 0;
}
标签: gho密码

已有 17 条评论

  1. haizhijian
    haizhijian

    很喜欢你的东东,支持你

    时间: 2012-06-05 12:14
  2. Humorce
    Humorce

    请问 MouseInc 还有在更新吗?

    时间: 2012-06-06 06:18
  3. suN
    suN

    很好很强大

    时间: 2012-06-06 22:24
  4. youyujingshui
    youyujingshui

    很好很强大

    时间: 2012-06-07 16:10
  5. 水中鱼
    水中鱼

    老乔,先锋最近怎么不更新东东了。

    时间: 2012-06-09 23:05
    1. lcl2008lin
      lcl2008lin

      我是内网老乔的粉丝啊.

      时间: 2015-06-18 15:36
  6. 麻豆
    麻豆

    博主的幽香2很好用,可惜幽香3没显IP了。不过博主能不能推荐个能JSP做网站的服务器呢?我表弟说网上太不好找了

    时间: 2012-06-15 15:06
  7. [混技能]读取GHO文件密码算法[转] | 在路上

    [...]源码出处:读取GHO文件密码算法,感谢耍下无私分享.[...]

    时间: 2012-06-17 09:07
  8. 你好
    你好

    能否转能Delphi版本的代码呢?

    时间: 2013-03-29 14:50

评论已关闭