1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Soft Дизассемблирование и декомпиляция программ(игр)

Тема в разделе "Hard & Soft", создана пользователем Mysyk, 30 ноя 2012.

  1. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    Какие? Можно примеры?
     
  2. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.592
    A.P.$lasH, расскажу на своем примере, как помню:
    Сначала теория сильно расходилась с практикой. Читал все подряд по микропроцессорам от Клингмана и Коффрона до японских. С другой стороны, по языку ассемблера,- замечательная книга Брэдли, статьи в периодике про debug, ассемблерные фичи и т.д.
    Все срослось, когда я для чтения на немецком купил книгу по 286-му. В конце - полная таблица операций. С тех пор я тупо подкупал краткие справочники про 386, 486 и т.д. (Если было лениво, просто ксерил описание новых операций).

    Теперь, попробую по пунктам (см. выше).
    1. Конечно, Брэдли. Джордейн, "Правец-16". (Книга Нортона слабовата, а сам он - как выяснилось, манагер).
    2. Ассемблер можно крепить к C трояко: в а) скобочках, б) правкой промежуточного представления, в) отдельными модулями. Т.к. у Борманда все родилось из паскаля, то (a) или (в). В любом случае - их документация.
    3. Т.к. здесь уже защищенный режим, то очень помогают Фроловы. На этом этапе знание языка ассемблера существовало, скорее, в виде тайного.
    4. Лучший Win-учебник по ассемблеру, безусловно, ISZELION'S WIN32 ASM TUTORIAL (вроде видел и в переводе). Плюс MSDN - для справок по API.
    5. Это, пожалуй, единственное направление, где язык ассемблера практически неприменим. Если только мы не будем считать языком ассемблером MSIL.
    6. См. п.4. И особый упор на периодику. И книжки, для начала, типа "Ваш Direct-X/OpenGL при программировании игр.

    Впрочем, все это дело вкуса. И, начав читать, вы, понятно, будете двигаться в сторону того типа книжек, что вам понравились. И самое главное, научиться программировать в одиночку так же трудно, как и рукопашному бою. Слишком много велосипедов придется изобрести.

    P.S. Перечитал и понял - книги по языку ассемблера нафиг не нужны. Нужно краткое введение в микропроцессоры и полная таблица кодов/адресаций/прерываний/портов. Плюс - литература (периодика) по нужным в работе методологиям.
     
    Последнее редактирование: 7 дек 2012
  3. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    IA-32 Intel Architecture Software developer manual

    Но, как я заметил, множество программистов странным образом не знает английского...

    Да и по поводу компиляторов Борланд познания какие то странные. То ли просто хелп лень почитать не переведённый...
     
    Последнее редактирование: 7 дек 2012
  4. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.592
    Просветите. А то я их коды читал/ломал считанные разы.
     
  5. sonicpro

    sonicpro

    Регистрация:
    7 апр 2008
    Сообщения:
    102
    Нет, NASMIDE c описанием не испанском не оно, оно мне почему-то не понравилось. Оно под виндоуз и если правильно помню, в нём и меню на испанском. То, которое есть не картинках в книжке, работает в текстовом режиме, я использовал версию 1.4, 1999 год, автор Rob Anderton.

    В прикреплённом архиве есть версия 1.4 и 1.8. Версия 1.8 как-то глючила, поэтому я использовал первую.

    Сам NASM (вторая ссылка на sourceforge) - он самый. Я вроде бы использовал версию 2.05.01, Возможно что приходилось вносить какие-то небольшие правки в примеры из книжки из-за изменений в версиях ассемблера.
     

    Вложения:

    • NASMIDE.rar
      Размер файла:
      461,5 КБ
      Просмотров:
      50
    Последнее редактирование: 8 дек 2012
    Gamerun и A.P.$lasH нравится это.
  6. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    gudleifr, вы всё время каждое моё высказывание будете на свой счёт воспринимать ? Тут всё же форум, его читает много больше людей, чем отписывается. Ну и раз уж мы взялись за неблагодарную задачу "просвещения молодого поколения" - негоже так уж сильно печалиться по поводу и без. Медаль нам за это не дадут (даже в пределах форума). И имена наши не будут сохранены для истории.

    Кстати, ваш постскриптум - вполне отражает реальное состояние дел по вопросу с обучением ассемблеру, хотя и стоит заметить, что новичку, вероятно, важна в первую очередь мотивация и лирика что бы не шарахаться от "древнего, сложного и непопулярного".

    Хорошая шутка ! :)

    Просто с компиляторами, конкретно, есть минус в том, что каждый из них обладал какими то своими фишками. Вобще Delphi 2 и Delphi 5 - очень разные звери. А последний Embarcadero гордо плюёт на всякие пересадки на MSVC. Ну и многие ошибочно полагают, что MSVC даёт "более компактный код", на самом деле не догадываясь, что в той же Delphi можно одним ключиком вырубить все обёртки и получить точно такой же объём кода. Ну, то же касается и утверждений, что на Delphi нельзя написать драйвер или что то "серьёзное". К тому же, есть ещё тайное знание, как можно легко и просто "склеивать" проекты на CPP и код Delphi... что совершенно убивает нафиг необходимость "единообразия" среды разработки. А ещё в Delphi можно писать программы для MS-DOS :) Всё это есть в сети, если кому то интересно - даже Яндекс поможет.

    Разумеется, что написанное касается исключительно 16/32 бит.

    В случае конкретно борландовских паскалей - всё не так уж и однозначно. Они тоже очень разные по своим возможностям и наборам фишек и багов. Особенно доставляет RTM. Но, это уже в сторону разбора полётов экстендеров скорее.

    А вот очень интересное исследование способностей компиляторов СPP:
    Смотрим и ловим лулзы !:)
     
    Последнее редактирование: 7 дек 2012
  7. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.592
    Bato-San, тогда случилось непонимание. Я обосабливал Борланд в п.2 только в DOS-овском варианте. Win- и кроссплатформенные современные Борланды полностью в п.5 - визуальных обезьянников.
     
  8. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    Все книги одним архивом:

    1. Освоить программирование
      1. Разобраться с языком С
        • Язык программирования С (Д. Ритчи & Б. Керниган) 2001
        • Задачи по языку С (А. Фьюэр) 1985.chm

      2. Освоить объекты
        • Язык программирования C++ (Б. Страуструп) 3 издание

      3. Понять ассемблер
        • Assembly Language Step By Step (Jeff Duntemann)
          • Assembly Language Step-by-Step (Jeff Duntemann) 1992
          • Assembly Language Step-by-Step - Programming with DOS and Linux, 2nd Edition (Jeff Duntemann) 2000
          • Assembly Language Step-by-Step - Programming with DOS and Linux, 3rd Edition (Jeff Duntemann) 2009
          • Rob Anderton's NASM IDE

        • Iszelion's Win32 ASM Tutorial
          • English
          • Russian

        • Защищенный режим процессоров Intel 80286 80386 80486 (А. Фролов, Г. Фролов)
        • Программируем на языке ассемблера (Дэвид Брэдли)

    2. Разобраться в том, как устроена операционная система
      • Microsoft Windows API. Справочник системного программиста (Р. Саймон) 2004 (книга + CD)
      • Внутреннее устройство Microsoft Windows (М. Руссинович, Д. Соломон) 4-е изд. 2005

    3. Освоить работу с мультимедия
      • Руководство программиста по работе со звуком (Тим Кинтцель)

    4. Подружиться с отладчиком и дизассемблером
      • The IDA Pro Book (Chris Eagle) 2011
      • Образ мышления - дизассемблер IDA. Том 1 (Крис Касперски)

    http://narod.ru/disk/64335076001.70513aa525bf0bf6662ae2f5a64bc258/Old-Games Topic.rar.html
     
    Лорд Лотар, Mysyk, kreol и 5 другим нравится это.
  9. Gamerun

    Gamerun

    Хелпер

    Регистрация:
    13 июн 2010
    Сообщения:
    8.713
    Жаль нет полной версии Джеймс Д. Мюррей и Уильям ван Райпер - Энциклопедия форматов графических файлов.
     
  10. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    Про неё забыли за древностью. Я звонил в издательство, интересовался. Нет, тираж возобновлять не планируем, извините. Спроса нет.

    Она, в общем, ничего особо уникального не содержит, но это хороший перевод и лёгкое чтение.
     
  11. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.592
    Предлагаю тему надувания программистских щек отсюда обособить. Новички не обязаны грузить себя таким количеством макулатуры, даже если она кому-то очень нравится.
     
  12. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    Эти книги помогли мне. Читались с удовольствием.

    Про щёки можете обдумать самостоятельно. Сообщение своё на эту тему я удалил при первых же признаках полезной информации с вашей стороны.

    (а ссылку на Iszelion's Win32 ASM Tutorial со своего собственного сайта могли бы и указать, на самом деле)
     
  13. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.592
    Конечно, это все красиво и авторитетно (особенно предложенные коллегой Bato-San 3000 страниц английского текста с 200 страницами поправок), но боюсь, слегка не соответствует заявленным целям клуба "превращения ламеров в хакеров". Ответ видится в словах "создать группу".
    Тогда:
    1. Упоминавшееся выше "Компьютерные игры: Как это делается". Книга, конечно, так себе, но ничего более подходящего я не знаю (разве что, самому собирать отдельные откровения игроделов). Предложите лучше!
    2. Тоже упоминашийся "Мифический человеко-месяц" Брукса. Сложноват (рассчитан на программистов). Но там очень хорошие рекомендации по созданию "операционной бригады".
    3. "Путь камикадзе" Эдварда Йордона. Это уже для манагеров. Как заставить программеров сдохнуть, но сделать.
     
  14. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    Конечно. Красиво потому, что у меня чёрный пояс по форматированию, авторитетно потому, что оно уже помогло одному ламеру стать на ступеньку выше.

    А ваша популярная механика для курящих бабушек воспитает ещё одного манагера.
     
  15. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    Мда... как наседки прям. Вы ещё подеритесь за звание педагогов месяца.:facepalm:
     
    Лорд Лотар нравится это.
  16. daemolisher

    daemolisher

    Регистрация:
    2 дек 2009
    Сообщения:
    1.704
    знаешь, эта тема немного ушла в сторону, но возможно кривая вывела именно туда куда нужно.

    отвечая на первый пост темы:

    да, дизассемблировать возможно, но затраты личного времени просто многократно превышают все мыслимые пределы.

    потраченное время будет настолько большим, что если это время отвести на работу, то заработанных денег хватит, чтобы каждому фанату игры Chasm купить по компьютеру с DOS'ом и установленной игрой - пусть играют в оригинале.


    что касается игр
    и их создания

    по началу хотел посоветовать сделать пару простых игр на Delphi, но не буду советовать,
    всё равно придётся мигрировать.


    так уж сложилось, что для создания игр придётся изучить Си и Си++
    - эти два языка совершенно разные по своей философии.

    у них много недостатков,
    но
    практически вся документация, книги, учебники по созданию игр содержат примеры именно на этих двух языках,

    а это важнее.

    кратчайший путь

    вариант 1

    - изучить язык Си
    - освоить создание окна на WinAPI для вывода графики
    - ну и по мелочи - клавиатура и мышь так же опрашиваются через WinAPI

    вариант 2

    - изучить язык Си
    - освоить работу с SDL


    вариант второй быстрее приведет к цели - созданию первой простой игры

    и даст очень много в понимании устройства игр

    Mysyk, предположительно, на освоение уйдёт месяц :yes:

    и этих знаний хватит на "змейку", "арканоид", "тетрис" - то что нужно для начала :good:


    на языке Си написано много прекрасных игр
    имхо, более 50% игр на сайте www.Old-Games.ru написаны на Си

    сейчас (в 2012 году) пишут в основном на Си++
    увлекаться не обязательно, но знать основы пригодится


    Mysyk, всё что нужно расписал - там дальше гугл или яндекс помогут с книгами (лучше пару-тройку скачать и выбрать, что по душе)

    но помни, программирование не самое сложное, и далеко не главное, что есть в создании ПО, в том числе игр.
     
    Mysyk нравится это.
  17. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.592
    А есть ли другой путь. Вырастить еще одного плохого кодера?
    Ибо правильно.
    Главное в игре - совокупность идей, баланс сил, психологические аспекты и еще куча всяких обучающих, развивающих, развлекающих... и еще черт-знает каких моментов. Т.е. игра - акт художественного творчества. А сделать из нее настолку, книгу-игру или программу, это уже вопрос второй. Кодер лишь поможет художнику зафигачить это все в железо.
     
    Лорд Лотар нравится это.
  18. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    Мда... тут уже можно диагноз ставить:

    Учитесь рисовать, играть на скрипке, петь, режессировать, танцевать и прочее - для создания игры достаточно визуального конструктора и наёмного кукарачи...
     
  19. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.592
    Bato-San, а есть варианты? Заменим, ради интереса, "игра" на "роман". Что мы насоветовали? Орфографический словарь и учебник грамматики?
     
    Butz нравится это.
  20. R4kk00n Benched arcade playa

    R4kk00n

    Модератор

    Регистрация:
    28 мар 2005
    Сообщения:
    9.333
    Bato-San, у тебя это тире разделяет противопоставляемые вещи, или оно показывает, что правая часть следует из левой?

    Правая часть справедлива, так-то, и часто даже без кукарачи.
     
    Bato-San нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление