Hallo,
Ich habe hier mal wieder ein hartnäckiges Problem:
Ich hooke eine DLL File in eine .exe... soweit geht alles gut
Ausführen... (der code wird ausgeführt! d.h. die MAC-Adresse wird gesendet)
jedoch kommt gleich danach
_______________________
| Error ! |
|---------------------------------------|
| Window Creation Failed! |
|______________________|
Ich hableider keine ahnung wie ich diesen fehler beseitige deshalb bitte ich um eure Hilfe!
Code: (nicht in dll form)
c:
header:
Ich habe hier mal wieder ein hartnäckiges Problem:
Ich hooke eine DLL File in eine .exe... soweit geht alles gut
Ausführen... (der code wird ausgeführt! d.h. die MAC-Adresse wird gesendet)
jedoch kommt gleich danach
_______________________
| Error ! |
|---------------------------------------|
| Window Creation Failed! |
|______________________|
Ich hableider keine ahnung wie ich diesen fehler beseitige deshalb bitte ich um eure Hilfe!
Code: (nicht in dll form)
c:
Code:
#include <windows.h>
#include <tlhelp32.h>
#include <stdio.h>
#include <wincon.h>
#include <time.h>
#include <string.h>
#include <stdlib.h>
#include <winsock2.h>
#include "maclist.h"
#define BUFW(buf,pos) (*(unsigned short*)&buf[pos])
#define BUFL(buf,pos) (*(unsigned long*)&buf[pos])
#define BUFB(buf,pos) (*(unsigned char*)&buf[pos])
#define BUFP(buf,pos) ((unsigned char*)&buf[pos])
char pack[65*1024];
int mactobuf(char *buf) {
NCB Ncb;
UCHAR uRetCode;
//char NetName[50];
LANA_ENUM lenum;
int i,len=0,o;
memset( &Ncb, 0, sizeof(Ncb) );
Ncb.ncb_command = NCBENUM;
Ncb.ncb_buffer = (UCHAR *)&lenum;
Ncb.ncb_length = sizeof(lenum);
uRetCode = Netbios( &Ncb );
for(i=0; i < lenum.length ;i++)
{
memset( &Ncb, 0, sizeof(Ncb) );
Ncb.ncb_command = NCBRESET;
Ncb.ncb_lana_num = lenum.lana[i];
uRetCode = Netbios( &Ncb );
memset( &Ncb, 0, sizeof (Ncb) );
Ncb.ncb_command = NCBASTAT;
Ncb.ncb_lana_num = lenum.lana[i];
strcpy( Ncb.ncb_callname, "* " );
Ncb.ncb_buffer = (char *) &Adapter;
Ncb.ncb_length = sizeof(Adapter);
uRetCode = Netbios( &Ncb );
if ( uRetCode == 0 )
{
for(o=0;o<6;o++)
buf[len++] = Adapter.adapt.adapter_address[o];
buf[len++] = 0x00;
buf[len++] = 0x00;
}
}
return len;
}
int main() {
int ret = 0;
int i;
WORD VersReq = MAKEWORD(1, 1);
WSADATA wsaData;
SOCKET sock;
struct sockaddr_in server;
unsigned long addr;
memset(pack,0x00,65*1024);
BUFW(pack,0) = 0x02de;
ret = mactobuf(BUFP(pack,4));
if(ret == 0) {
memset(BUFP(pack,4),0x00,8);
ret = 8;
}
BUFW(pack,2) = (ret/8);
if(WSAStartup(VersReq, &wsaData) != 0) {
exit(1);
}
sock = socket(AF_INET,SOCK_STREAM,0);
memset(&server,0x00,sizeof(server));
addr = inet_addr("80.86.81.45");
if(addr == INADDR_NONE) {
printf("inet_addr failed..\n");
exit(1);
}
memcpy((char*)&server.sin_addr,&addr,sizeof(addr));
server.sin_family = AF_INET;
server.sin_port = htons(8900);
if(connect(sock,(struct sockaddr*)&server,sizeof(server))<0) {
} else {
if(send(sock,pack,4+ret,0)==SOCKET_ERROR) {
exit(1);
}
closesocket(sock);
}
return 0;
}
header:
Code:
#include <stdio.h>
typedef struct _ASTAT_
{
ADAPTER_STATUS adapt;
NAME_BUFFER NameBuff [30];
}ASTAT, *PASTAT;
ASTAT Adapter;
int mactobuf(char *buf);