text and style

This commit is contained in:
iceman1001 2025-03-21 11:25:31 +01:00
commit 1c52bee9a1
5 changed files with 58 additions and 72 deletions

View file

@ -24,7 +24,7 @@
#define AUTHKEYNONE 0xff #define AUTHKEYNONE 0xff
void EMVsim(uint16_t flags, uint8_t exitAfterNReads, uint8_t *datain, uint16_t atqa, uint8_t sak); void EMVsim(uint16_t flags, uint8_t exitAfterNReads, uint8_t *uid, uint16_t atqa, uint8_t sak);
void annotate(uint8_t *cmd, uint8_t cmdsize); void annotate(uint8_t *cmd, uint8_t cmdsize);
#endif #endif

View file

@ -1337,6 +1337,10 @@ int lf_hid_watch(int findone, uint32_t *high, uint32_t *low, bool ledcontrol) {
cardnum = (lo >> 1) & 0xFFFF; cardnum = (lo >> 1) & 0xFFFF;
fac = (lo >> 17) & 0xFF; fac = (lo >> 17) & 0xFF;
} }
if (bitlen == 37) {
cardnum = (lo >> 1) & 0x7FFFF;
fac = ((hi & 0xF) << 12) | (lo >> 20);
}
if (bitlen == 34) { if (bitlen == 34) {
cardnum = (lo >> 1) & 0xFFFF; cardnum = (lo >> 1) & 0xFFFF;
fac = ((hi & 1) << 15) | (lo >> 17); fac = ((hi & 1) << 15) | (lo >> 17);

View file

@ -1548,7 +1548,8 @@ int CmdHW(const char *Cmd) {
#endif #endif
void pm3_version_short(void) { void pm3_version_short(void) {
PrintAndLogEx(NORMAL, " [ " _CYAN_("Proxmark3 RFID instrument") " ]"); // PrintAndLogEx(NORMAL, " [ " _CYAN_("Proxmark3 RFID instrument") " ]");
PrintAndLogEx(NORMAL, " [ " _CYAN_("Proxmark3") " ]");
PrintAndLogEx(NORMAL, ""); PrintAndLogEx(NORMAL, "");
if (g_session.pm3_present) { if (g_session.pm3_present) {
@ -1646,10 +1647,11 @@ void pm3_version(bool verbose, bool oneliner) {
return; return;
} }
if (!verbose) if (!verbose) {
return; return;
}
PrintAndLogEx(NORMAL, "\n [ " _YELLOW_("Proxmark3 RFID instrument") " ]"); PrintAndLogEx(NORMAL, "\n [ " _CYAN_("Proxmark3") " ]");
PrintAndLogEx(NORMAL, "\n [ " _YELLOW_("Client") " ]"); PrintAndLogEx(NORMAL, "\n [ " _YELLOW_("Client") " ]");
FormatVersionInformation(temp, sizeof(temp), " ", &g_version_information); FormatVersionInformation(temp, sizeof(temp), " ", &g_version_information);
PrintAndLogEx(NORMAL, "%s", temp); PrintAndLogEx(NORMAL, "%s", temp);

View file

@ -48,7 +48,7 @@ static int mainret = PM3_SUCCESS;
#ifndef LIBPM3 #ifndef LIBPM3
#define BANNERMSG1 "" #define BANNERMSG1 ""
#define BANNERMSG2 " [ :coffee: ]" #define BANNERMSG2 ""
#define BANNERMSG3 "" #define BANNERMSG3 ""
typedef enum LogoMode { UTF8, ANSI, ASCII } LogoMode; typedef enum LogoMode { UTF8, ANSI, ASCII } LogoMode;
@ -125,84 +125,65 @@ static uint8_t detect_current_lang(void) {
static const char *get_quote(void) { static const char *get_quote(void) {
const char *quotes_en[] = { const char *quotes_en[] = {
"Fund creativity, empower dreams", "E Pluribus Unum",
"Invest in open innovation", "Carpe Diem",
"Donate, empower, grow, sustain", "Ad astra per aspera",
"Back global innovation today", "Fortes fortuna adiuvat",
"Fuel open source revolution", "Non ducor, duco",
"Contribute funds, drive progress", "Veni, vidi, vici",
"Sponsor innovation, build tomorrow", "Audentes fortuna iuvat",
"Consider supporting: fund innovation", "Virtus in actione consistit",
"Your donation fuels progress", "Dum spiro, spero",
"Empower dreams with your support", "Non scholae, sed vitae discimus",
"Join us: finance creative freedom", "Faber est suae quisque fortunae"
"Make an impact: donate today",
"Help us drive open innovation",
"Your support, our future",
"Invest in a better tomorrow",
"Every contribution powers change",
"Support us, shape the future",
"Ignite change: support open-source creativity",
"Together, we can innovate without limits",
}; };
const char *quotes_fr[] = { const char *quotes_fr[] = {
"Financez la créativité, donnez pouvoir aux rêves", "Liberté, égalité, fraternité",
"Investissez dans l'innovation ouverte", "L'avenir appartient à ceux qui croient à la beauté de leurs rêves",
"Donnez, habilitez, croissez, soutenez", "Rien n'est impossible",
"Soutenez l'innovation mondiale aujourd'hui", "La vie est un défi, relève-le!",
"Alimentez la révolution open source", "Qui ne tente rien n'a rien",
"Contribuez financièrement, poussez le progrès", "Le succès est la somme de petits efforts, répétés jour après jour",
"Parrainez l'innovation, construisez demain", "Faites de votre vie un rêve, et dun rêve, une réalité",
"Envisagez de soutenir : financez l'innovation", "La seule façon de faire du bon travail est daimer ce que vous faites",
"Votre don alimente le progrès", "Tout ce que vous pouvez faire, faites-le",
"Donnez pouvoir aux rêves avec votre soutien", "Le succès, cest daller déchec en échec sans perdre son enthousiasme",
"Rejoignez-nous : financez la liberté créative", "Crois en toi et tout deviendra possible",
"Faites une différence : donnez aujourd'hui", "Cest en tombant quon apprend à se relever"
"Aidez-nous à stimuler l'innovation ouverte",
"Votre soutien, notre avenir",
"Investissez dans un meilleur demain",
"Chaque contribution favorise le changement",
"Soutenez-nous, façonnez l'avenir",
"Allumez le changement : soutenez la créativité open-source",
"Ensemble, nous pouvons innover sans limites",
}; };
const char *quotes_es[] = { const char *quotes_es[] = {
"Financia la creatividad, empodera sueños", "El éxito es la suma de pequeños esfuerzos repetidos día tras día",
"Invierte en innovación abierta", "Hazlo con pasión o no lo hagas",
"Dona, empodera, crece, sostén", "Nunca dejes de soñar",
"Apoya la innovación global hoy", "El único modo de hacer un gran trabajo es amar lo que haces",
"Impulsa la revolución de código abierto", "No hay que ir para atrás ni para darse impulso",
"Contribuye fondos, impulsa el progreso", "Cada logro comienza con la decisión de intentarlo",
"Patrocina la innovación, construye el mañana", "No importa lo lento que vayas, siempre y cuando no te detengas",
"Considera apoyar: financia la innovación", "La disciplina es el puente entre las metas y los logros",
"Tu donación impulsa el progreso", "Si puedes soñarlo, puedes lograrlo",
"Empodera sueños con tu apoyo", "La vida es una aventura, atrévete",
"Únete a nosotros: financia la libertad creativa",
"Haz un impacto: dona hoy",
"Ayúdanos a impulsar la innovación abierta",
"Tu apoyo, nuestro futuro",
"Invierte en un mejor mañana",
"Cada contribución impulsa el cambio",
"Apóyanos, forma el futuro",
"Enciende el cambio: apoya la creatividad de código abierto",
"Juntos, podemos innovar sin límites",
}; };
int r = 0;
srand((uint32_t)time(NULL)); srand((uint32_t)time(NULL));
int r = rand() % ARRAYLEN(quotes_en);
uint8_t lang = detect_current_lang(); uint8_t lang = detect_current_lang();
switch (lang) { switch (lang) {
case 2: case 2: {
r = rand() % ARRAYLEN(quotes_fr);
return quotes_fr[r]; return quotes_fr[r];
case 3: }
case 3: {
r = rand() % ARRAYLEN(quotes_es);
return quotes_es[r]; return quotes_es[r];
}
case 1: case 1:
default: default: {
r = rand() % ARRAYLEN(quotes_en);
return quotes_en[r]; return quotes_en[r];
} }
}
} }
static void showBanner(void) { static void showBanner(void) {
@ -223,10 +204,9 @@ static void showBanner(void) {
showBanner_logo(ASCII); showBanner_logo(ASCII);
#endif #endif
PrintAndLogEx(NORMAL, ""); PrintAndLogEx(NORMAL, " [ " _YELLOW_("%s!")" :coffee: ]", get_quote());
PrintAndLogEx(NORMAL, " [ " _YELLOW_("%s!")" ]", get_quote()); // PrintAndLogEx(NORMAL, " [ https://patreon.com/iceman1001/ ]");
PrintAndLogEx(NORMAL, " Patreon - https://www.patreon.com/iceman1001/"); // PrintAndLogEx(NORMAL, "");
PrintAndLogEx(NORMAL, "");
// PrintAndLogEx(NORMAL, " Monero"); // PrintAndLogEx(NORMAL, " Monero");
// PrintAndLogEx(NORMAL, " 43mNJLpgBVaTvyZmX9ajcohpvVkaRy1kbZPm8tqAb7itZgfuYecgkRF36rXrKFUkwEGeZedPsASRxgv4HPBHvJwyJdyvQuP"); // PrintAndLogEx(NORMAL, " 43mNJLpgBVaTvyZmX9ajcohpvVkaRy1kbZPm8tqAb7itZgfuYecgkRF36rXrKFUkwEGeZedPsASRxgv4HPBHvJwyJdyvQuP");
PrintAndLogEx(NORMAL, ""); PrintAndLogEx(NORMAL, "");