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

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

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

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

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

  1. Zelya

    Zelya

    Регистрация:
    20 апр 2007
    Сообщения:
    722
    Я бы не стал. Запал как-то сразу улетучится, а без острого желания сделать игру, книги станут выглядеть ненужными. Я б советовал резко уменьшить запросы, но заняться практикой. Делать хоть что-то, но простое, в пределах уже известного. На том же Делфи. А потом, побавлять фичи, и по мере возникновения вопросов, что-то подучивать.
     
    Mysyk и Bato-San нравится это.
  2. A.P.$lasH

    A.P.$lasH

    Legacy

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

    Задачи у Кернигана и Ритчи предельно простенькие, никакого напряга там быть не должно.
     
    Mysyk нравится это.
  3. daemolisher

    daemolisher

    Регистрация:
    2 дек 2009
    Сообщения:
    1.704
    жестокие вы все

    если он изучит те книги, что тут посоветовали

    то превратится в программиста

    а в такой области как программирование игр, это фактически эквивалентно самопожертвованию

    Mysyk, готов ли ты вступить на этот путь?

    ты уже не сможешь стать таким, каким был раньше

    ты уже не сможешь играть в игры как игрок

    возможно, будешь всё ещё играть, но как программист:

    будешь смотреть на игру, но подумаешь о полигонах, текстурах, шейдерах ...

    это сравнимо с тем, как Нео смог видеть программный код матрицы (это в конце фильма после того как он воскрес)
     
    teremochek, Mysyk и Bato-San нравится это.
  4. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.592
    Может, поможет, если я кратко пробегусь по истории PC-программирования/дизассемблирования (если слово непонятно, понимайте как ругательство).
    DOS
    1. Метод "малой крови", доставшийся в наследство от старых персоналок. Берем, что попало и пишем. Даже, например, BASIC (или, страшно сказать, FoxBase+). Не хватает мощи - вставляем куски в кодах. Этот метод характеризовался тем, что никакого Plug&Play еще не было и приходилось использовать/писать кучу более-менее стандартных драйверов. Программа, практически, рассыпалась на мелкие удобовзламываемые фрагменты.
    2. Трубо-Паскакаль. Борманд купил всех удобными библиотеками памяти/окон/графики. Правда многие пытались использовать его как средство из п.1 и по-прежнему использовало стандартные прервывания и адреса, но большинство обрадовалось тому, что знание ОС теперь с программированием никак не связано. Турбо-программы взламывать тоже было легко, т.к. они состояли, практически, из одних вызовов стандартных библиотек, которые было легко выучить.
    3. Watcom-C - программы стали 32-х разрядными и программисты радостно принялись плодить мегабайты кода и мусорить туда ООП-фантиками. Этот этап означал конец легкого взлома. Теперь хакеры перешли, в основном, к правке ключевых мест и потрошению файлов ресурсов.
    WINDOWS
    4. Честное win-программирование. Честно учим, как работает Windows и что умеет язык программирования. Мы теперь доки в очередях, виртуальных драйверах и гомоморфных иерархиях. Ну и что? Идите лесом, думать некогда, прыгать надо! Учитесь программировать по п.5! Если же вы все-таки пишете в этом стиле, дизассемблирование просто (сплошь вызовы API) и доставляет эстетическое удовольствие - узнаешь много нового.
    5. Визуальные обезьянники. Какие-такие оконные функции и ресурсы? Окно-Эвенты-Пропертя... Есть идея - есть программа! Берем исходник наиболее подходящего примера и подгоняем под ТЗ. Дизассемблирование затруднено - нужно продраться через мегатонны мусора.
    6. Не Windows-программирование. Берем OpenGL или Direct-X и... все. Windows кончился. Далее пишем практически как в DOS, вспоминая об ОС только когда нужно что-то подгрузить-разместить... Практически п.3.
    ...
     
    Mysyk и Bato-San нравится это.
  5. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Это как история по Фоменко, извините. Даже уточнять лень.
     
  6. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    gudleifr, Замечательный экскурс (местами немного не так, местами совсем не так, но это мелочи уже :) ) !

    Хочу сюда добавить ради точности ещё такое специфическое явление, как Forth - мегатонны удовольствия от программирования и реверса.

    Ну и ещё добавить к 5 варианту, когда дизассемблить не надо, а надо просто найти редактор и... в общем UDK типа.

    daemolisher, чему бывать... орлята учатся летать !
     
  7. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.592
    Я это к чему? Каждое из этих "направлений" имеет свою литературу. И "области полезности" книг практически не пересекаются. Например великие Керниган и Ричи - они практически не применимы нигде из перечисленного. Новичок просто не найдет способа запустить предлагаемые примеры.
    - не пугайте. Если человек, став программистом, уже, как писано выше, "поражается в правах", то фортера не признают за человека даже программисты.
    (Кто знает, я уже несколько лет пытаюсь создать простую Forth-систему под программирование Windows на коленке, по погряз, не без помощи коллег-Фортеров, в общих материях. Готовый на 90% проект уже 4-й год лежит почти без движения).
     
    Bato-San нравится это.
  8. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    gudleifr, да я не пугаю. Лично мне Форт нравится. Буду очень рад, если появится нормальная, хорошо документированная 64битная Форт-система.

    Однако Win и Lin очень портят программистов прививая им CPP-привычки. Что мешает в случаях, когда приходится осваивать и программировать новое железо или другие платформы, для которых С никогда не был "родным" и "единственно верным". Большинство "специалистов" встают и ждут явления компилятора.

    Ну, это как некоторые PHP-программисты, которые других за программистов не считают - ведь будущее типа за WEB.
     
  9. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.592
    Это будет страшно. Я даже в 32-битном Форт ужасаюсь от того, что половина памяти - мусор. А тут будет 3/4 мусора.
    Самое смешное, что C никогда не был родным для IBM-PC. Только BASIC. Ведь, даже внутри Visual Studio он играет роль внутреннего языка программирования. C++ даже не вписался во все эти Framework-и.
    Это чистый п.1.
     
    Bato-San нравится это.
  10. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.592
    A.P.$lasH, есть документированный способ использования: задавать конкретные вопросы.
     
    Bato-San нравится это.
  11. Mysyk Sonic Boom

    Mysyk

    Регистрация:
    31 янв 2008
    Сообщения:
    2.652
    Так. Теперь бы не потеряться во всех ваших советах. :) Что полезнее, а что вреднее.
     
  12. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Всё-таки по этому пункту не удержусь и посоветую узнать, как создавался Doom. И в какой своей игре Кармак начал-таки использовать C++.

    ---------- Сообщение добавлено в 00:26 ---------- Предыдущее сообщение размещено в 00:25 ----------

    Да, кстати — 32-разрядные программы ломать куда проще. Поскольку нет мозголомства с кучей сегментов, EMS, XMS, etc...
     
  13. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.592
    а зря.
     
  14. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Подобные развёрнутые и аргументированные мнения, безусловно, очень важны.
     
  15. daemolisher

    daemolisher

    Регистрация:
    2 дек 2009
    Сообщения:
    1.704
    то есть вообще не создавал игр?

    раз очень хотелось, то наверняка пытался что-то сделать, пробовал, экспериментировал?

    и разве плохо создавать обычные игры?

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

    то есть:

    когда создашь даже простейшую игру (например, "змейка") уже начинаешь чувствовать себя разработчиком игр :cool2:
     
  16. sonicpro

    sonicpro

    Регистрация:
    7 апр 2008
    Сообщения:
    102
    Вставлю свои пять копеек по поводу ДОС программирования. В зрелом возрасте я как-то решил восполнить пробелы в образовании и попробовал ознакомиться с каким-нибудь x86 ассемблером. Книжка, которую я отыскал, думаю прекрасно справляется с задачей:
    http://www.amazon.com/s/ref=nb_sb_n...+with+DOS+and+Linux+(with+CD-ROM)+(Paperback)

    Описано программирование в плоском режиме памяти и защищённом 386 режиме. Примеры имеют синтаксис ассемблера NASM (Net-Wide Assembler). Мне даже удалось отыскать NASM-IDE, программку для редактирования и ассемблирования кода, которая упоминается в книжке. Если кого-то интересует, могу сбросить, т.к. программа канула в лету, и отыскать её кажется было непросто.
     
    Mysyk и A.P.$lasH нравится это.
  17. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    Третье издание 2009 года на рутрекере:
    http://rutracker.org/forum/viewtopic.php?t=3699695

    Конечно, если не трудно, поделитесь.

    Случайно не оно?

    ide
    http://sourceforge.net/projects/nasmide/
    nasm
    http://sourceforge.net/projects/nasm/
     
  18. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    sonicpro, Она тута есть. Вполне себе доступна и открыта. А вообще, использование всяких IDE для ассемблера - ещё тот изврат. Смысл асма именно в том, что требуется простенький текстовый редактор типа Edit и сам компилятор. А то и просто Hview.

    А что касается изучения "основ" ассемблера - мануалы от самого Intel - лучше всего. Содержат максимум информации, всю систему команд и ещё кучу сведений. Кстати, "плоский режим" они таки тоже описали, несмотря на нередкие утверждения, что это не так.
     
  19. Mysyk Sonic Boom

    Mysyk

    Регистрация:
    31 янв 2008
    Сообщения:
    2.652
    Сложно сказать что создавал или нет. Я в Delphi 7 создал программу, где на экране появляется картинка и по ней надо щелкнуть. Попал - очко, промахнулся - не засчитывается. Создать что-то типа Змейки еще не не пробовал. А так я создал как то карту в Star Craft с использованием триггеров. Даже две. В другой карте я сделал так, чтобы ИИ действовал. Надо попробовать сделать что-то еще. :)
    О. И еще. Я создавал waypoint для карт в CS. :) Хоть это не программирование, но факт в том, что я изучал html файл с инструкциями. Тоже самое и с триггерами в редакторе карт Star Craft.
     
    Последнее редактирование: 7 дек 2012
  20. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.592
    Опять съезжаем в соревнование ерундитов.
    Язык ассемблера можно изучать с разных сторон:
    1. с точки зрения готовности к любым неприятностям (тут лучше книги по микропроцессорам и таблицы).
    2. с точки зрения написания чего-либо (тут - по числу вариантов, перечисленных мною выше).
     
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление