Rozmiar piku exe w stałej po kompilacji ?

0

Witam, w jaki sposób zrobić tak aby po kompilacji rozmiar pliku exe znalazł się w stałej ?? czy jest to do zrobienia ? czy nie da się ?

0
ziutek7 napisał(a):

Witam, w jaki sposób zrobić tak aby po kompilacji rozmiar pliku exe znalazł się w stałej ?? czy jest to do zrobienia ? czy nie da się ?

Po zbudowaniu pliku EXE pobierz jego rozmiar, znajdź stałą gdzie to ma być i tam zapisz.

0

Nieco rozszerzając:
Jeżeli kompilacja się zakończy, napisz osobny program, który:
1.Odnajdzie tę stałą w pliku *.exe (bodajże w sekcji .rodata, .rdata lub .text, lecz tego nie jestem na 100% pewien i zależy to od kompilatora (może on w ogóle wyrzucić stałą z kodu)).
2.Podmień wartość na rzeczywisty rozmiar pliku (czyli np.jeżeli stała w pliku znajdować się będzie pod adresem 0x123ABC, to pod ten adres właśnie musisz wpisać rozmiar exe-ka).
3.Enjoy!

Ale znacznie prościej będzie pobrać ten rozmiar do zmiennej w trakcie działania programu.

0

Co chcesz osiągnąć? Do czego ci to potrzebne?

0

Otwórz swój własny plik i wykonaj funkcję GeFileSize ;)

0
Patryk27 napisał(a):

1.Odnajdzie tę stałą w pliku *.exe (bodajże w sekcji .rodata, .rdata lub .text, lecz tego nie jestem na 100% pewien i zależy to od kompilatora (może on w ogóle wyrzucić stałą z kodu)).

Można odnaleźć na podstawie unikalnej wartości stałej (a) lub jej otoczenia (b).

a)

  • ustawiasz w kodzie źródłowym wartość stałej np. na 0x123ABC
  • szukasz w pliku EXE takiej stałej (jeśli znaleziona więcej niż raz - to błąd unikalności)
  • zamieniasz ją na nową wartość
  • w programie odwołujesz się do stałej

b)

  • to samo, tylko stała zawarta jest w środku tablicy bajtów, wykorzystanie w kodzie trochę trudniejsze

@Azarien: to najprostsza forma zabezpieczenia przed:

  • błędnie pobranym plikiem
  • wirusem

Oczywiście zabezpieczenie do obejścia, ale lepszy rydz niż nic.

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