adsubstract pro 2.1注册器(带源码)
/*
ADSubstract v2.10 Keymaker by Egis/CORE
Compile: cl /o2 adsk.c md5dgst.c
*/
#include <stdio.h>
#include <stdlib.h>
#include "md5.h"
typedef unsigned char BYTE;
typedef unsigned int WORD;
typedef unsigned long DWORD;
typedef unsigned _int64 QWORD;
BYTE base[] = { "0123456789abcdefghijklmnopqrstuvwxyz" };
QWORD tobase( BYTE m )
{
BYTE i;
for( i = 0; i < 36; i++ )
if( base[ i ] == m )
return i;
return 0;
}
QWORD t64( BYTE *t )
{
QWORD q;
BYTE p[ 100 ], *b = p;
q = 0;
memset( p, 0, 100 );
strcpy( p, t );
strlwr( p );
while( *b ) {
q *= 32;
q += tobase( *b );
b++;
}
return q;
}
void p64( QWORD key )
{
BYTE s[ 20 ], *p = s, m;
memset( s, 0, 20 );
while( key ) {
*p = base[ key % 32L ];
key /= 32L;
p++;
}
p = s;
while( *p ) {
if( *p == '1' ) *p = 'w';
if( *p == 'b' ) *p = 'x';
if( *p == 'o' ) *p = 'z';
p++;
}
strrev( s );
strupr( s );
printf( s );
}
void main( void )
{
MD5_CTX c;
BYTE md[ MD5_DIGEST_LENGTH ];
int i;
DWORD magic[ 10 ] = { 0x5733a0c3, 0x155cf8be, 0xffc55d8d, 0x11cf424, 0x7117d5b1, 0x4baf5541, 0x83179f31, 0x20f3f593 };
BYTE pad[ 10 ];
QWORD k1, k2;
QWORD k;
char key[ 10 ] = { "EGIS" };
printf( "\n ._______/\\__________/\\_______/\\___________.\n"
" / _____\\_ ___ \\_____ \\ _____/\n"
"/ \\ \\ _\\ / / /__ __\\___\n"
"\\____________/__________\\___\\____ \\________/\n"
"+-ds-----------+ C.O.R.E..2.K +- \\_/ -------+\n\n"
"ADSubstract Pro v2.10 Keymaker by Egis/CORE.\n" );
while( 1 ) {
srand( time( NULL ) );
for( i = 4; i < 8; i++ )
key[ i ] = base[ rand() % 32 ];
k1 = t64( key );
pad[ 0 ] = ( BYTE )( ( k1 & 0xff00 ) >> 8 );
pad[ 1 ] = ( BYTE )( ( k1 & 0xff0000 ) >> 16 );
pad[ 2 ] = ( BYTE )( ( k1 & 0xff000000 ) >> 24 );
pad[ 3 ] = ( BYTE )( ( k1 & 0xff00000000 ) >> 32 );
pad[ 4 ] = ( BYTE )( k1 & 0xff );
if( pad[ 4 ] > 18 )
break;
}
printf( "\nYour registration code: " );
p64( k1 );
MD5_Init( &c );
MD5_Update( &c, ( BYTE* ) magic, 32 );
MD5_Update( &c, pad, 5 );
MD5_Update( &c, ( BYTE* ) magic, 32 );
MD5_Final( md, &c );
k2 = md[ 0 ];
k2 <<= 8;
k2 += md[ 1 ];
k2 <<= 8;
k2 += md[ 2 ];
k2 <<= 8;
k2 += md[ 3 ];
k2 <<= 8;
k2 += md[ 4 ];
p64( k2 );
printf( "\n" );
}
(出处:赢政天下收集整理)
相关文章:
·关于注册Flag在破解中的应用
·从轻松试卷 v4.03 的破解看 r fl z 的妙用
·破解圣经之------滚瓜烂熟篇
·破解API Spy for Windows 95/98/NT/2000
·chm帮助编辑器v2.6 注册码破解详谈之一*脱壳篇*
·破解NetAlert v2 [热点] 指导如何自动脱壳!!
·破解的理由
·对于破解的一些想法
·Audio Converter 3.0 破解要点
·破解 Matcom 4.0 for BC
相关软件:
·美萍安全卫士密码破解器 3.0+
·网文快爪 v1.0 破解版
·坏猫网页编辑 v2.0完整版破解文件
·pakmarker1.0破解版
·IE Plus!破解版
·邮件服务器2.6+破解版
·登录奇兵 3.01破解文件
·易思多媒体网络教室-4用户演示版破解文件
·网络三国智能机器人1.0.0.101版破解
·网络三国智能机器人1.0.0.103版破解
→ 特别推荐
→ 热点TOP10
关于我们 |
帮助(?)
| 广告服务 |
版权声明 |
商业合作 |
发展历程 |
加盟我们 |
联系我们
Copyright © 1999-2003
winzheng.com All Rights Reserved.
繁体版:由华琦数码技术提供
Powered
by:MeSky.Net
当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。