tworzenie patch i dll

0

Mam dwa pytanka:
1)Jak można stworzyć patcha(program, ktory zmieni cos w strukturze innego) Powiedzmy ze chcĘ zeby program w pętli for w programie nie wukonywal for(a=1,a<20;a++) na for(a=5;a<20;a++). to taki glupi przyklad ale chodzi o idee. Wiadomo ze moge zrobic zmiany w c pliku *.cpp ale powiedzmy ze dalem koledze program 4mb i chce zrobic jakies zmiany. Na dyskietce mu nie zaniose a neta nie ma. Więc jak ktos ma genialne pomysly z pakowaniem to niech lepiej nic nie pisze. Niech napisze ktos kot wie jak to zrobic??

2)Czym sa pliki *.dll(no poza tym ze sa bibliotekami i zawiera chyba o ile sie nie myle funkcje) i po co sa? Czy ktos moze mi podac prosty przykład kiedy potrzebne sa pliki *.dll i ewentualnie jak sie je tworzy??

0

Żeby zrobić patcha to trzeba najpierw wniknąć w sam kod proga i trzeba oczywiście wiedzieć co się chce zmienić... ;)
Żeby zobaczyć źródło programu trzeba dokonać na nim deasemblacji czyli inaczej mówiąc podglądnąć jego kod...
Najlepiej do tego nadaje się SoftIce... (super cudeńko;) )
I co najważniejsze jak robisz patcha to musisz pamięteć o tym aby nie zwiększać ani nie zmniejszać objętości programu bowtedy klapa...
Musisz w kodzie znaleźć takie miejsce skąd np. będziesz mógł wykonać skok do odpowiedniego miejsca i coś tam zmienić...
Czasami zdarza się że programista zostawia puste miejsca w kodzie (nie wiem po co) czyli instrukcje które nic nie robią (nop'y) I wtedy można <ort>wykożystać</ort> to miejsce aby dopisać swoją linijke czy dwie... :)
chyba się <ort>w ogóle</ort> poplątałem..... ;)

0

Napisałem kiedyś taki prosty program do patchowania pojedynczych plików. Nazywa się PatchIt! i można go ściągnąć stąd:

http://cyfbar.republika.pl/ - z działu "download-programy"

Trzeba się "wczuć" w jego obsługę, ale, co najważniejsze, zdaje się działać bezbłędnie.

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