rendered paste body/*
Encryption Algorithm
Coded by a59
5 - 07 - 07
*/
#include <stdio.h>
#include <windows.h>
const char CryptKey[ ] = "ZXhArCvCphRWFuUvvXjQWhyXELbixlPqhxHZjEBoxYjDSMJiKN";
void Encrypt( char* szString )
{
int iLen = strlen( szString );
for( int i = 0; i < iLen; i++ )
{
szString[ i ] ^= ( CryptKey[ iLen - i ] & 0x00A3 );
if( i % 2 == 0 )
{
szString[ i ] ^= ( 0x012C % ( i ^ iLen ) );
szString[ i ] += ( CryptKey[ iLen ] & i );
} else {
szString[ i ] = 0x05 ^ szString[ i ];
}
if( i < 3 )
{
szString[ i ] -= ( iLen | ( i % 5 ) );
szString[ i ] ^= ( i + 1 );
} else {
szString[ i ] = CryptKey[ i % 3 ] ^ szString[ i ];
}
szString[ i ] += 0x05;
printf( "\\x%02X", szString[ i ] );
}
}
void Decrypt( char* szString )
{
int iLen = strlen( szString );
for( int i = 0; i < iLen; i++ )
{
szString[ i ] -= 0x05;
if( i < 3 )
{
szString[ i ] = ( i + 1 ) ^ szString[ i ];
szString[ i ] += ( iLen | ( i % 5 ) );
} else {
szString[ i ] ^= CryptKey[ i % 3 ];
}
if( i % 2 == 0 )
{
szString[ i ] -= ( CryptKey[ iLen ] & i );
szString[ i ] = ( 0x012C % ( i ^ iLen ) ^ szString[ i ] );
} else {
szString[ i ] ^= 0x05;
}
szString[ i ] = ( ( CryptKey[ iLen - i ] & 0x00A3 ) ^ szString[ i ] );
printf( "%c", szString[ i ] );
}
}
int main( int argc, char* argv[ ] )
{
Encrypt( argv[ 1 ] );
return 0;
}