Return to site

Nhk 2038 Bcas Rar

broken image


  1. Nhk 2038 Bcas Rar 2017
  2. Nhk 2038 Bcas Rar Download
  3. Nhk 2038 Bcas Rar Free
  4. Nhk 2038 Bcas Rar File
  5. Nhk 2038 Bcas Rar Software

に CardTool.exeとCardToolNHK.exeがありますので、これを使えばコンパイルの必要あり. GitHub is home to over 20. Native instruments battery 4 serial number. WinMX Newsgroup FAQ - 2038.net. B-CAS改造方法 童貞の. Nhk 2038 bcas rar - newsfinda. Permalink Join GitHub today. Manual for sentry safe s3877 default code. Mar 25, 2019 Nhk 2038 Bcas Rar. 3/25/2019 0 Comments Nhk 2038 Bcas Rares; Nhk 2038 Bcas Rar Files.zip; Nhk 2038 Bcas Rarity; Nhk 2038 Bcas Rares.

De9 Closer To The Edit Rar Kakaotalk Free Stickers Fl 12 Regkey File Night At The Museum Secret Of The Tomb (2014) Dual Audio Autocad 3D Blocks Free Download Dwg Nhk 2038 Bcas Rar Download Sound Roland Vsc 88 Descargar Firmware Para Samsung Galaxy S3 Mini Gt-i8190l. Nhk 2038 Bcas Rar Download Rating: 9,1/10 9305reviews CardTool is a tiny and portable application that you can use to check the validity of credit card numbers. It comes in handy if you have lost your credit card and want to verify if the account is still active, to make sure looking for it is worth your while.

Permalink

Join GitHub today

Version: 2.19; File size: 4.27MB; Date added: May 21, 2016; Price: Free; Operating system: Windows NT/98/Me/2000/XP/2003/Vista/Server 2008/7/. Murlan card games.

GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together. Best rpg games for mac download.

Sign up

Nhk 2038 Bcas Rar

Nhk 2038 Bcas Rar 2017

Branch:master
Cannot retrieve contributors at this time
Bcas
#include<Windows.h>
#include<stdio.h>
#include<conio.h>
#include'Global.h'
#include'Generator.h'
#include'Decoder.h'
#include'Keyset.h'
#include'Keys.h'
#include'Crypto.h'
#include'Manager.h'
staticint DateState;
staticconstchar * const ExpiryDate[7] = {
'+7 days',
'+15 days',
'+30 days',
'+90 days',
'+180 days',
'+365 days',
'2038',
};
static u8 CardType;
static u16 ConvertDateToMJD(u16 Year, u8 Month, u8 Day)
{
u32 l = 0;
u32 md, yd;
if ((Month 1) (Month 2))
l = 1;
md = (u32)(((double)Month + 1 + l * 12) * 30.6001);
yd = (u32)(((double)(Year - 1900) - l) * 365.25);
return (14956 + Day + md + yd);
}
staticvoidConvertMJDToDate(u16 MJD, SYSTEMTIME *Time)
{
u32 y1 = static_cast((static_cast<double>(MJD) - 15078.2) / 365.25);
u32 y1r = static_cast(365.25 * static_cast<double>(y1));
u32 m1 = static_cast((static_cast<double>(MJD) - 14956.1 - y1r) / 30.6001);
u32 m1r = static_cast(30.6001 * static_cast<double>(m1));
Time->wYear = y1 + 1900;
Time->wMonth = m1 - 1;
Time->wDay = MJD - 14956 - y1r - m1r;
if ((m1 14) (m1 15)) {
Time->wMonth -= 12;
++Time->wYear;
}
}
staticvoidPrintMenu(void)
{
printf('%s%sF4 Expiry in %sn', CardType != kType_C ? 'F1 Dump card ' : '', CardType <= kType_B ? 'F2 Print tiers F3 Print email ' : '', ExpiryDate[DateState]);
printf('n');
printf(' W S N A n');
printf(' O H E - H l n');
printf(' W V 2 T K l n');
printf('-------------*---*---*---*---*---*---*n');
if (CardType != kType_C) {
printf('Update 1 2 3 4 5 n');
printf('Invalidate q w e r t n');
printf('Delete email a s d f g h n');
}
printf('Activate z x c v b n');
printf('n');
}
intmain(int argc, char *argv[])
{
int Index = 0;
int Arg = 1;
char *VirtualCard = NULL;
BCAS::Manager::Abstract *Card;
argc--;
while (argc > 0) {
if (strcmp(argv[Arg], '-virtual') 0) {
if (argc 1) {
printf('Missing file parameter.n');
return1;
}
VirtualCard = _strdup(argv[++Arg]);
argc--;
} elseif (strcmp(argv[Arg], '-reader') 0) {
if (argc 1) {
printf('Missing file parameter.n');
return1;
}
Index = atoi(argv[++Arg]);
argc--;
} elseif (strcmp(argv[Arg], '-list') 0) {
Index = -1;
} else {
printf('Invalid parameter: %sn', argv[Arg]);
return1;
}
Arg++;
argc--;
}
if (VirtualCard NULL) {
SCARDCONTEXT Ctx;
LONG Result;
char *Reader = NULL;
Result = SCardEstablishContext(SCARD_SCOPE_USER, NULL, NULL, &Ctx);
if (Result != SCARD_S_SUCCESS) {
printf('Failed to establish context, error: %08xn', Result);
return1;
}
DWORD Count = SCARD_AUTOALLOCATE;
LPTSTR Readers = NULL;
Result = SCardListReaders(Ctx, NULL, (LPTSTR)&Readers, &Count);
if (Result != SCARD_S_SUCCESS) {
if (Result SCARD_E_NO_READERS_AVAILABLE)
printf('No card readers available.n');
else
printf('Failed to list card readers, error: %08xn', Result);
SCardReleaseContext(Ctx);
return1;
}
LPTSTR R = Readers;
Count = 0;
while (*R != 0) {
if (Index Count) {
Reader = _strdup(R);
break;
} elseif (Index -1) {
printf('Reader %d: %sn', Count, R);
}
R += strlen(R) + 1;
Count++;
}
SCardFreeMemory(Ctx, Readers);
if (Reader NULL) {
if (Index != -1)
printf('Cannot find a reader at index %dn', Index);
SCardReleaseContext(Ctx);
return1;
}
BCAS::Manager::Card *RealCard = new BCAS::Manager::Card;
RealCard->SetReader(Reader);
Card = RealCard;
} else {
BCAS::Manager::Virtual *Dump = new BCAS::Manager::Virtual;
Dump->SetReader(VirtualCard);
Card = Dump;
}
BCAS::Keys::RegisterAll();
Card->Init();
BCAS::Manager::Ops *Ops = new BCAS::Manager::Ops;
Ops->SetCard(Card);
BCAS::Manager::Manager *Mgr = newBCAS::Manager::Manager(Ops);
bool Quit = false;
u16 Date;
SYSTEMTIME Time;
GetSystemTime(&Time);
Date = ConvertDateToMJD(Time.wYear, Time.wMonth & 0xff, Time.wDay & 0xff) + 7;
while (!Quit) {
bool NewCard = false;
bool HasCard;
u16 Expiry;
HasCard = Card->WaitForEvent(NewCard);
if (NewCard true) {
Mgr->PrintCardInformation(CardType);
if (CardType kType_INVALID)
break;
PrintMenu();
continue;
}
if (HasCard false) {
if (_kbhit()) {
int Selection = _getch();
if (Selection 27) {
break;
}
if (Selection 0)
_getch();
}
continue;
}
int Key = _getch();
switch (Key) {
case27:
Quit = true;
break;
case0:
Key = _getch();
switch (Key) {
case59:
Mgr->DumpMode();
break;
case60:
Mgr->PrintEntitlements();
break;
case61:
Mgr->PrintEmail();
break;
case62:
DateState = (DateState + 1) % 7;
switch (DateState) {
case0:
Expiry = 7;
break;
case1:
Expiry = 15;
break;
case2:
Expiry = 30;
break;
case3:
Expiry = 90;
break;
case4:
Expiry = 180;
break;
case5:
Expiry = 365 * 2;
break;
case6:
break;
}
if (DateState != 6) {
GetSystemTime(&Time);
Date = ConvertDateToMJD(Time.wYear, Time.wMonth & 0xff, Time.wDay & 0xff) + Expiry;
} else {
Date = 0xffff;
}
break;
default:
printf('%dn', Key);
break;
}
break;
// UpdateTiers
case49:
Mgr->AddEntitlement(BCAS::Keys::KEYSET_WOWOW, Date);
break;
case50:
Mgr->AddEntitlement(BCAS::Keys::KEYSET_STARCHANNELHD, Date);
break;
case51:
Mgr->AddEntitlement(BCAS::Keys::KEYSET_E2_110CS, Date);
break;
case52:
Mgr->AddEntitlement(BCAS::Keys::KEYSET_SAFETYNET, Date);
break;
case53:
Mgr->AddEntitlement(BCAS::Keys::KEYSET_NHK, Date);
break;
// InvalidateTiers
case113:
Mgr->InvalidateEntitlement(BCAS::Keys::KEYSET_WOWOW);
break;
case119:
Mgr->InvalidateEntitlement(BCAS::Keys::KEYSET_STARCHANNELHD);
break;
case101:
Mgr->InvalidateEntitlement(BCAS::Keys::KEYSET_E2_110CS);
break;
case114:
Mgr->InvalidateEntitlement(BCAS::Keys::KEYSET_SAFETYNET);
break;
case116:
Mgr->InvalidateEntitlement(BCAS::Keys::KEYSET_NHK);
break;
// DeleteEmail
case97:
Mgr->DeleteEmail(BCAS::Keys::KEYSET_WOWOW);
break;
case115:
Mgr->DeleteEmail(BCAS::Keys::KEYSET_STARCHANNELHD);
break;
case100:
Mgr->DeleteEmail(BCAS::Keys::KEYSET_E2_110CS);
break;
case102:
Mgr->DeleteEmail(BCAS::Keys::KEYSET_SAFETYNET);
break;
case103:
Mgr->DeleteEmail(BCAS::Keys::KEYSET_NHK);
break;
case104:
Mgr->DeleteEmail(BCAS::Keys::KEYSET_EMAIL);
break;
// ActivateTrial
case122:
Mgr->ActivateTrial(BCAS::Keys::KEYSET_WOWOW, false, Date);
Mgr->ActivateTrial(BCAS::Keys::KEYSET_WOWOW, true, Date);
break;
case120:
Mgr->ActivateTrial(BCAS::Keys::KEYSET_STARCHANNELHD, false, Date);
Mgr->ActivateTrial(BCAS::Keys::KEYSET_STARCHANNELHD, true, Date);
break;
case99:
Mgr->ActivateTrial(BCAS::Keys::KEYSET_E2_110CS, false, Date);
Mgr->ActivateTrial(BCAS::Keys::KEYSET_E2_110CS, true, Date);
break;
case118:
Mgr->ActivateTrial(BCAS::Keys::KEYSET_SAFETYNET, false, Date);
Mgr->ActivateTrial(BCAS::Keys::KEYSET_SAFETYNET, true, Date);
break;
case98:
Mgr->ActivateTrial(BCAS::Keys::KEYSET_NHK, false, Date);
Mgr->ActivateTrial(BCAS::Keys::KEYSET_NHK, true, Date);
break;
default:
printf('%dn', Key);
break;
}
if (!Quit)
PrintMenu();
}
return0;
}
  • Copy lines
  • Copy permalink

Nhk 2038 Bcas Rar Download

Nhk 2038 bcas rar file
Permalink

Nhk 2038 Bcas Rar Free

2038
Nhk 2038 Bcas Rar

Join GitHub today

Version: 2.19; File size: 4.27MB; Date added: May 21, 2016; Price: Free; Operating system: Windows NT/98/Me/2000/XP/2003/Vista/Server 2008/7/. Murlan card games.

Perencanaan dan Pengendalian Produksi. –Definisi dan fungsi Perencanaan & Pengendalian Produksi –Struktur organisasi. Referensi: –Smith, Spencer B. Computer Based Production and Inventory Control, Prentice-Hall, 1989. –Vollman, et al. Manufacturing Planning & Control System, McGraw-Hill, 1997. –Tersine, Richard J. Principle of Inventory and Materials Management. Buku perencanaan dan pengendalian produksi pdf free 2017. Perencanaan dan pengendalian produksi adalah merupakan salah satu kegiatan utama dalam suatu system bisnis / industri, selain kegiatan keuangan dan pemasaran. Perencanaan dan pengendalian produksi mencakup sekumpulan kegiatan yang pada umumnya mulai daridi estimasi / perkiraan permintaan yang akan datang, perencanaan produksi.

GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.

Sign up

Nhk 2038 Bcas Rar

Nhk 2038 Bcas Rar File

Branch:master

Nhk 2038 Bcas Rar Software

Cannot retrieve contributors at this time
Nhk 2038 bcas rar gratuit
#include<Windows.h>
#include<stdio.h>
#include<conio.h>
#include'Global.h'
#include'Generator.h'
#include'Decoder.h'
#include'Keyset.h'
#include'Keys.h'
#include'Crypto.h'
#include'Manager.h'
staticint DateState;
staticconstchar * const ExpiryDate[7] = {
'+7 days',
'+15 days',
'+30 days',
'+90 days',
'+180 days',
'+365 days',
'2038',
};
static u8 CardType;
static u16 ConvertDateToMJD(u16 Year, u8 Month, u8 Day)
{
u32 l = 0;
u32 md, yd;
if ((Month 1) (Month 2))
l = 1;
md = (u32)(((double)Month + 1 + l * 12) * 30.6001);
yd = (u32)(((double)(Year - 1900) - l) * 365.25);
return (14956 + Day + md + yd);
}
staticvoidConvertMJDToDate(u16 MJD, SYSTEMTIME *Time)
{
u32 y1 = static_cast((static_cast<double>(MJD) - 15078.2) / 365.25);
u32 y1r = static_cast(365.25 * static_cast<double>(y1));
u32 m1 = static_cast((static_cast<double>(MJD) - 14956.1 - y1r) / 30.6001);
u32 m1r = static_cast(30.6001 * static_cast<double>(m1));
Time->wYear = y1 + 1900;
Time->wMonth = m1 - 1;
Time->wDay = MJD - 14956 - y1r - m1r;
if ((m1 14) (m1 15)) {
Time->wMonth -= 12;
++Time->wYear;
}
}
staticvoidPrintMenu(void)
{
printf('%s%sF4 Expiry in %sn', CardType != kType_C ? 'F1 Dump card ' : '', CardType <= kType_B ? 'F2 Print tiers F3 Print email ' : '', ExpiryDate[DateState]);
printf('n');
printf(' W S N A n');
printf(' O H E - H l n');
printf(' W V 2 T K l n');
printf('-------------*---*---*---*---*---*---*n');
if (CardType != kType_C) {
printf('Update 1 2 3 4 5 n');
printf('Invalidate q w e r t n');
printf('Delete email a s d f g h n');
}
printf('Activate z x c v b n');
printf('n');
}
intmain(int argc, char *argv[])
{
int Index = 0;
int Arg = 1;
char *VirtualCard = NULL;
BCAS::Manager::Abstract *Card;
argc--;
while (argc > 0) {
if (strcmp(argv[Arg], '-virtual') 0) {
if (argc 1) {
printf('Missing file parameter.n');
return1;
}
VirtualCard = _strdup(argv[++Arg]);
argc--;
} elseif (strcmp(argv[Arg], '-reader') 0) {
if (argc 1) {
printf('Missing file parameter.n');
return1;
}
Index = atoi(argv[++Arg]);
argc--;
} elseif (strcmp(argv[Arg], '-list') 0) {
Index = -1;
} else {
printf('Invalid parameter: %sn', argv[Arg]);
return1;
}
Arg++;
argc--;
}
if (VirtualCard NULL) {
SCARDCONTEXT Ctx;
LONG Result;
char *Reader = NULL;
Result = SCardEstablishContext(SCARD_SCOPE_USER, NULL, NULL, &Ctx);
if (Result != SCARD_S_SUCCESS) {
printf('Failed to establish context, error: %08xn', Result);
return1;
}
DWORD Count = SCARD_AUTOALLOCATE;
LPTSTR Readers = NULL;
Result = SCardListReaders(Ctx, NULL, (LPTSTR)&Readers, &Count);
if (Result != SCARD_S_SUCCESS) {
if (Result SCARD_E_NO_READERS_AVAILABLE)
printf('No card readers available.n');
else
printf('Failed to list card readers, error: %08xn', Result);
SCardReleaseContext(Ctx);
return1;
}
LPTSTR R = Readers;
Count = 0;
while (*R != 0) {
if (Index Count) {
Reader = _strdup(R);
break;
} elseif (Index -1) {
printf('Reader %d: %sn', Count, R);
}
R += strlen(R) + 1;
Count++;
}
SCardFreeMemory(Ctx, Readers);
if (Reader NULL) {
if (Index != -1)
printf('Cannot find a reader at index %dn', Index);
SCardReleaseContext(Ctx);
return1;
}
BCAS::Manager::Card *RealCard = new BCAS::Manager::Card;
RealCard->SetReader(Reader);
Card = RealCard;
} else {
BCAS::Manager::Virtual *Dump = new BCAS::Manager::Virtual;
Dump->SetReader(VirtualCard);
Card = Dump;
}
BCAS::Keys::RegisterAll();
Card->Init();
BCAS::Manager::Ops *Ops = new BCAS::Manager::Ops;
Ops->SetCard(Card);
BCAS::Manager::Manager *Mgr = newBCAS::Manager::Manager(Ops);
bool Quit = false;
u16 Date;
SYSTEMTIME Time;
GetSystemTime(&Time);
Date = ConvertDateToMJD(Time.wYear, Time.wMonth & 0xff, Time.wDay & 0xff) + 7;
while (!Quit) {
bool NewCard = false;
bool HasCard;
u16 Expiry;
HasCard = Card->WaitForEvent(NewCard);
if (NewCard true) {
Mgr->PrintCardInformation(CardType);
if (CardType kType_INVALID)
break;
PrintMenu();
continue;
}
if (HasCard false) {
if (_kbhit()) {
int Selection = _getch();
if (Selection 27) {
break;
}
if (Selection 0)
_getch();
}
continue;
}
int Key = _getch();
switch (Key) {
case27:
Quit = true;
break;
case0:
Key = _getch();
switch (Key) {
case59:
Mgr->DumpMode();
break;
case60:
Mgr->PrintEntitlements();
break;
case61:
Mgr->PrintEmail();
break;
case62:
DateState = (DateState + 1) % 7;
switch (DateState) {
case0:
Expiry = 7;
break;
case1:
Expiry = 15;
break;
case2:
Expiry = 30;
break;
case3:
Expiry = 90;
break;
case4:
Expiry = 180;
break;
case5:
Expiry = 365 * 2;
break;
case6:
break;
}
if (DateState != 6) {
GetSystemTime(&Time);
Date = ConvertDateToMJD(Time.wYear, Time.wMonth & 0xff, Time.wDay & 0xff) + Expiry;
} else {
Date = 0xffff;
}
break;
default:
printf('%dn', Key);
break;
}
break;
// UpdateTiers
case49:
Mgr->AddEntitlement(BCAS::Keys::KEYSET_WOWOW, Date);
break;
case50:
Mgr->AddEntitlement(BCAS::Keys::KEYSET_STARCHANNELHD, Date);
break;
case51:
Mgr->AddEntitlement(BCAS::Keys::KEYSET_E2_110CS, Date);
break;
case52:
Mgr->AddEntitlement(BCAS::Keys::KEYSET_SAFETYNET, Date);
break;
case53:
Mgr->AddEntitlement(BCAS::Keys::KEYSET_NHK, Date);
break;
// InvalidateTiers
case113:
Mgr->InvalidateEntitlement(BCAS::Keys::KEYSET_WOWOW);
break;
case119:
Mgr->InvalidateEntitlement(BCAS::Keys::KEYSET_STARCHANNELHD);
break;
case101:
Mgr->InvalidateEntitlement(BCAS::Keys::KEYSET_E2_110CS);
break;
case114:
Mgr->InvalidateEntitlement(BCAS::Keys::KEYSET_SAFETYNET);
break;
case116:
Mgr->InvalidateEntitlement(BCAS::Keys::KEYSET_NHK);
break;
// DeleteEmail
case97:
Mgr->DeleteEmail(BCAS::Keys::KEYSET_WOWOW);
break;
case115:
Mgr->DeleteEmail(BCAS::Keys::KEYSET_STARCHANNELHD);
break;
case100:
Mgr->DeleteEmail(BCAS::Keys::KEYSET_E2_110CS);
break;
case102:
Mgr->DeleteEmail(BCAS::Keys::KEYSET_SAFETYNET);
break;
case103:
Mgr->DeleteEmail(BCAS::Keys::KEYSET_NHK);
break;
case104:
Mgr->DeleteEmail(BCAS::Keys::KEYSET_EMAIL);
break;
// ActivateTrial
case122:
Mgr->ActivateTrial(BCAS::Keys::KEYSET_WOWOW, false, Date);
Mgr->ActivateTrial(BCAS::Keys::KEYSET_WOWOW, true, Date);
break;
case120:
Mgr->ActivateTrial(BCAS::Keys::KEYSET_STARCHANNELHD, false, Date);
Mgr->ActivateTrial(BCAS::Keys::KEYSET_STARCHANNELHD, true, Date);
break;
case99:
Mgr->ActivateTrial(BCAS::Keys::KEYSET_E2_110CS, false, Date);
Mgr->ActivateTrial(BCAS::Keys::KEYSET_E2_110CS, true, Date);
break;
case118:
Mgr->ActivateTrial(BCAS::Keys::KEYSET_SAFETYNET, false, Date);
Mgr->ActivateTrial(BCAS::Keys::KEYSET_SAFETYNET, true, Date);
break;
case98:
Mgr->ActivateTrial(BCAS::Keys::KEYSET_NHK, false, Date);
Mgr->ActivateTrial(BCAS::Keys::KEYSET_NHK, true, Date);
break;
default:
printf('%dn', Key);
break;
}
if (!Quit)
PrintMenu();
}
return0;
}
  • Copy lines
  • Copy permalink

Nhk 2038 Bcas Rar Download

Permalink

Nhk 2038 Bcas Rar Free

Join GitHub today

Version: 2.19; File size: 4.27MB; Date added: May 21, 2016; Price: Free; Operating system: Windows NT/98/Me/2000/XP/2003/Vista/Server 2008/7/. Murlan card games.

Perencanaan dan Pengendalian Produksi. –Definisi dan fungsi Perencanaan & Pengendalian Produksi –Struktur organisasi. Referensi: –Smith, Spencer B. Computer Based Production and Inventory Control, Prentice-Hall, 1989. –Vollman, et al. Manufacturing Planning & Control System, McGraw-Hill, 1997. –Tersine, Richard J. Principle of Inventory and Materials Management. Buku perencanaan dan pengendalian produksi pdf free 2017. Perencanaan dan pengendalian produksi adalah merupakan salah satu kegiatan utama dalam suatu system bisnis / industri, selain kegiatan keuangan dan pemasaran. Perencanaan dan pengendalian produksi mencakup sekumpulan kegiatan yang pada umumnya mulai daridi estimasi / perkiraan permintaan yang akan datang, perencanaan produksi.

GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.

Sign up

Nhk 2038 Bcas Rar

Nhk 2038 Bcas Rar File

Branch:master

Nhk 2038 Bcas Rar Software

Cannot retrieve contributors at this time
#include<Windows.h>
#include<stdio.h>
#include<conio.h>
#include'Global.h'
#include'Generator.h'
#include'Decoder.h'
#include'Keyset.h'
#include'Keys.h'
#include'Crypto.h'
#include'Manager.h'
staticint DateState;
staticconstchar * const ExpiryDate[7] = {
'+7 days',
'+15 days',
'+30 days',
'+90 days',
'+180 days',
'+365 days',
'2038',
};
static u8 CardType;
static u16 ConvertDateToMJD(u16 Year, u8 Month, u8 Day)
{
u32 l = 0;
u32 md, yd;
if ((Month 1) (Month 2))
l = 1;
md = (u32)(((double)Month + 1 + l * 12) * 30.6001);
yd = (u32)(((double)(Year - 1900) - l) * 365.25);
return (14956 + Day + md + yd);
}
staticvoidConvertMJDToDate(u16 MJD, SYSTEMTIME *Time)
{
u32 y1 = static_cast((static_cast<double>(MJD) - 15078.2) / 365.25);
u32 y1r = static_cast(365.25 * static_cast<double>(y1));
u32 m1 = static_cast((static_cast<double>(MJD) - 14956.1 - y1r) / 30.6001);
u32 m1r = static_cast(30.6001 * static_cast<double>(m1));
Time->wYear = y1 + 1900;
Time->wMonth = m1 - 1;
Time->wDay = MJD - 14956 - y1r - m1r;
if ((m1 14) (m1 15)) {
Time->wMonth -= 12;
++Time->wYear;
}
}
staticvoidPrintMenu(void)
{
printf('%s%sF4 Expiry in %sn', CardType != kType_C ? 'F1 Dump card ' : '', CardType <= kType_B ? 'F2 Print tiers F3 Print email ' : '', ExpiryDate[DateState]);
printf('n');
printf(' W S N A n');
printf(' O H E - H l n');
printf(' W V 2 T K l n');
printf('-------------*---*---*---*---*---*---*n');
if (CardType != kType_C) {
printf('Update 1 2 3 4 5 n');
printf('Invalidate q w e r t n');
printf('Delete email a s d f g h n');
}
printf('Activate z x c v b n');
printf('n');
}
intmain(int argc, char *argv[])
{
int Index = 0;
int Arg = 1;
char *VirtualCard = NULL;
BCAS::Manager::Abstract *Card;
argc--;
while (argc > 0) {
if (strcmp(argv[Arg], '-virtual') 0) {
if (argc 1) {
printf('Missing file parameter.n');
return1;
}
VirtualCard = _strdup(argv[++Arg]);
argc--;
} elseif (strcmp(argv[Arg], '-reader') 0) {
if (argc 1) {
printf('Missing file parameter.n');
return1;
}
Index = atoi(argv[++Arg]);
argc--;
} elseif (strcmp(argv[Arg], '-list') 0) {
Index = -1;
} else {
printf('Invalid parameter: %sn', argv[Arg]);
return1;
}
Arg++;
argc--;
}
if (VirtualCard NULL) {
SCARDCONTEXT Ctx;
LONG Result;
char *Reader = NULL;
Result = SCardEstablishContext(SCARD_SCOPE_USER, NULL, NULL, &Ctx);
if (Result != SCARD_S_SUCCESS) {
printf('Failed to establish context, error: %08xn', Result);
return1;
}
DWORD Count = SCARD_AUTOALLOCATE;
LPTSTR Readers = NULL;
Result = SCardListReaders(Ctx, NULL, (LPTSTR)&Readers, &Count);
if (Result != SCARD_S_SUCCESS) {
if (Result SCARD_E_NO_READERS_AVAILABLE)
printf('No card readers available.n');
else
printf('Failed to list card readers, error: %08xn', Result);
SCardReleaseContext(Ctx);
return1;
}
LPTSTR R = Readers;
Count = 0;
while (*R != 0) {
if (Index Count) {
Reader = _strdup(R);
break;
} elseif (Index -1) {
printf('Reader %d: %sn', Count, R);
}
R += strlen(R) + 1;
Count++;
}
SCardFreeMemory(Ctx, Readers);
if (Reader NULL) {
if (Index != -1)
printf('Cannot find a reader at index %dn', Index);
SCardReleaseContext(Ctx);
return1;
}
BCAS::Manager::Card *RealCard = new BCAS::Manager::Card;
RealCard->SetReader(Reader);
Card = RealCard;
} else {
BCAS::Manager::Virtual *Dump = new BCAS::Manager::Virtual;
Dump->SetReader(VirtualCard);
Card = Dump;
}
BCAS::Keys::RegisterAll();
Card->Init();
BCAS::Manager::Ops *Ops = new BCAS::Manager::Ops;
Ops->SetCard(Card);
BCAS::Manager::Manager *Mgr = newBCAS::Manager::Manager(Ops);
bool Quit = false;
u16 Date;
SYSTEMTIME Time;
GetSystemTime(&Time);
Date = ConvertDateToMJD(Time.wYear, Time.wMonth & 0xff, Time.wDay & 0xff) + 7;
while (!Quit) {
bool NewCard = false;
bool HasCard;
u16 Expiry;
HasCard = Card->WaitForEvent(NewCard);
if (NewCard true) {
Mgr->PrintCardInformation(CardType);
if (CardType kType_INVALID)
break;
PrintMenu();
continue;
}
if (HasCard false) {
if (_kbhit()) {
int Selection = _getch();
if (Selection 27) {
break;
}
if (Selection 0)
_getch();
}
continue;
}
int Key = _getch();
switch (Key) {
case27:
Quit = true;
break;
case0:
Key = _getch();
switch (Key) {
case59:
Mgr->DumpMode();
break;
case60:
Mgr->PrintEntitlements();
break;
case61:
Mgr->PrintEmail();
break;
case62:
DateState = (DateState + 1) % 7;
switch (DateState) {
case0:
Expiry = 7;
break;
case1:
Expiry = 15;
break;
case2:
Expiry = 30;
break;
case3:
Expiry = 90;
break;
case4:
Expiry = 180;
break;
case5:
Expiry = 365 * 2;
break;
case6:
break;
}
if (DateState != 6) {
GetSystemTime(&Time);
Date = ConvertDateToMJD(Time.wYear, Time.wMonth & 0xff, Time.wDay & 0xff) + Expiry;
} else {
Date = 0xffff;
}
break;
default:
printf('%dn', Key);
break;
}
break;
// UpdateTiers
case49:
Mgr->AddEntitlement(BCAS::Keys::KEYSET_WOWOW, Date);
break;
case50:
Mgr->AddEntitlement(BCAS::Keys::KEYSET_STARCHANNELHD, Date);
break;
case51:
Mgr->AddEntitlement(BCAS::Keys::KEYSET_E2_110CS, Date);
break;
case52:
Mgr->AddEntitlement(BCAS::Keys::KEYSET_SAFETYNET, Date);
break;
case53:
Mgr->AddEntitlement(BCAS::Keys::KEYSET_NHK, Date);
break;
// InvalidateTiers
case113:
Mgr->InvalidateEntitlement(BCAS::Keys::KEYSET_WOWOW);
break;
case119:
Mgr->InvalidateEntitlement(BCAS::Keys::KEYSET_STARCHANNELHD);
break;
case101:
Mgr->InvalidateEntitlement(BCAS::Keys::KEYSET_E2_110CS);
break;
case114:
Mgr->InvalidateEntitlement(BCAS::Keys::KEYSET_SAFETYNET);
break;
case116:
Mgr->InvalidateEntitlement(BCAS::Keys::KEYSET_NHK);
break;
// DeleteEmail
case97:
Mgr->DeleteEmail(BCAS::Keys::KEYSET_WOWOW);
break;
case115:
Mgr->DeleteEmail(BCAS::Keys::KEYSET_STARCHANNELHD);
break;
case100:
Mgr->DeleteEmail(BCAS::Keys::KEYSET_E2_110CS);
break;
case102:
Mgr->DeleteEmail(BCAS::Keys::KEYSET_SAFETYNET);
break;
case103:
Mgr->DeleteEmail(BCAS::Keys::KEYSET_NHK);
break;
case104:
Mgr->DeleteEmail(BCAS::Keys::KEYSET_EMAIL);
break;
// ActivateTrial
case122:
Mgr->ActivateTrial(BCAS::Keys::KEYSET_WOWOW, false, Date);
Mgr->ActivateTrial(BCAS::Keys::KEYSET_WOWOW, true, Date);
break;
case120:
Mgr->ActivateTrial(BCAS::Keys::KEYSET_STARCHANNELHD, false, Date);
Mgr->ActivateTrial(BCAS::Keys::KEYSET_STARCHANNELHD, true, Date);
break;
case99:
Mgr->ActivateTrial(BCAS::Keys::KEYSET_E2_110CS, false, Date);
Mgr->ActivateTrial(BCAS::Keys::KEYSET_E2_110CS, true, Date);
break;
case118:
Mgr->ActivateTrial(BCAS::Keys::KEYSET_SAFETYNET, false, Date);
Mgr->ActivateTrial(BCAS::Keys::KEYSET_SAFETYNET, true, Date);
break;
case98:
Mgr->ActivateTrial(BCAS::Keys::KEYSET_NHK, false, Date);
Mgr->ActivateTrial(BCAS::Keys::KEYSET_NHK, true, Date);
break;
default:
printf('%dn', Key);
break;
}
if (!Quit)
PrintMenu();
}
return0;
}
  • Copy lines
  • Copy permalink




broken image