[HEX]Jak znaleźć adress?

[HEX]Jak znaleźć adress?
PR
  • Rejestracja:ponad 9 lat
  • Ostatnio:około 4 lata
  • Lokalizacja:Poland
  • Postów:266
0

witam, szukam w plik .exe adresu zeby zwiekszyc z byte na np int
używałem do tego Hex editor neo oraz Cheat Engine
ale niestety w cheat engine mam taki adres którego NIE MA po otwarciu w programie Hex editor neo lub innym hex edytorze.

pomoże mi ktoś jak mogę dostać lub odnaleźć adress oraz go zmienić?

elwis
  • Rejestracja:ponad 18 lat
  • Ostatnio:16 dni
1

Generalnie potrzebujesz znaleźć RVA czyli adres pod którym sekcja będzie załadowana. Albo wrzuć to w disassembler, powinien ci od razu wszystko przeliczyć. Na linuksie do obu rzeczy uzylbym pev, na Windowsa chyba też jest, choć pewnie znajdziesz masę innych narzędzi do analizy plików PE


edytowany 4x, ostatnio: elwis
Zobacz pozostały 1 komentarz
elwis
To jest dekompilator .NET, sądząc po pytaniu raczej nie o to chodzi. Poczytaj sobie co to jest dekompilator, a co disassembler
PR
przecież to ty mi napisałeś "uzyłbym pev" po wpisaniu w google to mi wyszło.. używałem disabmbleronline i tez nie idzie znaleźć BYTE
elwis
http://pev.sourceforge.net czasem trzeba podpowiedzieć googlowi żeby zrozumiał...
PR
@elwis: odpada, mam win32 obecnie i wywala nie zgodność przy próbie zainstalowaniu
elwis
To skompiluj albo użyj czego innego i to raczej opcja dla ciebie bo pev to narzędzie konsolowe. Analiza plików w formacie PE. To jest temat który cię interesuje. Najlepiej zacznij od podstaw,, co to jest format PE.
Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
1

To co chcesz zrobić wcale nie jest ani oczywiste ani proste. Bez jakiejś podstawowej znajomości RE to w ogóle nie masz co do tego podchodzić. Zmiana wartości to jeszcze pół biedy, ale zmiana rozmiaru jakiejś zmiennej to już spory problem i nie dość że może zwyczajnie nie być możliwa, to wymagałaby też całej masy zmian we wszystkich miejscach które do tej pamięci się odnoszą.
Jeśli to jest program napisany w Javie/C# to jeszcze coś by można zrobić, bo one sie dekompilują ładnie, ale jeśli to jakiś natywny kod to zapomnij, albo siadaj to nauki i za jakieś 2 lata będziesz w stanie to zrobić.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
edytowany 2x, ostatnio: Shalom
PR
program jest napisany w c++, ale widziałem ze niektórym osobą sie udało zmienić kilka limitów z BYTE na inty, więc musi się jakoś dać.
Shalom
Ja nie mówie że się na pewno nie da, nie widziałem tego programu. Taki @msm @Rev czy @Gynvael Coldwind to by pewnie w 5 min ogarnęli, ale generalnie jeśli się na tym nie znasz, to czeka cię długa droga :)
PR
a takie rzeczy by ktoś zmienił za pieniądze to drogo?
elwis
  • Rejestracja:ponad 18 lat
  • Ostatnio:16 dni
0
Shalom napisał(a):

Zmiana wartości to jeszcze pół biedy, ale zmiana rozmiaru jakiejś zmiennej to już spory problem i nie dość że może zwyczajnie nie być możliwa, to wymagałaby też całej masy zmian we wszystkich miejscach które do tej pamięci się odnoszą.

To w sumie zależy, jest prawdopodobne, że adresy są dopełniane do wielokrotności 4/8, wtedy trzeba tylko instrukcje zmienić tam gdzie zmienna jest używana. Jeśli zmienna lokalna też można jakoś sobie poradzić, zwłaszcza jeśli mała funkcja.

Co do tego że binarna modyfikacja plików wykonywalnych to złożona sprawa, oczywiście. Najlepiej zacząć od nauczenia się podstaw asemblera


edytowany 1x, ostatnio: elwis

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.