English || Главная | Программы | Обои | Статьи | Разное | О проекте


Страницы: 1 | 2 | 3

2. Картинка (картинки) лежат в разных смещениях.

; ##### Picture 522 #####
00DA1074: 1F0E88004889E3A0 1F0E88004889E3A0

00E38948: 7F00E01A00000500E0FF00000CD39CFF 4C00E003FFFF0400E003FFFF1500E0FD
00E38958: E0910BE6F5FF00000300E0030000FFD3 FFFF0000FFFF0400E0FDFFFF0000FFFF
00E38968: 9C0700E0FF04190300E0FF60CB0B97FF 1500E003FFFF0400E003FFFF4800E019
00E38978: FF00000300E0FF000002D39C0800E002 FFFF0600E0FFFFFF11A005FFFFFF03E0
00E38988: 04190200E0FF60CB0BCDFEFF00000300 FFFDFFFF00F8FFFF0600E0FFFFFF11A0
00E38998: E0FE0000D39C0400E0080419FE00E0E0 05FFFFFF03E0FFFDFFFF00F8FFFF0600
00E389A8: 910B83EDFF00000300E0FE0000D39C04 E0FFFFFF11A005FFFFFF03E0FFFDFFFF
00E389B8: 00E005D39C020419FDD39C00E0E0910B 00F8FFFF0600E0FFFFFF11A005FFFFFF
00E389C8: 60CBFF00000300E0030000FFD39C0700 03E0FFFDFFFF00F8FFFF0600E019FFFF
00E389D8: E0FE0501D39C0200E0FF00200BE091FF 2200E00F0F0F0F0F0F0F0F0F0F0F0F0F
00E389E8: 00000500E0FE0000D39C0700E0FFD39C 0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F
00E389F8: 0300E00C0020FF00000500E01A000021 0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F
00E38A08: 00E0 0F0F

; ##### Picture 523 #####
00DA107C: 1F0E88000C8AE3A0 1F0E8800F89FD2A0

00D29FF8: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 4500E003FFFF0400E003FFFF0400E003
00D2A008: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFF0E00E0FDFFFF0000FFFF0400E0FD
00D2A018: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFF0000FFFF0400E0FDFFFF0000FFFF
00D2A028: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0E00E003FFFF0400E003FFFF0400E003
00D2A038: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFF4800E019FFFF0600E0FFFFFF11A0
00D2A048: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 05FFFFFF03E0FFFDFFFF00F8FFFF0600
00D2A058: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E0FFFFFF11A005FFFFFF03E0FFFDFFFF
00D2A068: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00F8FFFF0600E0FFFFFF11A005FFFFFF
00D2A078: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 03E0FFFDFFFF00F8FFFF0600E0FFFFFF
00D2A088: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 11A005FFFFFF03E0FFFDFFFF00F8FFFF
00D2A098: FFFFFFFFFFFFFFFFFF 0600E019FFFF2200E0

С патчами, которые записаны в разные области придется немного повозится. Придется разобрать патч и разложить его на несколько составных частей, ориентируясь в первую очередь на порядок следования смещений. К примеру патч из примера мы расчленяем на два:

Первый:

; ##### Picture 522 #####
00DA1074: 1F0E88004889E3A0 1F0E88004889E3A0

00E38948: 7F00E01A00000500E0FF00000CD39CFF 4C00E003FFFF0400E003FFFF1500E0FD
00E38958: E0910BE6F5FF00000300E0030000FFD3 FFFF0000FFFF0400E0FDFFFF0000FFFF
00E38968: 9C0700E0FF04190300E0FF60CB0B97FF 1500E003FFFF0400E003FFFF4800E019
00E38978: FF00000300E0FF000002D39C0800E002 FFFF0600E0FFFFFF11A005FFFFFF03E0
00E38988: 04190200E0FF60CB0BCDFEFF00000300 FFFDFFFF00F8FFFF0600E0FFFFFF11A0
00E38998: E0FE0000D39C0400E0080419FE00E0E0 05FFFFFF03E0FFFDFFFF00F8FFFF0600
00E389A8: 910B83EDFF00000300E0FE0000D39C04 E0FFFFFF11A005FFFFFF03E0FFFDFFFF
00E389B8: 00E005D39C020419FDD39C00E0E0910B 00F8FFFF0600E0FFFFFF11A005FFFFFF
00E389C8: 60CBFF00000300E0030000FFD39C0700 03E0FFFDFFFF00F8FFFF0600E019FFFF
00E389D8: E0FE0501D39C0200E0FF00200BE091FF 2200E00F0F0F0F0F0F0F0F0F0F0F0F0F
00E389E8: 00000500E0FE0000D39C0700E0FFD39C 0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F
00E389F8: 0300E00C0020FF00000500E01A000021 0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F
00E38A08: 00E0 0F0F

Видите, смещение начинается в области 00E38948 и заканчивается в области 00E38A08. Вот тут нам и понадобится знание шестнадцатеричной системы счисления для построения картинок в патче по порядку.

Второй:

; ##### Picture 523 #####
00DA107C: 1F0E88000C8AE3A0 1F0E8800F89FD2A0

00D29FF8: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 4500E003FFFF0400E003FFFF0400E003
00D2A008: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFF0E00E0FDFFFF0000FFFF0400E0FD
00D2A018: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFF0000FFFF0400E0FDFFFF0000FFFF
00D2A028: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0E00E003FFFF0400E003FFFF0400E003
00D2A038: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFF4800E019FFFF0600E0FFFFFF11A0
00D2A048: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 05FFFFFF03E0FFFDFFFF00F8FFFF0600
00D2A058: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E0FFFFFF11A005FFFFFF03E0FFFDFFFF
00D2A068: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00F8FFFF0600E0FFFFFF11A005FFFFFF
00D2A078: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 03E0FFFDFFFF00F8FFFF0600E0FFFFFF
00D2A088: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 11A005FFFFFF03E0FFFDFFFF00F8FFFF
00D2A098: FFFFFFFFFFFFFFFFFF 0600E019FFFF2200E0

В этой части патча данные начинаются в другой области 00D29FF8 и заканчиваются в 00D2A098.

После расчленения патча на составляющие необходимо обработать по методу, описанному в первом примере. НО! Если хотим получить красивый и ровный патч придется немного поработать головой, самую малость, запоминая последнее смещение в каждой части обработанного патча. Покажу на примере.

После обработки первой части патча мы имеем:

; ##### Picture 522 #####
00DA1074: 1F0E88004889E3A0 1F0E880000000BA0

000B0000: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 4C00E003FFFF0400E003FFFF1500E0FD
000B0010: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFF0000FFFF0400E0FDFFFF0000FFFF
000B0020: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 1500E003FFFF0400E003FFFF4800E019
000B0030: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFF0600E0FFFFFF11A005FFFFFF03E0
000B0040: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFDFFFF00F8FFFF0600E0FFFFFF11A0
000B0050: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 05FFFFFF03E0FFFDFFFF00F8FFFF0600
000B0060: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E0FFFFFF11A005FFFFFF03E0FFFDFFFF
000B0070: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00F8FFFF0600E0FFFFFF11A005FFFFFF
000B0080: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 03E0FFFDFFFF00F8FFFF0600E019FFFF
000B0090: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2200E00F0F0F0F0F0F0F0F0F0F0F0F0F
000B00A0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F
000B00B0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F
000B00C0: FFFF 0F0F

Запоминаем вот этот адрес: 000B00C0, прибавляем к нему 0x10, получаем 000B00D0. То есть вторую часть мы будем смещать с этого смещения: 000B00D0, указав в "Новый начальный адрес" данное смещение.

После обработки второй части патча необходимо его собрать воедино, соблюдая последовательность по номерам картинок ; ##### Picture *** #####.


Сравниваем патч ДО и ПОСЛЕ.

Страницы: 1 | 2 | 3


YouTube Facebook VK
Copyright © 2004-2018 Smart Mobile Personal Digital Assistant. All rights reserved.