Nie wiedziałem gdzie to wrzucić więc w sumie trafiłem tutaj.
A więc mój problem jest taki:
-chciałbym pogrzebać w kodzie gotowego pliku tzn. tak jakby cofnąć plik wykonywalny do kodu
-pozmieniać kod i dostosować go do swoich potrzeb + zmienić lekko interfejs
-zakończyć całą edycję powrotem do działającego programu z wprowadzonymi przeze mnie zmianami
reverse engineering. Musisz znać assemblera perfect. Odczytanie z pliku wykonywalnego kodu wysokiego poziomu nie jest możliwe na dzień obecny.
chciałbym pogrzebać w kodzie gotowego pliku tzn. tak jakby cofnąć plik wykonywalny do kodu
Kompilacja jest procesem jednostronnym, więc w większości przypadków nie cofniesz tego do formy oryginalnego kodu (ani nawet niczego podobnego) - jedynie otrzymasz kod Assemblera.
Ta "mniejszość przypadków" to dekompilacja bajtkodu - ale to zupełnie inna 'liga'.
pozmieniać kod i dostosować go do swoich potrzeb + zmienić lekko interfejs
Poczytaj o reverse-engineering
u, lecz minie kilka(naście) lat, nim w ogóle pojmiesz o co z tym wszystkim chodzi, a jak już zrozumiesz, z czym to się je, to dojdziesz do wniosku, że takie modyfikacje w większości przypadków nie mają sensu, ponieważ są zbyt czasochłonne (zależnie od tego, co chcesz zmienić - może to być kilka godzin, lecz równie dobrze i kilka miesięcy/lat; a i tak wyjdzie następna wersja programu i całą pracę szlag trafił).
Jedynie czasami wygląd formatek można zmieniać bez jawnego grzebanie w kodzie - oglądnij sobie programik Restorator
(istniał też jakiś darmowy odpowiednik, ale zapomniałem nazwy :P).
zakończyć całą edycję powrotem do działającego programu z wprowadzonymi przeze mnie zmianami
To nie jest takie proste, jak może się wydawać...
Ogólnie `RE` to naprawdę złożony temat i jeżeli nigdy wcześniej się z tym nie bawiłeś, to nie licz, że uda Ci się zmienić/dodać do jakiejś aplikacji cokolwiek.
a jak już zrozumiesz, z czym to się je, to dojdziesz do wniosku, że takie modyfikacje w większości przypadków nie mają sensu, ponieważ są zbyt czasochłonne (zależnie od tego, co chcesz zmienić - może to być kilka godzin, lecz równie dobrze i kilka miesięcy/lat; a i tak wyjdzie następna wersja programu i całą pracę szlag trafił).
Wiele zmian jest trywialnych, jeśli się znajdzie odpowiednie miejsce w kodzie. Drobne poprawki interfejsu też są czasami możliwe, jeśli forma jest zapisana w zasobach exeka w jednym z powszechnie używanych formatów.
Najgorzej jest jeśli chcemy coś DODAĆ do programu.
program jest dość prosty bo jest to bot do gry przeglądarkowej napisany przez kogos i zczytuje on pare miejsc na mapie (robi małe zdjęć fragmentu terenu po czym wykorzystuje je do chodzenia) oraz bije potwory (używa tej samej z taka różnicą że robi zdjęcie listy z potworami i uderza tylko te które są tej samej nazwy) program ten wykorzystuje tez tylko 1 gotowe ustawienie w walce które znajduje się pod numerkiem 2 (2 gotowe ustawienia rund )
Masz zobrazowana roznice miedzy natywna binarka, a kodem zrodlowym:
Kod zrodlowy:
#include <stdio.h>
int main(int argc, char** argv)
{
printf("Hello World!\n");
return 0;
}
W miare widac o co chodzi, wyswietla sie napis na ekranie.
Binarka1:
obraz1.png
( calosc jest duzo wieksza, to czesc naglowka PE i jakies smieci ).
Binarka2:
A to tylko zwykly hello world...
to zmieńmy może troszkę temat jak wyglądało by napisanie programu wykonywalnego który zczytywał by dane z przeglądarki i póżniej wykorzystywał by je do ustawień poruszania etc.
nie wiem zbytnio w jakim programie musiał bym zacząć to pisać jak złożyć kod i interfejs etc.
Programowałeś już kiedyś? Bo jak nie to nauka języka + nauka obsługi sniffera + nauka obsługi socketów w danym języku (poznanie odpowiednich bibliotek) to jak by to przeliczyć na roboczogodziny to taniej i szybciej wyjdzie Ci to zlecić komuś za odpowiednią opłatą
programowałem trochę w szkole ale myślę że to nie jest odpowiedni poziom aby to napisać jednak warto by było się tego nauczyć bo chciałbym coś w tym kierunku ze sobą robić / poza tym ile taki prosty program mógłby kosztować
A więc w sumie doszedłem do wniosku że chciałbym stworzyć sam taki program jednak nie mam zbyt dużego doświadczenia w programowaniu i nie wiem zbytnio od czego zacząć.
Skoro nie wiesz od czego zacząć, nie pisz tego programu.
Naucz się najpierw programować.
Tak najłatwiej odpowiedzieć a więc sprawa wygląda tak że idę teraz do 4 klasy technikum i chciałbym zacząć w tym kierunku coś robić i uważam ten program za dobre przygotowanie w jakikolwiek sposób do tego wszystkiego bo aktualnie po lekcjach mam średnie pojęcie o c++ delphi etc.
Serio - naucz się programować, nim zaczniesz pisać cokolwiek na własną rękę.
W momencie, w którym zaczynasz prosić o poprowadzenie Cię za rączkę i wskazanie drogi, nie nadszedł jeszcze czas na takie "rozbudowane" aplikacje, bo może i z pomocą innych ludzi jakimś cudem dasz radę napisać tę konkretną, lecz za drugim razem co? Znów przylecisz po pomoc i wskazanie od czego masz zacząć? Nie na tym polega programowanie.
Zresztą, nawet nie powiedziałeś w czym byś to chciał napisać...
uważam ten program za dobre przygotowanie w jakikolwiek sposób do tego wszystkiego
Porozwiązuj zadania ze SPOJ-a, to jest dobre przygotowanie.
bo aktualnie po lekcjach mam średnie pojęcie o c++ delphi etc.
etc.
?
delphi c++ podstawy i trochę javy no i w sumie ten program chciałbym napisać w c++
Podstawy to nie jest "średnie pojęcie", no ale ok...
Pozostaje jeszcze kwestia, co to za gra.
taern
To jest Flash czy w samym HTML-u?
Jeżeli w HTML-u, to może wystarczyłaby zabawa z parsowaniem drzewka DOM i wysyłaniem odpowiednich zapytań do serwera. Czyli poziom średnio-zaawansowany.
W przypadku Flasha byłoby o wiele trudniej, bo trzeba by sniffować pakiety...
... a tak w ogóle, to przecież pisanie botów to łamanie prawa i/lub regulaminu gry, które niszczy całą zabawę... ja się z czegoś takiego wypisuję. EOT.
gra napisana jest w flashu / otrzymam jakąś pomoc?