Показать сообщение отдельно
Старый 20.07.2008, 03:25   #8
Phantom
Элита
 
Аватар для Phantom
 
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений
(для 1,833 пользователей)
Ответ: Если иногда извекая чужой jar не открываются png

Ыы... Я сразу заметил при просмотре в Notepad2, что конец и начало этих картинок поменяны местами, точнее не просто поменяны, а изменён порядок байт на обратный. Ну я, не долго думая, написал php скрипт, который перезапишет файл задом наперёд. И... Облом... Картинка не отобразилась... Тогда я начал искать совпадения с настоящими картинками (обошёлся даже без hex редактора), увидел что одна комбинация байт в середине файла после моего обращения с точностью, да наоборот повторяет комбинацию байт из настоящей, рабочей картинки, я открыл файл до обращения, точно,середина файла нормальная, то есть её не нужно переворачивать. Но сколько байт от начала файла меняет местами с байтами от конца файла - вычислить не удалось. Тогда я усовершенствовал скрипт, добавил цикл и т п. В итоге он у меня нагенерировал больше сотни файлов, каждый из них отличался от предыдущего тем, что количество поменяных байт было увеличено на один =) И после самое интересное - просто открыл первый файл через просмотрщик картинок и начал нажимать кнопку -> до тех пор пока... как я и ожидал... отобразилась картинка =) На 125 кадре =) То есть менять нужно первые 125 байт на последние 125 байт в зеркальном отражении. Такая тема прокатила с картинкой /data/interface/weapons_auto.png При таких же опытах с некоторыми другими картинками это число (125) отличалось, в некоторых случаях картинка так и не отобразилась =( Так что универсального способа я так и не сделал. Видимо это число от чего-то ещё зависит, например, от размера картинки в байтах или даже от разрешения картинки... Надо сказать, что нормально у меня как раз только вышеупомянутая картинка открылась. Остальные тоже чё-то показывали, но что-то весьма непонятное =) Возможно это какая-то текстура, а возможно просто байты не так легли =) Потому что на одной картинке при многих значениях числа (количества поменяных байтов) можно получить нечто отображаемое, но не совсем понятное =)
- - -
P.S: Сорри, что поднял, такую давнюю тему, просто прочитал, меня заинтересовало, я почти час просидел проковырялся с этими картинками и просто не мог не отпоститься здесь об успехах =)

Последний раз редактировалось Phantom, 20.07.2008 в 03:31.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Вредитель (29.01.2009)