[Delphi] Zamiast doklejania programu do exeka, zamiana?!

0

Napisalem 2 programy. Jeden z nich mial dopisac drugi program do exe.
Postepowalem zgodnie z instrukcja zawarta na tej stronie. Program1 uruchomil sie, lecz zamiast DOKLEIC drugi program do exe, ZAMIENIL go z w/w plikiem. Nie kumam o co chodzi... Pomocy!!

0

A co piszesz virka ?? :-D

A tak na serio do doklej go na koniec pliku czy jak tam chcesz czyli
Seek(F,FileSize(F)); // przechodz na koniec pliku
i dopiero dopisuj drógi. :-P

0

uzyj takich funkcji jak assignfile, reset, seek(eof) write twoj plik i po sprawie nie chce mi sie pisac:) tylko upewnij sie ze filemode jest ustawione na read&write
jak chcesz gotowy kod to powiedz to ci napsize następnym razem

0

chcialem po prostu zrobic program, ktory zablokuje dzialanie exe, chyba ze poda sie haslo (zawarte w ukrytym na dysku pliku ini) na oknie wyswietlajacym sie przy probie uruchomienia pliku. Program1 wprowadza haslo do ini i wgrywa program2 do exe. Program2 ma za zadanie zablokowac exe, chyba ze poda sie haslo. Wartosc tego hasla jest zapisana w w/w pliku ini. Prosze o kod programu i o dalsza pomoc!

0

Heh... Musisz skopiować tyle danych z początku tego exe'ka którego będziesz blokował ile ma ten prog którego chcesz dokleić. Potem skopiować je na koniec tegoż pliku zablokowanego, a na początek wkleić prog blokujący (przynajmniej ja bym tak zrobił ... ) i potem po podaniu prawdziwego hasła pusisz posklejać go w całość.
Czy jakoś tak .... :-)

0

W sumie to dalej nie kumam :). Chcialem tylko dokleic moj program na poczatek exeka, a nie zamieniac mojej pracy z tym plikiem. Wiec potrzebna mi jest chyba jakas procedura w prog1, ktorej nie znam...
I jeszcze jedna sprawa (aktualna, jesli rozwiaze sie problem jw.) : jaka komenda zamkne caly exe z moim programem, a jaka sam prog2 w tym execu tak, zeby aplikacja "ofiara" zaczela dzialac.
Z gory dzieki...

0

Uh...
const
P1S=314562; // Wielkość tego prga co ma blokować
Var
Bufor,Bufor1:array[0..P1S] of char;
F,G:file;
R:integer;
begin
AssignFle(F,'Prog1.exe'); // Otwórz p1
Reset(F,1);
BlockRead(F,P1S,Sizeof(P1S),R); // Odczytaj jego zawartość
CloseFile(F);
AssignFile(F,'prog2.exe'); // otwórz plik blokowany
Reset(F,1);
Seek(f,0); // Przejdź na początek
BlockRead(F,Bufor1,Sizeof(Bufor1),R); // Odczytaj początek
Seek(F,FileSize(F)); // Przejdź na koniec
BlockWrite(F,Bufor1,Sizeof(Bufor1),R); // Zapisz odczytany początek plik
Seek(F,0); // Wróć na początek
BlockWrite(F,Bufor,Sizeof(Bufor),R); // Zapisz program blokujący
Closefile(F); // Zamknij plik
end.

I to tyle ...
A tego się chyba nie opłaca pisać w delphi bo rozmiary będą ogromne (może choć skompresuj Upx'em).

0

Ok dzieki. Mam tylko problem z tym:

BlockRead(F,P1S,Sizeof(P1S),R); // Odczytaj jego zawartość

Wystepuje nastepujacy blad:

[Error] Unit1.pas(74): Constant object cannot be passed as var parameter

Nie wiem o co z tym chodzi... Rudy pomocy ;)

0

i to chyba odnosi sie do Sizeof... no w ostatnim wypadku do P1S

0

ja juz tez nic niekumam ;[

0

Sorry tak powinno być: [wstyd]
BlockRead(F,Bufor,Sizeof(Bufor),R); // Odczytaj jego zawartość

Bo P1S to stała. :-P

0

Okey wporzadku, plik sie dokleja ale po wlaczeniu pliku exe z doklejonym plikiem powstaje blad w postaci pustego okna z przekreslonym czerwonym znaczkiem. Wiesz o co chodzi? A i jeszacze jedno, bo wywalilem z programu plik .reg ktory utworzylem wczesniej bo myslalem ze tak to trza zrobic (patrz FAQ).

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