[PORADNIK] Kurs Romhackingu - ErnBob

Awatar użytkownika
mziab
Posty: 459
Rejestracja: 20 maja 2008, o 23:11
Grupa: mteam
Kontakt:

Re: [PORADNIK] Kurs Romhackingu - ErnBob

Postautor: mziab » 23 wrz 2013, o 15:34

mziab - dobrze, ale skoro muszą się mieścić w tym zakresie, to dlaczego niektóre się nie mieszczą?
Mieszczą się... o ile mówimy o standardowych pointerach GBC. Adres w romie nie mieści, dlatego go przeliczamy. Prawidłowy, poprawnie obliczony pointer mieści się w tym zakresie, chyba że gra używa innego sposobu zapisu (np. pointerów relatywnych).
To co pisałeś trochę mi pomogło, lepiej to rozumiem, ale nadal nie potrafię robić, nadal nie wiem co zrobić z tym że początek słowa mam w 0000xxxx a wartość znalazłem w 0003xxxx, naprawdę tego nie rozumiem, daleko nie zajadę na tym że potrafię zrobić tablicę znaków, dobrać się do czcionek i kilka jeszcze drobnych rzeczy, bez pointerów jestem ograniczony, sami pomyślcie jak ograniczające by było to jakbyśmy coś tłumaczymy i mieli limity znaków, byśmy musieli skrótami pisać lub ucinać zdania. Ten poradnik nie opisuje zbytnio przypadków jakie mogą być, a powinien uwzględnić wszystko, powinno być więcej przykładów i więcej obrazków, a zobaczycie że to pomoże ludziom, chyba właśnie o to chodzi by sobie pomagać, niech nasza społeczność się rozrasta, ci co się do tego nadają na pewno zostaną w tym na dłużej, a tym którym nie będzie szło odpadną.
Przede wszystkim należy wyjść z założenia, że w przypadku każdej gry to jak zapisane są pointery zależy nie tylko od platformy, ale i od tego jak została napisana. Nie ma jednego "standardu" zapisu nawet na tej samej platformie. Czasem pointery są liczone względem czegoś (pointery relatywne), np. początku bloku danych albo kodu. Prawdziwie niezawodnym sposobem jest opanowanie assemblera i posłużenie się debuggerem, żeby zobaczyć skąd i w jaki sposób gra bierze adres danych do odczytania. Wiele z tych "tajemnych sztuczek" wynika z tego jak działa dany hardware, a konkretnie mapowanie pamięci przez procesor. Swoją drogą, GBC jest niezbyt fortunną platformą do nauki pointerów. W przypadku SNES-a czy GBA jest na ogół dużo prościej, choć jak zawsze zależy to od konkretnej gry.
"Człowieka można przedstawić w postaci ułamka, w którym licznikiem są jego właściwości, a mianownikiem - mniemanie o sobie. Im większy mianownik, tym mniejszy cały ułamek." - Lew Tołstoj

krykoz
Posty: 32
Rejestracja: 19 kwie 2011, o 22:02

Re: [PORADNIK] Kurs Romhackingu - ErnBob

Postautor: krykoz » 23 wrz 2013, o 17:04

mziab - dobrze, ale skoro muszą się mieścić w tym zakresie, to dlaczego niektóre się nie mieszczą?
Mieszczą się... o ile mówimy o standardowych pointerach GBC. Adres w romie nie mieści, dlatego go przeliczamy. Prawidłowy, poprawnie obliczony pointer mieści się w tym zakresie, chyba że gra używa innego sposobu zapisu (np. pointerów relatywnych).
To co pisałeś trochę mi pomogło, lepiej to rozumiem, ale nadal nie potrafię robić, nadal nie wiem co zrobić z tym że początek słowa mam w 0000xxxx a wartość znalazłem w 0003xxxx, naprawdę tego nie rozumiem, daleko nie zajadę na tym że potrafię zrobić tablicę znaków, dobrać się do czcionek i kilka jeszcze drobnych rzeczy, bez pointerów jestem ograniczony, sami pomyślcie jak ograniczające by było to jakbyśmy coś tłumaczymy i mieli limity znaków, byśmy musieli skrótami pisać lub ucinać zdania. Ten poradnik nie opisuje zbytnio przypadków jakie mogą być, a powinien uwzględnić wszystko, powinno być więcej przykładów i więcej obrazków, a zobaczycie że to pomoże ludziom, chyba właśnie o to chodzi by sobie pomagać, niech nasza społeczność się rozrasta, ci co się do tego nadają na pewno zostaną w tym na dłużej, a tym którym nie będzie szło odpadną.
Przede wszystkim należy wyjść z założenia, że w przypadku każdej gry to jak zapisane są pointery zależy nie tylko od platformy, ale i od tego jak została napisana. Nie ma jednego "standardu" zapisu nawet na tej samej platformie. Czasem pointery są liczone względem czegoś (pointery relatywne), np. początku bloku danych albo kodu. Prawdziwie niezawodnym sposobem jest opanowanie assemblera i posłużenie się debuggerem, żeby zobaczyć skąd i w jaki sposób gra bierze adres danych do odczytania. Wiele z tych "tajemnych sztuczek" wynika z tego jak działa dany hardware, a konkretnie mapowanie pamięci przez procesor. Swoją drogą, GBC jest niezbyt fortunną platformą do nauki pointerów. W przypadku SNES-a czy GBA jest na ogół dużo prościej, choć jak zawsze zależy to od konkretnej gry.
to będę musiał opanować assemblera i debuggera, polecasz jakieś programy do robienia tego? bo nie chce znów używać jakiegoś programu który nie działa tak jak powinien

a w tym HxD jak załadować tablicę jakąś? bo nigdy nie ma takiej opcji

Awatar użytkownika
mziab
Posty: 459
Rejestracja: 20 maja 2008, o 23:11
Grupa: mteam
Kontakt:

Re: [PORADNIK] Kurs Romhackingu - ErnBob

Postautor: mziab » 23 wrz 2013, o 17:14

to będę musiał opanować assemblera i debuggera, polecasz jakieś programy do robienia tego? bo nie chce znów używać jakiegoś programu który nie działa tak jak powinien[/qupte]

GBC dużo się nie bawiłem, ale z emulatorów z debuggerami masz do wyboru m.in. BGB i NO$GMB.
a w tym HxD jak załadować tablicę jakąś? bo nigdy nie ma takiej opcji
HxD nie ma takiej opcji. Jest to "goły" hexedytor. Jeśli chcesz czegoś z obsługą tablic, gorąco polecam Translhextion.
"Człowieka można przedstawić w postaci ułamka, w którym licznikiem są jego właściwości, a mianownikiem - mniemanie o sobie. Im większy mianownik, tym mniejszy cały ułamek." - Lew Tołstoj

krykoz
Posty: 32
Rejestracja: 19 kwie 2011, o 22:02

Re: [PORADNIK] Kurs Romhackingu - ErnBob

Postautor: krykoz » 23 wrz 2013, o 17:26

to będę musiał opanować assemblera i debuggera, polecasz jakieś programy do robienia tego? bo nie chce znów używać jakiegoś programu który nie działa tak jak powinien[/qupte]

GBC dużo się nie bawiłem, ale z emulatorów z debuggerami masz do wyboru m.in. BGB i NO$GMB.
a w tym HxD jak załadować tablicę jakąś? bo nigdy nie ma takiej opcji
HxD nie ma takiej opcji. Jest to "goły" hexedytor. Jeśli chcesz czegoś z obsługą tablic, gorąco polecam Translhextion.
włączyłem program, załączyłem rom, wybrałem tablicę, kliknąłem thingy view active ale nie ma wszystkich znaków są słowa pourywane np ‚¦st‚¦ś@K‚ k‚ r‚¨tt‚¨H|AhI@Mój@Sc‚¨‚¤t‚¦r@wykrył|Tw‚¨ją@l‚¨k‚ l‚˘z‚ cjęI||W‚˘t‚ j@mł‚¨dszy@br‚ c‚˘‚¦I|Ot‚¨@j‚¦st‚¦mI@Z‚ b‚˘jm

czemu nie ma jakiegoś normalnego programu który działa jak trzeba? thingy32 był by spoko gdyby dało się w nim ustawić by pokazywało 3 kolumny, bo do pointerów potrzebna mi właśnie ta środkowa z hexami

Awatar użytkownika
mziab
Posty: 459
Rejestracja: 20 maja 2008, o 23:11
Grupa: mteam
Kontakt:

Re: [PORADNIK] Kurs Romhackingu - ErnBob

Postautor: mziab » 23 wrz 2013, o 17:31

Bo wyświetlanie używając tablicy trzeba włączyć za pomocą "Thingy View Active". Sugerowałbym nie wieszać psów na programie po jednym uruchomieniu, bo z typowo romhakerskich edytorów Translhextion to ścisła czołówka. Z kolei rozwój Thingy32 był porzucony już kilkanaście lat temu, kiedy po raz pierwszy po niego sięgnąłem. A twój problem z dziwnymi znaczkami wynika z tego, że zapisałeś tablicę jako UTF-8, a nie ANSI.
"Człowieka można przedstawić w postaci ułamka, w którym licznikiem są jego właściwości, a mianownikiem - mniemanie o sobie. Im większy mianownik, tym mniejszy cały ułamek." - Lew Tołstoj

krykoz
Posty: 32
Rejestracja: 19 kwie 2011, o 22:02

Re: [PORADNIK] Kurs Romhackingu - ErnBob

Postautor: krykoz » 23 wrz 2013, o 18:01

Bo wyświetlanie używając tablicy trzeba włączyć za pomocą "Thingy View Active". Sugerowałbym nie wieszać psów na programie po jednym uruchomieniu, bo z typowo romhakerskich edytorów Translhextion to ścisła czołówka. Z kolei rozwój Thingy32 był porzucony już kilkanaście lat temu, kiedy po raz pierwszy po niego sięgnąłem. A twój problem z dziwnymi znaczkami wynika z tego, że zapisałeś tablicę jako UTF-8, a nie ANSI.
nie wybierałem jako co ma być zapisane, po prostu w tabular wpisałem znaki zapisałem jako tablica dla thingy32 i tak już używałem, nie widziałem że można coś zmienić

dobra, otworzyłem tablicę notatnikiem i wybrałem ANSI, ale np spację zamieniło mi w @, ( w i, ) w j, niektóre normalne litery zamieniło w dziwne znaczki, szkoda że w tym edytorze nie da się robić tablicy, wszystko w tym romhackingu jest pod górkę robione

Awatar użytkownika
mziab
Posty: 459
Rejestracja: 20 maja 2008, o 23:11
Grupa: mteam
Kontakt:

Re: [PORADNIK] Kurs Romhackingu - ErnBob

Postautor: mziab » 23 wrz 2013, o 18:18

Jeśli Translhexion nie działa u ciebie prawidłowo, zawsze pozostaje WindHex.
"Człowieka można przedstawić w postaci ułamka, w którym licznikiem są jego właściwości, a mianownikiem - mniemanie o sobie. Im większy mianownik, tym mniejszy cały ułamek." - Lew Tołstoj

krykoz
Posty: 32
Rejestracja: 19 kwie 2011, o 22:02

Re: [PORADNIK] Kurs Romhackingu - ErnBob

Postautor: krykoz » 23 wrz 2013, o 18:41

Jeśli Translhexion nie działa u ciebie prawidłowo, zawsze pozostaje WindHex.
o coś takiego mi chodziło, tablicę wczytało bez żadnego problemu, raczej będzie okej teraz.

Przy okazji mam pytanie, kiedyś miałem taki emulator, do nesa, klikanłem coś w nim i mi pokazywało grafiki, coś jak tile editor, pokazywało czcionki i grafiki które aktualnie były używane w grze, tylko nie pamiętam nazwy, przydałby mi się taki program tylko że do gier gbc i snes

Awatar użytkownika
mziab
Posty: 459
Rejestracja: 20 maja 2008, o 23:11
Grupa: mteam
Kontakt:

Re: [PORADNIK] Kurs Romhackingu - ErnBob

Postautor: mziab » 23 wrz 2013, o 19:24

Do NES-a musiało to być FCEUXD SP.
"Człowieka można przedstawić w postaci ułamka, w którym licznikiem są jego właściwości, a mianownikiem - mniemanie o sobie. Im większy mianownik, tym mniejszy cały ułamek." - Lew Tołstoj

krykoz
Posty: 32
Rejestracja: 19 kwie 2011, o 22:02

Re: [PORADNIK] Kurs Romhackingu - ErnBob

Postautor: krykoz » 23 wrz 2013, o 19:43

Do NES-a musiało to być FCEUXD SP.
Dokładnie to jest to, opcja PPU Viewer, od razu widać jaki znak jest w jakim miejscu, szkoda że tylko NES tam chodzi, bo naprawdę dobry emulator.


Wróć do „Poradniki”



Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości