Дата и час: Вто Ное 20, 2018 4:18 pm

Часовете са според зоната UTC + 2 часа [ DST ]




 Страница 1 от 1 [ 4 мнения ] 
Автор Съобщение
 Заглавие: Как да си "хакваме" сейфовете
МнениеПубликувано на: Нед Апр 06, 2014 11:22 pm 
Аватар
 
 

Регистриран на: Съб Сеп 24, 2005 3:30 pm
Мнения: 10617
Местоположение: Варна
Основни неща


Тук ще се опитам да въведа в основните неща, които ще ви трябват, за да си помогнете в някое досадно RPG. (например да направите героя си максимален левел още в самото начало или да имате максимално много пари или да надуете всичките си атрибути на макс)

И въпреки, че "хакване" е силна дума за това, реално на този принцип може да променяте всеки един файл от какъвто и да е формат, но ние ще разглеждаме "save" файловете от различни RPG-та, защото за това е и целта на този кратък tutorial.

Ще работим с Шестнадесетична бройна система или за кратко HEX.

Както винаги няма да ви отегчавам с допълнителни неща, като какво е HEX, но ще минем само основните неща.

Какво е това HEX ?
wiki написа:
Шестнадесетичната бройна система е позиционна бройна система, в която числата се представят с помощта на 16 динамични символа. Символите от 0-9 са представени чрез арабски цифри, а латинските букви A, B, C, D, E, F (или a-f) взимат стойностите от 10-15. Всяка шестнадесетична цифра се представя като група от четири двоични цифри (бит). Причина за това е, че за съхраняването на данните в оперативната памет на електронноизчислителни машини се използва двоичен код.


Eто ви няколко примера, в ляво е нормалното число, а в дясно е HEX:
Код за потвърждение: Избери целия код
52 => 0034
100 => 0064
999 => 03E7
Няма да се нуждаете от формули, има си програми, които ги конвертират автоматично за вас.

За нашето начинание ще се нуждаете от Hex Editor. Аз лично ползвам Hex Workshop, но вие може да ползвате всеки един, който си харесате. (аз ще ползвам него в този tutorial)

Нека да започнем с нещо лесно като за начало. Да създадем един примерен текстов файл с някакъв текст в него.
Изображение

Както виждате в него съм написал "This is a sample text".

Целта ни сега е да променим текста в него, но през Hex Editor-a ви.
Изображение
Както виждате нашия HEX код е това което се намира в левия прозорец (може да ползвате този онлайн конвертор за да видите, че ще получите същия резултат http://www.swingnote.com/tools/texttohex.php ):
Код за потвърждение: Избери целия код
5468697320697320612073616D706C652074657874


Нека да променим думата "This" на "That".
Нека използваме горния сайт ( http://www.swingnote.com/tools/texttohex.php ) и проверим какъв е кода на думата "That". Получаваме това, под цифрите ще напиша буквите на които отговарят:
Код за потвърждение: Избери целия код
54 68 61 74
 T  h  a  t

Т.е. знаем какъв е HEX кода на "That" но какъв е на "This" ? Нека пак проверим в сайта и ще получим това:
Код за потвърждение: Избери целия код
54 68 69 73


Т.е. вече знаем 2та, кода само трябва да ги подменим. Т.е. връщаме се отново в HEX едитора и търсим HEX кода на "This" (54 68 69 73)
А той се пада още в началото:
Изображение

Т.е. може да променим кода на "This" с този на "That". (т.е. "54 68 69 73" става "54 68 61 74")
Изображение

И сега ако сейфаме файла и го отворим, ще получим това.
Изображение

Успешно сме променили файла. Но нека да променим и друга част от него.
Примерно сега искаме да променим думата "is" да стане "on".
Пак правим проверка какво отговаря на "is" и "on".
Код за потвърждение: Избери целия код
is -> 69 73   
on -> 6f 6e


Търсим къде се намира кода, който отговаря на "is" и трябва да го заменим:
Изображение
става така след промяната:
Изображение

И след като сейфаме получаваме следния резултат в текстовия файл:
Изображение

Важно: HEX, който променяте трябва да има равен брой символи и с този, с който го променяте. В нашите примери This и That имат по 4ри символа, но ако бяхме решили да използваме Why, който има 3 символа, 4тият символ трябваше да заменим с празно пространство и щяхме да имаме 2 празни пространства след думата, вместо 1. (като при числата просто запомнете, че числата в нашия случай винаги трябва да бъдат 4ри HEX символа, дори ако ви показва, че 52 се преобразува като "32", сложете 2 нули пред него, за да стане 0032. Така ще търсите по-лесно стойностите.)

Но ние ще работим главно с числа, а не със символи, това беше само пример, за да видите как се процедира при промяната на HEX символи. Във втората част вече ще покажем, как наистина това ще ни помогне при промяната на сейфовете ни.


Последна промяна dripper на Пет Апр 18, 2014 10:28 am, променена общо 4 пъти


_________________
Изображение
Offline
 Профил  
 
 Заглавие: Re: Как да си "хакваме" сейфовете
МнениеПубликувано на: Нед Апр 06, 2014 11:43 pm 
Аватар
Ecchi Warrior

Регистриран на: Пон Яну 08, 2007 5:24 pm
Мнения: 19301
Местоположение: Tōkyō
.


Последна промяна Belgarion на Съб Авг 04, 2018 10:29 am, променена общо 1 път

Offline
 Профил  
 
 Заглавие: Re: Как да си "хакваме" сейфовете
МнениеПубликувано на: Нед Апр 06, 2014 11:53 pm 
Аватар
 
 

Регистриран на: Съб Сеп 24, 2005 3:30 pm
Мнения: 10617
Местоположение: Варна
Часът на истината


Реално ако сте разбрали горната част, няма какво повече да ви трябва за да се хванете да едитвате даден save файл.
Тук ще дам няколко примера с реални игри.

Първата ни игра ще бъде Men at Work! 2.

Каква е процедурата ?
Стартирайте играта си и направете първия си сейф, където поискате.
След това отидете в "save" папката на играта и би трябвало да видите това:
Изображение
(аз сейфах на първия слот и затова моят сейф се е записал на Save00.dat)
Т.е. нека да отворим нашия сейф с HEX Едитора си.

И би трябвало да получите един доста големичък код:
http://i.imgur.com/udzdwMz.jpg

Нашата цел е да намерим точно определени стойности, които ще трябва да променим.

Изключително важно е да направите back-up на своите save файлове, защото имате голяма вероятност да ги счупите, а ако искате отново да играете на тях е добре да си ги запазите някъде.

Така нека отворим Skill прозореца в нашата игра и да видим с какви числа може да работим.
Изображение

Мммм трябва ни нещо уникално, за което може да се хванем. Т.е. да не присъства при всички герои. Примерно HP-то на Aoi, само то има 50/50 и ще може да се закачим за него. Т.е. нека да се пробваме с него.

Нека да видим на какъв HEX отговаря 50.
Изображение
(това е един вграден конвертор към програмата с която работя, отваря се от тук http://i.imgur.com/2hvQjzL.jpg )

Т.е.
Код за потвърждение: Избери целия код
50 -> 0032


Следователно ще търсим този код. Отваряме си Find (с клавиш F3) И търсим по HEX '0032':
За наше щастие го има само 2 пъти и вероятно отговаря за HP-то в момента и максималното HP на героя ви.
Ами нека изпробваме дали сме прави. Нека го пременим примерно на 200/200 HP.
Т.е. трябва да знаем какъв е HEX-а на 200.
А той е:
Код за потвърждение: Избери целия код
200 -> 00C8

Т.е. трябва да променим 0032 с 00C8 и на 2те места.
Т.е. ето така:
Изображение

Нека сейфаме и видим резултата в действие.
Изображение
Както виждате успяхме да променим HP-то на героинята си, която е вече с 200/200 HP.

--------------------------------------------------------------------------

Но защо да спираме до там ? Нека да променим и Force-a на Aoi.
Щом веднъж сте намерили къде се намира HEX на даден герой може да установите, че повечето атрибути ще се намират около този HEX. Т.е. напълно е възможно на долните и горните 3 реда, да има цялата информация за тази героиня, т.е. може да се оглеждате за дадени числа там.

Така сега имаме 14/14 force. Нека да намерим колко е HEX-a на 14.
Код за потвърждение: Избери целия код
000E

Нека да го потърсим и да видим дали ще успеем да го намерим само 2 пъти или повече пъти.
Изображение
Дам има го само 2 пъти и те са намират точно до HP числата, които променихме в началото, т.е. сме на прав път.

Нека да го подменим примерно със 100/100.
Знаете вече процедурата, търсим HEX-a на 100 колко е.
Код за потвърждение: Избери целия код
100 -> 0064

Заменяме го така:
Изображение

Сейфаме и проверяваме резултата.
Изображение

Както виждате имаме успех отново. Force-a на Aoi е вече 100/100.

На този принцип работят голяма част от трайнърите и други подпомагащи програми. Защо да чакате някой да направи такъв като можете сами да си пипате стойностите.

По нататък ще се опитам да дам и пример с други RPG игри.

Като цяло трудната част е да намерите точните стойности, когато ги има повече пъти. Принципа е проба-грешка. Т.е. променяте дадена стойност, от тези които сте търсили и проверявате дали сейфави се е счупил или не. Ако сейфа ви се е счупил просто връщате този, на който сте си направили back-up и пак пробвате на него.

Разбира се имайте в предвид, че в играта има някакъв макс на даден атрибут, не може да имате герой 9999 левел. Ако го направите така имате възможност да си бъгнете сейфа или героя ви да стане -9001 левел. И после да викате, че този начин не бачи. Т.е. бъдете умни с промените и не се изхвърляйте много.

---------------------------------------------------------------


Сега ми се ще да си променя и Attack/Defense/Agility/Life/Will. Така и така сме тръгнали с Aoi, да продължим с нея.
Ако се загледате ще видите, че вместо цифри там имаме нещо като progress bar....
Ммм ами как да се закачим тогава като не виждаме какви цифри отговарят на този progress bar ?
Ами нека видим HEX кода след мястото, което сменихме Force-a на Aoi. Явно щом след HP-то следва Force, би трябвало някъде след тях да следват и стойностите на Attack/Defense/Agility/Life/Will.

Нека видим какво имаме.
Това са стойностите които променихме:
Изображение

Нека да видим какво е първото число след тях. (не забравяйте, че работим с 4ри HEX символа, т.е. 4ри символа са 1 число)
Изображение
Т.е. имаме "00 03", което отговаря на цифрата "3".
Ако се загледаме внимателно в прозорчето на Aoi, ще видим, че Attack има 3 зелени правоъгълника,
Изображение
т.е. има вероятност броя на правоъгълниците да е равен на точно число.

Но за да сме сигурни нека продължим на пред и да видим дали другите HEX стойности съвпадат и дали логиката ни е вярна.
Изображение
Следващите 4ри числа са:
Код за потвърждение: Избери целия код
0003 -> 3
0002 -> 2
0002 -> 2
0003 -> 3
Т.е. ако отново погледнем снимката на аои ще видите, че оцветени квадратчета следват точно тази последователност: 3, 3, 2, 2, 3.

Т.е. може да сме сигурни, че сме на прав път.
Нека да преброим колко квадратчета има в progress bar-a на Aoi. (аз лично ги преброих 25), т.е. за да ги направим на MAX ще трябва да подменим стойностите с HEX стойността на 25, която е:
Код за потвърждение: Избери целия код
0019 -> 25
Какво чакаме, нека да пробваме.

Ето какво се получи:
Изображение
Нека да сейфаме и да видим дали ще имаме успех.

Изображение
Както виждате успяхме да напълним всички атрибути на max.

---------------------------------------------------------------


Хубаво но остана level-a.
Проблема, е че той се повтаря с този на Lucy, а и като гледам атрибутите на другите ще се засече с тях.
Но какъв е проблема, щом вече знем къде е реда на Aoi ? До сега вървяхме на пред, а като гледам level-a се намира преди HP-то на екрана. Т.е. логично е HEX кода му да се намира преди HP-то.
Щом тя е Lv 2, би трябвало да видим "00 02" HEX стойност преди тази на HP-то, нека да погледнем.
Изображение
За жалост нямаме късмет, стойността е "00 01" (което е числото "1").

Но нека все пак се огледаме за "00 02" в редовете които променяхме.
Изображение
Ммм в този нямаме такава стойност, нека да видим на долния.
Изображение
Имаме съвпадение. Т.е. има някаква вероятност това да е стойността, която търсим...
Както казах още в началото понякога всичко опира до пробра/грешка.
Нека да пробваме да я променим пък ще видим какво ще стане.
Примерно нека да бъде 50 level.
HEX стойността на 50 беше: "00 32"
Променяме:
Изображение
сейфваме и да видим какво ще стане.

Изображение
Успяхме да уцелим правилната стойност...

---------------------------------------------------------------


Както виждате с повтарянето на 1 и съща операция, успяхме да променим нашия save файл.

Честито вече сте "младши хакери". :wink:



_________________
Изображение
Offline
 Профил  
 
 Заглавие: Re: Как да си "хакваме" сейфовете
МнениеПубликувано на: Пон Апр 07, 2014 9:42 pm 
Аватар
 
 

Регистриран на: Съб Сеп 24, 2005 3:30 pm
Мнения: 10617
Местоположение: Варна
Да опитаме с някоя друга игра.

Rance 3 - Leazas Kanraku -

Знаете процедурата вече.
Отваряте играта и стигате до първия момент, до който може да сейфате.
В този случай сейфовете се записват по този начин:
RANCE3SA.ASD (Save 01)
RANCE3SB.ASD (Save 02)
и прочие...

Отваряме първо играта и гледаме с какви числа ще работим.
Изображение

Тук целта ни ще е да променим HP/ST/LV/GOLD.

Ами да не губим време....
HP 70/70 това е на Rance героят ни. Т.е. ще трябва да преобразуваме 70 в HEX.
Код за потвърждение: Избери целия код
70 -> 0046


Нека да отворим сейфа с HEX едитора си.
Изображение

И да търсим стойността "0046"...
Изображение
Имаме съвпадения.

Нека ги променим примерно на 500. (в HEX 500 e "01F4" )
И получаваме нещо странно...
Изображение
Получихме 500/244 HP, т.е. прекалено сме алчни и надвишихме максималното HP и дори в момента не се показва изображение, значи успяхме малко да бъгнем сейфа. Нека тогава да намлим малко HP примерно от 500 на 200. (hex на 200 е "00C8" )

Сменяме
Изображение
и:
Изображение
Отново сме в играта. Вече HP-то е 200/200 и картината се върна.

Нека сега намерим 90/90 ( в hex "005A" ), това би трябвало да е Strength.
Изображение
Той се намира точно след HP-то, нека да го сменим на 200 (hex на 200 е "00C8" ) и него.

Да сменим и него по същия начин и получаваме това:
Изображение

Сега търсим 10 (hex "000A").
Изображение
Ммм проблема е, че го има на 4ри места в близост...
Ние ще пробваме с най-близкото до тези, които променяхме до сега, т.е. това, което съм маркирал.

Да го сменим на 50 (hex "0032") примерно.
Изображение
И отново успяхме да го нацелим...

Остана само да надуем златото си. В момента имаме 256 (hex "0100") GOLD. Нека да го заменим с 9000 (hex "2328")
Проблема е, че го има на прекалено много места.
Т.е. нека да намерим пак най-близкото, което до тези които променяхме до сега.

Аз залагам на това:
Изображение

Нека да го подменим и да видим какво ще стане.
Изображение
Нямаме късмет, нищо не се промени, значи не е правилната стойност. Или променете тази стойност както си беше или сложете back-up си.

И пробваме с друга.

Честно казано минах всички 30 варианта и не го намерих. =))
Реших да похарча малко пари в играта, за да може да падна на някое не толкова често срещано hex число и го намерих но се промени по начин, който не очаквах... трябваше да бъде 9000, но стана 10275 GOLD...
Т.е. това ще го пропуснем... :lol:

И това е всичко и за тази игра...
С изключение на GOLD-a всичко останало успяхме да го променим... :D



_________________
Изображение
Offline
 Профил  
 
Покажи мненията от миналия:  Сортирай по  
 Страница 1 от 1 [ 4 мнения ] 

Часовете са според зоната UTC + 2 часа [ DST ]


Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения

Търсене:
Иди на: