Czym naprawde jest adres który przechowuje wskaźnik C++
Ostatnio zmodyfikowano 2014-02-04 15:42
CodeFun Temat założony przez niniejszego użytkownika |
» 2014-02-01 11:56:28 :)
To może uproszczę pytanie. Czym jest lub gdzie znajduje się offset w trybie chronionym z włączonym stronicowaniem ? |
|
CodeFun Temat założony przez niniejszego użytkownika |
» 2014-02-04 15:42:01 Chyba rozbiłem temat \_/ Każdy proces widnieje w katalogu stron (dostaje od systemu pewien adres w katalogu stron). Adres który przechowuje wskaźnik np 0x22ff38 binarnie:
0010 0010 1111 0011 1000
numerując od prawej bity 11 - 0 to przesunięcie względem strony. 11 - 21 to strona. Zatem w tym wypadku można by powiedzieć, że nasza zmienna znajduje się w: 111 0011 1000 offsecie na 0 0100 0101 stronie
Dlatego uruchamiając sto osiemdziesiąt tych samych programów jedyne co się będzie zmieniać to adres w katalogu stron, reszta się nie zmieni, gdyż program (jego długość, ilość zmiennych itd.) jest identyczny.
Dużo pomógł mi w drążeniu tematu CheatEngine 6.3 Można wiele się z niego nauczyć i zrozumieć wskaźniki bo wtedy nabierają one głębokiego sensu, a wręcz śmieszne wydaje się ich brak. Swoją drogą ciekawy program...(:
Może ktoś to potwierdzi skomentuje ?
|
|
1 « 2 » |