[quote=""Harvey""][kopfkratz] Buchstabe [/kopfkratz]?[/quote]
Damit meint er PHDXY?. In die Firmware lässt sich das mittlerweile nicht mehr patchen, da man jede möglich Buchstabenkombination als Patch zur Verfügung stellen müsste. Aber als Erfinder des Patches kannst Du natürlich einen wählen.
Code: Alles auswählen
TF5500PVR_VFD.tfd identified as TF5000/5500(406) from 26.12.2006
Patch 1 original segment #1 found @ 0x00000000
Patch 1 patched segment #1 found @ 0x00000000
TFD usage code = 0
Heist dass, der findet das nicht von alleine?
Es heißt, dass er den gepatchte und den ungepatchten Code an der selben Stelle findet. Da das nicht sein kann, wird als Adresse 0 ausgegeben (da sollte ich eine Warnung ausgeben). Das Problem ist, das Du den einzigen Unterschied herausfilterst.
Code: Alles auswählen
OriginalCode=00002025 0C06A971 3C050004 24040001 0C06A971 3C050030
OriginalMask=FFFFFFFF FC000000 FFFF0000 FFFFFFFF FC000000 FFFF[b]0000[/b]
PatchedCode=00002025 0C06A971 3C050004 24040001 0C06A971 3C050010
Er geht bei der Suche ungefähr so vor:
Code: Alles auswählen
OriginalFound = TRUE;
PatchedFound = TRUE;
for (i = 0; i < CodeLength; i++)
{
if ((Firmware [Offset + i] & OriginalMask [i]) != (OriginalCode [i] & OriginalMask [i])) OriginalFound = FALSE;
if ((Firmware [Offset + i] & OriginalMask [i]) != (PatchedCode [i] & OriginalMask [i])) PatchedFound = FALSE;
}
Und hinter der Schleife ist entweder orignal, gepatcht oder keines von beiden. Bei Dir gab es einen 4., illegalen Fall.