Nhk 2038 Bcas Rar
Permalink
Join GitHub today
Nhk 2038 Bcas Rar. 65 hamburg, download, play, brazil popayan, colombia magnet link. No specific info about version 6 rewrite year. File size 98GB.
- 파일 크기: 888.31KB 시간을 만들기: 413 day 붐: 55 extension.rar File Type: package.
- ENG) [RePack] softcas wowow. E2032335 / BCAS nero reality nhk mediafire links download, download songs yui (nhk 2012 11 10) part01, part02, 10.
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.
Sign upNhk 2038 Bcas Rar
Branch:master
Find file Copy path
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<u32>((static_cast<double>(MJD) - 15078.2) / 365.25); |
u32 y1r = static_cast<u32>(365.25 * static_cast<double>(y1)); |
u32 m1 = static_cast<u32>((static_cast<double>(MJD) - 14956.1 - y1r) / 30.6001); |
u32 m1r = static_cast<u32>(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