Andando sul sito di _sys/sid http://gensid.altervista.org/ ho notato che la sua email era sostituita da un codice di C.
Incuriosito prima ho pensato fosse un errore del suo sito del php o in generale... ma ho notato che si trattava di una funzione con tanto di librerie in testa quindi non una porzione di programma ma un programma completo.
Creo quidi un user senza alcun provilegio se nn quello di usare gcc ed eliminare la sua home e lancio questo programmino... ci rimango malissimo quando leggo che è la sua email!
Mi sono innamorato così tanto di quella cosa che ho pregato sys di farmi un programma che emulasse quello che ha fatto (e l'ha fatto) ho deciso quindi di condividerlo con voi direi che è a dir poco perfetto sto codice
CODICE
Code: Select all
/* [ krymail.c ]
************************************************
* Compile With: gcc -Wall krymail.c -o krymail *
************************************************
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include <stdio.h>
int main(int argc, char **argv) {
unsigned char i;
char *mmail;
if (argc <= 1) {
printf("Usage: \r\n");
printf(" %s [ mail ]\r\n", argv[0]);
return(1);
}
mmail = argv[1];
printf("#include <stdio.h>\r\n\r\n");
printf("int main() {\r\n");
printf(" unsigned char i;\r\n");
printf(" unsigned char mail[] = {");
for (i=0; mmail[i] != '\0'; i++) {
(mmail[i] > 100) ? (mmail[i] += 3) : (mmail[i] -= 7);
if (!(i % 7)) {
printf("%d, ", mmail[i]);
} else if (!(i % 3)) {
printf("0x%X, ", mmail[i]);
} else if (!(i % 2)) {
printf("0%o, ", mmail[i]);
} else {
if (mmail[i] == '\'' || mmail[i] == '\"') {
printf("'\\%c', ", mmail[i]);
} else {
printf("'%c', ", mmail[i]);
}
}
if (i%6 == 0) printf("\r\n ");
}
printf("'\\0'};\r\n\r\n");
printf(" for (i=0; mail[i] != '\\0'; i++) { \r\n");
printf(" (mail[i] > 100) ? (mail[i] -= 3) : (mail[i] += 7);\r\n");
printf(" printf(\"%%c\", mail[i]);\r\n");
printf(" }\r\n");
printf(" printf(\"\\r\\n\"); \r\n");
printf(" return(0);\r\n");
printf("}\r\n\r\n");
return(0);
} Code: Select all
gcc -Wall krymail.c -o krymailCode: Select all
$./krymail email@about.me >> miaemail.cCode: Select all
gcc miaemail.c -o miaemailCode: Select all
$ ./miaemail
email@about.meCode: Select all
#include <stdio.h>
int main() {
unsigned char i;
unsigned char mail[] = {104,
'p', 0132, 0x6C, 0157, '9', 0x5A,
91, 0162, 0x78, 0167, '\'', 0x70,
'h', '\0'};
for (i=0; mail[i] != '\0'; i++) {
(mail[i] > 100) ? (mail[i] -= 3) : (mail[i] += 7);
printf("%c", mail[i]);
}
printf("\r\n");
return(0);
}
Ciao da koma e grazie ancora sys/sid



