Winapi, program generujacy program ze zmiennymi danymi

0

Witam! Zastanawiam sie w jaki sposob moznaby bylo napisac program generujacy program... np program ktory wysyla e-maila na podany w generatorze adres. Nurtuje mnie to spory czas i postanowilem zwrocic sie z prosba o pomoc. Pozdro ;)

0

Przeczytałeś jakiś tutorial o programowaniu? Czy to takie pytanie z serii "tata, a Marcin powiedział..."?
Widać że błędnie używasz słów do opisu problemu. A twój przykład też jakoś nie współgra z problemem.

Program - to lista instrukcji które ma wykonać system, zazwyczaj myślimy o kodzie skompilowanym do postaci maszynowej, ale w obecnych czasach języków skryptowych/interpretowanych to nie do końca uprawnione uproszczenie.
Co z języka programowania zrozumiałego przez człowieka tworzy program zrozumiały dla maszyny? Kompilator.
Więc program generujący program musiałby umieć albo tworzyć bezpośrednio kod maszynowy lub instrukcje w języku programowania i wywoływać kompilator lub tworzyć skrypt i żądać jego wykonania.

Podany przez ciebie przykład z wysyłaniem emaili nie ma żadnego związku (ani potrzeby) z powyższym generowaniem jednego programu przez drugi. Wysłanie emaila to nic innego jak podłączenie się do serwera smtp i przekazanie mu sekwencji instrukcji prowadzących do wysłania emaila. Oczywiście różne języki programowania, środowiska, frameworki, biblioteki opakowują to udostępniając programiście pewne API, zamiast zmuszać go do bezpośredniej wymiany informacji z serwerem smtp.

0

Wybacz ze majac 17 lat nie mam magistra... Bycmoze moje slownictwo nie jest zbyt profesjonalne ale z pewnoscia mozna sie ogarnac o co mi chodzilo. Przyklad jak przyklad.. chodzi mi ze w tym generatorze czy jak go nazwac bedzie podawany adres do zmiennej w pamieci procesu i powstaly plik wykonywalny bedzie sciagal zawartosc tej pamieci(nick w grze itp)...

0

Czyli po prostu, chcesz miec jakis "maigczny" sposob, ktory z bedize Ci wypluwał pojedyncze pliki .exe, przy cyzm kazdy .exe bedzie wysylal maila na jeden konkrenty pamietany przez ten plik .exe adres?

Tak, da sie. W kontekscie jezyków typu C++ mozesz to zrobic z poziomu kodu, tzn. tworzac generator "tesktowy" - ktory na podstawie podanego maila zmodyfikuje lekko kod i potem zwyklym kompilatorem skompiluje nowy program - albo "z zewnatrz" - napisac jeden program, w ktorym przygotujesz "obszar" (np. tablice tysiaca znakow zerowych), skompilujesz go, a potem Twoj "generator" wezmie ten plik .exe, skopiuje go, znajdzie te tablice, wpisze do niej adres email i zapisze plik (program zas musi byc na tyle "sprytny", zeby potem w tej tablicy z "zerami" szukac adresu email).

Jezeli do kontektu dorzucisz jeszcze wiedze o systemie operacyjnym, np. windows, to mozesz rozwiazanie (2) wykonac inaczej - w Windowsach .exe i .dll maja prawo zawierac sekcję "zasobów" - "resources" - czyli kompletnie niezaleznych od programu blokow danych, z ktorych ten program moze korzystac byle by tylko znal ich numer/identyfikator. Resources zawarte w pliku .exe/.dll mozna edytowac/podmieniac nie ruszajac wlasciwego programu, sa na to proste gotowe programy, a i z kompilatorem zwykle jakis commandlineowy przychodzi.

Jezeli interesuje Cie rozwiazanie (2) ale zarowno "tablica zer" jak i ograniczanie sie do windows odpada, to zawsze mozesz do pliku wykonywalnego dostrzelic nowy "segment", nazwany jakkolwiek, w ktory potem w ciemno bedziesz email wpisywac.. ale to jest: * trudniejsze, gdyz bardziej niskopoziomowe * trudniejsze, gdyz ten segment potem program musi "znalezc" (patrz randomizacja adresow na vista i w gore), * turdniejsze gdyz (...)

a jezeli nie musi to byc C++, to inne platformy zwiazane z jezykami jak C# czy Java też maja swoje mechanizmy osadzania "resources" w plikach koncowych, w wiekszosci calkiem podobne ideologicznie.

0

Oczekiwalem wlasnie takiej odpowiedzi, teraz wiem w ktorym kierunku mam szukac ;). Dzieki i pozdro!

0

Tylko wiedz, że jeśli przygotowujesz spambota, znajdziemy Cię:]

0

Nie pisze spambota, bedzie to cos innego. Nie planuje tego uzywac, pisze tylko dla rozszerzenia wiadomosci i wlasnej satysfakcji ;)

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