Дизассемблировал первую цивилизацию

  1. 2 г. назад

    Из интереса подизассемблил первую цивилизацию и написал экстрактор картинок на Java. Если интересно кому https://github.com/sda553/civassetextractor/
    -image-

    Ответы: (19)
  2. никуясси!!!

    Круто!!!!!!!!!!!!!

    МОЛОДЕЦ! Респектую!)

  3. А шо в етом интэресного? Любимая игра детства, чтоли?

    Ответы: (3) (4)
  4. webdev А шо в етом интэресного? Любимая игра детства, чтоли?

    Я скоро буду писатьигры и приложения

  5. (2) Изучаем Java #597

  6. Самое главное это придумать желтушный кликбейтный заголовок, чтобы все [...].

    [...] это не дизассемблерование. Простой экстрактор ресурсов.

    Я школьником вот проводил реальный перевод маш кода а код на си.

    Название инструментария сам сможешь назвать?

    Ответы: (6) (7) (9) (15)
  7. 30.05.2021 09:50:24 отредактировано sda553

    (5) ты не догнал. Чтобы сделать экстрактор на java, мне пришлось предварительно дизассемблировать код, то есть переводить маш код на си, разбираться в том как закодированы ресурсы, и так далее

    Ответы: (7)
  8. sda553 (5) ты не догнал. Чтобы сделать экстрактор на java, мне пришлось предварительно дизассемблировать код, то есть переводить маш код на си, разбираться в том как закодированы ресурсы, и так далее

    А ты выложил код на си?

    Ответы: (8)
  9. (7) нет сишный код не стал выкладывать, там ещё куча работы. Картинки - только начало

    Ответы: (9)
  10. (8) а..а то я подумал как в (5) но озвучивать не стал))

  11. 30.05.2021 10:01:45 отредактировано sda553

    Ну, извиняйте...:)
    Полный исходный код на си еще в работе, и я не уверен, что смогу эту работу довести до конца.
    Мне только отдельные места в этом коде в общем то интересны

  12. А я экстрактор для дюны второй делал, картинок и карт.

  13. 30.05.2021 10:03:15 отредактировано sda553

    Да, в те времена не было стандартов хранения ресурсов и все извращались, как могли

    Ответы: (13)
  14. sda553 не было стандартов хранения ресурсов

    Что за стандарты?

    Ответы: (14)
  15. 30.05.2021 11:12:11 отредактировано sda553

    (13) форматы хранения изображений
    bmp появился в 1986, и то без компрессии
    gif в 1987
    У civilization формат хранения картинок близок gif, использует тот же алгоритм сжатия , и примерно те же данные хранит, но не соответствует стандарту gif. Нестандартный такой gif собственноразработанный

  16. stackoverflow Самое главное это придумать желтушный кликбейтный заголовок, чтобы все [...].

    [...] это не дизассемблерование. Простой экстрактор ресурсов.

    Я школьником вот проводил реальный перевод маш кода а код на си.

    Название инструментария сам сможешь назвать?

    Прям на Си? Что за инструмент? Мы в школе максимум чем ковыряли код, это hiew.
    Поглядел щас про этот инструмент. Они до сих пор обновляют его! Охренеть. Даже платная версия есть. Купить, что-ли. Хотя она мне не нужна, но чисто поддержать разрабов, по старой памяти.

  17. 30.05.2021 22:10:08 отредактировано stackoverflow

    Я не помню названий, но на рынке профессиональных решений для декомпиляции есть программы, которые восстанавливают код на си из маш кода

    Ответы: (17)
  18. 30.05.2021 22:34:00 отредактировано sda553

    (16) они особо не облегчают работу.
    1. Из моего опыта, машинный код, полученный из си, не особо отличается от того что было в си. Ну, для меня, нет особой разницы.
    2. Все названия переменных и функций превращаются в что то типа d_0ec0_146a
    3. Обычно код пакуется, смешается на 1 байт(нарушают таким образом выравнивание), или еще что то, из за чего дизассемблеры не могут вообще понять его, при нестандартной упаковке. Только распаковщик и дизассемблируют, а остальное появляется в рантайме только.

    Ответы: (18)
  19. (17) вы так говорите, как будто в этой области использование AI и ML невозможно.

  20. (0) Круто. Чем дизассемблил?

    Ответы: (20)
  21. 01.06.2021 00:13:01 отредактировано sda553

    (19) dosbox (собранный под себя) + ida pro

  22. Добавил экстрактор шрифтов
    -image-

  23. Это херня. Вот дрон, который я недавно построил с нуля и запрограммировал, сегодня налетал 28 минут на одной батарее, ни разу не упал. Один раз правда пришлось посадить, чтобы подправить настройки мощности передатчика.
    Поставил новый процессор на дохрена мегагерц.
    По 3D-компасу, GPS, и барометру держит позицию как прибитый гвоздями к воздуху. Плюс гироскопы и акселерометры, стандартно. Потом буду делать полет по заданным точкам координат, и автоматический возврат на место взлета.
    Мало кто знает, что GPS ужасно хреново определяет высоту, при том что широту и долготу определяет довольно точно. Поэтому пришлось использовать такой неточный прибор как барометр.
    Еще, мало кто знает, что по компасу можно определить не только направление в горизонтальной плоскости, но и в вертикальной. Трехосевой компас это может показать, если дополнительно знать географическое положение, из него вычислить наклон магнитных линий в этой точке пространства.

    Ответы: (23) (24)
  24. webdev мало кто знает, что по компасу можно определить не только направление в горизонтальной плоскости, но и в вертикальной.

    использую HMC5883L для позицирования антенны в любительской SAT связи

    Ответы: (25)
  25. 14.06.2021 10:00:40 отредактировано sda553

    webdev Поэтому пришлось использовать такой неточный прибор как барометр.

    Но он ведь совершенно непригоден при малом изменении высот. Погоду показывает, в прямом смысле, и ничего не знает о текущем рельефе местности под собой.
    Тут радиовысотомер какой то нужен. Или какой нибудь ультразвуковой дальномер строииельный приделай.

    Ответы: (26)
  26. Луч света использую HMC5883L для позицирования антенны в любительской SAT связи

    Норм. А я использую QMC5883

  27. sda553 Но он ведь совершенно непригоден при малом изменении высот. Погоду показывает, в прямом смысле, и ничего не знает о текущем рельефе местности под собой.
    Тут радиовысотомер какой то нужен. Или какой нибудь ультразвуковой дальномер строииельный приделай.

    Точность барометра удовлетворительная. Радиовысотомер будет ошибаться из-за всяких домов и деревьев. При посадке обычно используется сонар или оптический датчик, на высоте менее 3 метров, но я не использую, мне он не нужен.

или зарегистрируйтесь чтобы ответить!