Специально для тех, кто занимается созданием патчей к флеш играм, мы сделали вот такую шпаргалку, с помощью которой намного проще искать и изменять значения в swf-файле.
Boolean
Логическое значение (истина или ложь)
Представление:
26h >> True
27h >> False
int
Целое значение со знаком Маска: 24xx
min = -128, max = 127
• Заголовочный байт 24h
Область значений с отображениями:
xx: [00h..7Fh] >> [0..127]
[80h..FFh] >> [-128..-1]
int, uint
Целое значение без знака Маска: 25xxyy
min = 0, max = 16383
• Заголовочный байт 25h
• Тип uint как правило располагается в начале текстового блока
Область значений с отображениями:
xx: [80h..FFh] >> [0..127]
yy: [00h..7Fh] >> [0..127]
Вычисляется по формуле:
(xx-128)+yy*128 // без учёта отображений
xx+yy*128 // с учётом отображений
Number
Целое значение без знака Маска: xxyyzz
min = 0, max = 2097151
• Не имеет заголовочного байта
• Как правило располагается в начале текстового блока
Область значений с отображениями:
xx: [80h..FFh] >> [0..127]
yy: [80h..FFh] >> [0..127]
zz: [00h..7Fh] >> [0..127]
Вычисляется по формуле:
(xx-128) + (yy-128)*128 + zz*16384 // без учёта отображений
xx + yy*128 + zz*16384 // с учётом отображений
Доступно только для пользователей
Список типов данных будет пополняться по мере исследования формата.