Автор Тема: Посоветуйте чем изменить порядок байт в файле  (Прочитано 974 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн lupus

  • Пользователь
  • Сообщений: 3773
  • Пол: Мужской
  • man with no face
    • ВКонтакте
    • Просмотр профиля
Есть несколько PNG шрифтов (прилагаю) порядок байт в которых изменён, от начала к концу.
Отерываю в хекс редакторе и вижу хидер PNG в самом конце файла в "перевёрнутом" виде.
Может есть готовые решения, чтобы привести файл в нормальное состояние и вернуть в такое же, после редактирования?

Оффлайн ViToTiV

  • Пользователь
  • Сообщений: 143
    • Просмотр профиля
Посоветуйте чем изменить порядок байт в файле
« Ответ #1 : 14 Декабрь 2021, 10:39:49 »
lupus, т.е. последний байт сделать первым и т.д.? впервые такое вижу))
набрасал утилиту.
« Последнее редактирование: 14 Декабрь 2021, 11:00:37 от ViToTiV »

Оффлайн lupus

  • Пользователь
  • Сообщений: 3773
  • Пол: Мужской
  • man with no face
    • ВКонтакте
    • Просмотр профиля
Посоветуйте чем изменить порядок байт в файле
« Ответ #2 : 14 Декабрь 2021, 11:10:01 »
lupus, т.е. последний байт сделать первым и т.д.? впервые такое вижу))
набрасал утилиту.
Да, тупо файл задом наперёд перевернуть.
Ща попробую, спасибо.

upd
Спасибо, софт работает, как надо, но разрабы что-то ещё намутили :(
« Последнее редактирование: 14 Декабрь 2021, 11:19:21 от lupus »

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4605
    • Просмотр профиля
Посоветуйте чем изменить порядок байт в файле
« Ответ #3 : 14 Декабрь 2021, 13:46:34 »
На Python это делает легко, незачем компилировать целую программу (для больших файлов чуть сложнее):
#!/usr/bin/env python3
import sys
from pathlib import Path

p = Path(sys.argv[1])
b = p.read_bytes()
p = p.with_name(p.stem + "_rev" + p.suffix)
p.write_bytes(b[::-1])

Оффлайн Yoti

  • Пользователь
  • Сообщений: 4327
  • Пол: Мужской
  • Не тро-гай ме-ня
    • Steam
    • Просмотр профиля
Посоветуйте чем изменить порядок байт в файле
« Ответ #4 : 14 Декабрь 2021, 15:15:14 »
Sharpnull,
зато нужно ставить целый python, лол.

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1289
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Посоветуйте чем изменить порядок байт в файле
« Ответ #5 : 14 Декабрь 2021, 20:57:26 »
Зато питон часто нужен в хозяйстве.

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8032
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Посоветуйте чем изменить порядок байт в файле
« Ответ #6 : 14 Декабрь 2021, 23:30:20 »
lupus, Я как-то делал утилиту для манипуляций с байтами. Думаю, пригодится.
http://www.emu-land.net/forum/index.php/topic,85753.0.html

Оффлайн Yoti

  • Пользователь
  • Сообщений: 4327
  • Пол: Мужской
  • Не тро-гай ме-ня
    • Steam
    • Просмотр профиля
Посоветуйте чем изменить порядок байт в файле
« Ответ #7 : 15 Декабрь 2021, 14:51:00 »
DrMefistO,
я ещё ни разу не видел установленный Пайтон на компьютерах обычных людей, бывших у меня на обслуживании.

Оффлайн LZ

  • Пользователь
  • Сообщений: 2
    • Просмотр профиля
                                                ViToTiV
   Специально зарегистрировался на сайте для того, чтобы от души поблагодарить Вас за 'FileReverser'. Просто идеальный инструмент!
   Хотя задачи подобного рода случаются редко, но приходится повозиться.
   'Phython' я тоже использую. Непонятно только, как указанный код использовать применительно к файлу.
« Последнее редактирование: 26 Январь 2023, 21:51:32 от LZ »

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4605
    • Просмотр профиля
'Phython' я тоже использую. Непонятно только, как указанный код использовать применительно к файлу.
Создать текстовый файл с этим кодом, назвать filerev.py (например) и перетащить на него нужный файл через Проводник или в командной строке передать путь до файла.
Хотя задачи подобного рода случаются редко, но приходится повозиться.
Мне так лень искать софт для такого рода тривиальных задач, что просто пишу на Python. Им ещё удобно автоматизировать вместо bat/bash. Не знаю как люди занимаются ромхакингом без Python или подобного, вручную что ли все байты вводят?

Оффлайн LZ

  • Пользователь
  • Сообщений: 2
    • Просмотр профиля
Посоветуйте чем изменить порядок байт в файле
« Ответ #10 : 26 Январь 2023, 23:12:15 »
                                                  Sharpnull
    Возился вчера с этой темой поздно ночью. Даже сценарий '.py' сохранил, как мне казалось.
    Сейчас посмотрел - а файл-то просто 'пустой', то есть без кода. Моя оплошность. Сейчас проверил - всё работает.
     Я тоже не знаю, как люди занимаются ромхакингом, потому что я не програмист вовсе. Просто поисковая машина подсказала этот ресурс.
    Иногда возникают некоторые 'специфические потребности'. Теперь буду и здесь искать помощи. Но к 'Играм' эти потребности никакого отношения не имеют.
   

Онлайн Mr2

  • Пользователь
  • Сообщений: 1476
  • Пол: Мужской
  • Free roaming sorcerer
    • Facebook
    • Просмотр профиля
Посоветуйте чем изменить порядок байт в файле
« Ответ #11 : 27 Январь 2023, 09:57:50 »
Не знаю как люди занимаются ромхакингом без Python или подобного, вручную что ли все байты вводят?
В основном используют готовые решения. А если их нет, пользуются различными костылями.  ;)

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4605
    • Просмотр профиля
Посоветуйте чем изменить порядок байт в файле
« Ответ #12 : 27 Январь 2023, 11:53:20 »
Mr2, я имел в виду способ сборки всего проекта. Например, мне нужно было собрать хак с использованием компрессора (от DrMefistO), на Python написал вызов для сжатия и вставил в ром с проверкой размера вместе с другими правками. Хотя в данном случае лучше было использовать хороший ассемблер и вызов компрессор и ассемблера из bat-файла, так что у меня как раз костыль был :) Там и код был для которого инструмент сходу не нашёл. Редакторов куча есть, проверять наличие функций устанешь.

Онлайн Mr2

  • Пользователь
  • Сообщений: 1476
  • Пол: Мужской
  • Free roaming sorcerer
    • Facebook
    • Просмотр профиля
Посоветуйте чем изменить порядок байт в файле
« Ответ #13 : 27 Январь 2023, 13:41:31 »
Mr2, я имел в виду способ сборки всего проекта.
Сборку проектов делают только если кто-то уже сделал нужные конфиги и утилиты. Слишком проблемная сфера деятельности, в большинстве случаев интерес к модификации есть у фанатов игр, но написание инструментов и заучивание команд выходит за рамки их интересов.