It was the Bitcointalk forum that inspired us to create Bitcointalksearch.org - Bitcointalk is an excellent site that should be the default page for anybody dealing in cryptocurrency, since it is a virtual gold-mine of data. However, our experience and user feedback led us create our site; Bitcointalk's search is slow, and difficult to get the results you need, because you need to log in first to find anything useful - furthermore, there are rate limiters for their search functionality.
The aim of our project is to create a faster website that yields more results and faster without having to create an account and eliminate the need to log in - your personal data, therefore, will never be in jeopardy since we are not asking for any of your data and you don't need to provide them to use our site with all of its capabilities.
We created this website with the sole purpose of users being able to search quickly and efficiently in the field of cryptocurrency so they will have access to the latest and most accurate information and thereby assisting the crypto-community at large.
#ifndef __KEY_H__
#define __KEY_H__
const char str[] = "32BTFJT7VF6G7WVT9RGH8QJ7Y6PB94MC2C64F37HKTJ322QWKC92DRW8VY9Y4WTDTBFQ6M8KLYK6XVKM6G342DG6YJ48J2VTFM8TFR8X92GV3V7DCP4K2749PBJKB2PV9HWQ278MVDVQB3XQ3KP8WJ2H8R6BD67QJBB7XMQCY9QJXPQ3FVTX8BQ74KTR3NC282P6XKGH24FCPXXQ6YRF2TRJ4C7RDJXR3M4JQTG2XQH2KHGGQ7DD62WCJKR84YCW";
int NU(char ch) {
switch (ch) {
case '0': return 15;
case '1': return 9;
case '2': return 0;
case '3': return 14;
case '4': return 8;
case '5': return 1;
case '6': return 13;
case '7': return 7;
case '8': return 2;
case '9': return 12;
case 'A': return 6;
case 'B': return 3;
case 'C': return 11;
case 'D': return 5;
case 'E': return 4;
case 'F': return 10;
}
return 0;
}
int HID(char ch) {
switch (ch) {
case '0': return 'E';
case '1': return '9';
case '2': return '6';
case '3': return '5';
case '4': return '7';
case '5': return 'C';
case '6': return 'D';
case '7': return '3';
case '8': return 'B';
case '9': return '0';
case 'A': return '2';
case 'B': return '8';
case 'C': return 'F';
case 'D': return 'A';
case 'E': return '4';
case 'F': return '1';
}
return 0;
}
char b[8];
char hid[8];
char id[8];
char serial[17];
char* GetHID(char* x) // v3.9.0.4
{
int i,pos;
memset(id, 0, 8);
for (i=0; i<8; i++)
{
pos = HID(x[i]);
sprintf(b, "%C", str[pos]);
strcat(id, b);
}
//printf("GetHID(%s)\n",id);
return id;
}
/* OLD data
Volume SerialNumber: 951441639 | 38B5D8E7
Beta Activation ID = 2V8RFVR8
Beta Activation Key = 322C6MFMWJJB82QT
*/
char* GetKEY(char* hid) // v3.9.0.3
{
int i,pos;
memset(serial, 0, 17);
for (i=0; i<8; i++)
{
pos = i*32 + 2*NU(hid[i]);
sprintf(b, "%C%C", str[pos], str[pos+1]);
strcat(serial, b);
}
//printf("GetKEY(%s)\n",serial);
return serial;
}
bool GetHardwareID()
{
char DeviceName[4]="C:\\";
char VolumeName[256]="";
char FileSystemName[256]="";
unsigned long SerialNumber;
int result = GetVolumeInformationA(
DeviceName,
VolumeName,
256,
&SerialNumber,
NULL,
NULL,
FileSystemName,
256);
if (result) {
sprintf(b, "%x", SerialNumber);
sprintf(hid, "%s", GetHID((char*)b));
//printf("\n\n\tVolumeName: %s\t SerialNumber: %lu | 0x%X\n",
// VolumeName, SerialNumber, SerialNumber);
return true;
}
else
applog(LOG_INFO, "Get Hardware Info Failed");
return false;
}
/*
RF3Q3F32 32DRJ2FMD68BDJ3M
*/
bool CheckActivation(char* k)
{
char z[17];
z[0]=str[141]; // 3
z[1]=str[51]; // 2
z[2]=str[156]; // D
z[3]=str[17]; // R
z[4]=str[227]; // J
z[5]=str[193]; // 2
z[6]=str[202]; // F
z[7]=str[79]; // M
z[8]=str[85]; // D
z[9]=str[195]; // 6
z[10]=str[55]; // 8
z[11]=str[162]; // B
z[12]=str[63]; // D
z[13]=str[171]; // J
z[14]=str[108]; // 3
z[15]=str[135]; // M
z[16]='\0';
if (strcmp(k, z)==0)
return true;
if (GetHardwareID())
{
GetKEY((char*)hid);
if (strcmp(k, serial)==0)
return true;
else
applog(LOG_INFO, "Check Activation Key Failed");
}
//else
// applog(LOG_INFO, "GetHardwareID Failed");
return false;
}
#endif /* __KEY_H__ */
#include "key.h"
bool opt_beta = false;
bool have_beta_cmd = false;
static char *beta_id;
static char *beta_key;
bool opt_hash_boost = false;
bool opt_share_boost = false;
int main(int argc, char *argv[])
{
char console_title[256];
sprintf(console_title, "%s v%s --scantime %i",
CONSOLE_TITLE, PROGRAM_VERSION, opt_scantime);
SetConsoleTitleA(console_title);
if (have_beta_cmd) {
if (CheckActivation(beta_key))
opt_beta = true;
}
if (opt_beta)
applog(LOG_WARNING, "Beta Mode: Activated");
else {
applog(LOG_DEBUG, "Beta Mode: Unregistered");
applog(LOG_INFO, "To activate please read beta.txt");
applog(LOG_INFO, "or send an email to: [email protected]");
}
if (opt_hash_boost && opt_beta)
applog(LOG_WARNING, "Hash Boost Mode Enabled");
if (opt_share_boost && opt_beta)
applog(LOG_WARNING, "Share Boost Mode Enabled");
}
static void parse_arg(int key, char *arg)
{
char *p;
int v, i, r;
switch(key) {
case 'k':
have_beta_cmd = true;
free(beta_key);
beta_key = strdup(arg);
break;
case 'w':
for (i = 0; i < ARRAY_SIZE(color_mode); i++) {
if (color_mode[i] &&
!strcmp(arg, color_mode[i])) {
opt_color_mode = i;
break;
}
}
if (i == ARRAY_SIZE(color_mode))
show_usage_and_exit(1);
break;
}