#include <iostream> #include <conio.h> #include <stdlib.h> #include <string.h> #include <windows.h> #include <mmsystem.h> using namespace std; class check { private: char card[16]; int par1, par2, par3, par4, par5, par6, par7, par8; int impar1, impar2, impar3, impar4, impar5, impar6, impar7, impar8; int multimpar1, multimpar2, multimpar3, multimpar4, multimpar5, multimpar6, multimpar7, multimpar8; int uni, dec; int resultado; public: void validacion(); void tipo(); void american_express(); void visa(); void mastercard(); void discover(); }; void check::validacion() { int lon; do { system("cls"); cout<<"=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="<<endl; cout<<" ____ ___ ____ ____ _ _ ___ ____ ____ _ _"<<endl; cout<<" ==== | [__] |--< |\\/| |__> |--| |--< |-:_"<<endl; cout<<" CreditCard Checker by Stormd4rk"<<endl; cout<<"============================================="<<endl; cout<<"Digita el numero de la tarjeta"<<endl; cin>>card; lon=strlen(card); if(lon != 16 && lon != 15) { cout<<"Numero invalido"<<endl; getch(); } }while(lon != 16 && lon != 15); par1=card[1]-'0'; par2=card[3]-'0'; par3=card[5]-'0'; par4=card[7]-'0'; par5=card[9]-'0'; par6=card[11]-'0'; par7=card[13]-'0'; par8=card[15]-'0'; impar1=card[0]-'0'; impar2=card[2]-'0'; impar3=card[4]-'0'; impar4=card[6]-'0'; impar5=card[8]-'0'; impar6=card[10]-'0'; impar7=card[12]-'0'; impar8=card[14]-'0'; multimpar1=impar1*2; multimpar2=impar2*2; multimpar3=impar3*2; multimpar4=impar4*2; multimpar5=impar5*2; multimpar6=impar6*2; multimpar7=impar7*2; multimpar8=impar8*2; do { if(multimpar1 > 9) { uni = multimpar1 - multimpar1 / 10 * 10; dec = (multimpar1 - multimpar1 / 100 * 100) / 10; multimpar1=uni+dec; } }while(multimpar1 > 9); do { if(multimpar2 > 9) { uni = multimpar2 - multimpar2 / 10 * 10; dec = (multimpar2 - multimpar2 / 100 * 100) / 10; multimpar2=uni+dec; } }while(multimpar2 > 9); do { if(multimpar3 > 9) { uni = multimpar3 - multimpar3 / 10 * 10; dec = (multimpar3 - multimpar3 / 100 * 100) / 10; multimpar3=uni+dec; } }while(multimpar3 > 9); do { if(multimpar4 > 9) { uni = multimpar4 - multimpar4 / 10 * 10; dec = (multimpar4 - multimpar4 / 100 * 100) / 10; multimpar4=uni+dec; } }while(multimpar4 > 9); do { if(multimpar5 > 9) { uni = multimpar5 - multimpar5 / 10 * 10; dec = (multimpar5 - multimpar5 / 100 * 100) / 10; multimpar5=uni+dec; } }while(multimpar5 > 9); do { if(multimpar6 > 9) { uni = multimpar6 - multimpar6 / 10 * 10; dec = (multimpar6 - multimpar6 / 100 * 100) / 10; multimpar6=uni+dec; } }while(multimpar6 > 9); do { if(multimpar7 > 9) { uni = multimpar7 - multimpar7 / 10 * 10; dec = (multimpar7 - multimpar7 / 100 * 100) / 10; multimpar7=uni+dec; } }while(multimpar7 > 9); do { if(multimpar8 > 9) { uni = multimpar8 - multimpar8 / 10 * 10; dec = (multimpar8 - multimpar8 / 100 * 100) / 10; multimpar8=uni+dec; } }while(multimpar8 > 9); resultado = par1+par2+par3+par4+par5+par6+par7+par8+multimpar1+multimpar2+multimpar3+multimpar4+multimpar5+multimpar6+multimpar7+multimpar8; if(resultado%10==0) { cout<<"=================="<<endl; cout<<"Tarjeta Valida! =]"<<endl; cout<<"=================="<<endl; check::tipo(); }else { cout<<"==================="<<endl; cout<<"Tarjeta Invalida =("<<endl; cout<<"==================="<<endl; } } void check::tipo() { if(card[0] == '3') { cout<<"[+]Tipo: American Express"<<endl; check::american_express(); }else { if(card[0] == '4') { cout<<"[+]Tipo: Visa"<<endl; check::visa(); }else { if(card[0] == '5') { cout<<"[+]Tipo: Mastercard"<<endl; check::mastercard(); }else { if(card[0] == '6') { cout<<"[+]Tipo: Discover"<<endl; check::discover(); } } } } } void check::american_express() { int cid1; int cid2; int cid3; int cid4; int x; cid1 = card[5]-'0'; cid2 = card[7]-'0'; cid3 = card[11]-'0'; if (card[2]-'0' == 9) { x = 1; cid4 = x; cout<<"[+]CID: "<<cid1<<cid2<<cid3<<cid4<<endl; }else { x = card[2]-'0' + 1; cid4 = x; cout<<"[+]CID: "<<cid1<<cid2<<cid3<<cid4<<endl; } } void check::visa() { int cvv21; int cvv22; int cvv23; int x; cvv21 = card[7]-'0'; cvv22 = card[11]-'0'; if (card[2]-'0' == 9) { x = 1; cvv23 = x; cout<<"[+]CVV2: "<<cvv21<<cvv22<<cvv23<<endl; }else { x = card[2]-'0' + 1; cvv23 = x; cout<<"[+]CVV2: "<<cvv21<<cvv22<<cvv23<<endl; } } void check::mastercard() { int cvc21; int cvc22; int cvc23; int x; cvc21 = card[7]-'0'; cvc22 = card[11]-'0'; if (card[2]-'0' == 9) { x = 1; cvc23 = x; cout<<"[+]CVC2: "<<cvc21<<cvc22<<cvc23<<endl; }else { x = card[2]-'0' + 1; cvc23 = x; cout<<"[+]CVC2: "<<cvc21<<cvc22<<cvc23<<endl; } } void check::discover() { int cvv21; int cvv22; int cvv23; int x; cvv21 = card[7]-'0'; cvv22 = card[11]-'0'; if (card[2]-'0' == 9) { x = 1; cvv23 = x; cout<<"[+]CVV2: "<<cvv21<<cvv22<<cvv23<<endl; }else { x = card[2]-'0' + 1; cvv23 = x; cout<<"[+]CVV2: "<<cvv21<<cvv22<<cvv23<<endl; } } int main() { SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), 11); system ("title CreditCard Checker by StØrMd[4]rk v1.0 [+] cyber-oxyde.blogspot.mx"); char op; do { system("cls"); check obj; obj.validacion(); cout<<"Repetir? y/n"<<endl; cin>>op; op = tolower(op); }while(op == 'y'); MessageBox(NULL,TEXT("I hate lammers.\nstormdark-nxt@live.jp"),TEXT("[Info]"),MB_OK | MB_ICONASTERISK ); }
Saludos..
..By StØrMd[4]rk