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

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

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

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

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

  1. Mysyk Sonic Boom

    Mysyk

    Регистрация:
    31 янв 2008
    Сообщения:
    2.652
    Да. Понятно. С одной стороны то я особо ничем не занят и эти лишние знания мне не повредят, даже наоборот, пойдут на пользу и возьмут на какую нибудь работу.
    В моей ситуации наверно любой план будет сложный. :) Вы все то хотите помочь. Вот только у нас разный объем знаний и разное мышление.
    И еще. Имеет ли смысл также изучать игровые редакторы? Хотя бы тот же UnrealEd.
     
  2. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    Mysyk, Понимаешь, тут много советутют и говорят. Правильно местами. Но. весь вопрос в том, чего ты сам хочешь и что сам можешь. А пока ты сам не попробуешь себя и тут и там - не поймёшь. Никак.

    Если ты будешь учить 3DMax и UnrealEd - милости прошу в наш проект UnrealRemake.ru
    Но, учти, что там объём знаний и умений хоть и немалый и деньги ты сможешь на этом заколачивать, но вот игру в одиночку ты не сделаешь и программирование оно не заменит. К тому же ещё и труд это немалый. Моделирование и мапмейкинг - это тремор рук и красные глаза от бессонных ночей.

    С другой стороны - программирование... Отбросим дизассемблирование, ассемблер и знание аппаратуры, как ненужные игроделу на сегодня (если верить тому что товарищи писали выше). Оставим только С# (С и СPP - тоже умирают. Будущее за .NET типа).
    Тут надо уяснить, способен ли ты чётко ставить перед собой задачу и понимать её до самых мелких аспектов реализации, просчитывать все пути решения и все возможные варианты, находить нужные формулы и использовать логику, если способен то дерзай.

    Если нужны гарантированные деньги и работа - учи PHP, JAVA, HTML. И плюнь на всё остальное. В ближайшем будущем всех заборет WEB. А уж в вебе - точно нужны креативные люди, умеющие делать игры. И браузерные и ММО.

    Есть правда и путь менеджера - набрать команду моделлеров и программистов и задвинуть идейку, а потом просто следить, что бы все работали и не отлынивали.
    Ну и иногда деньги платить, за хорошие результаты. Зато в конце такие пенки можно снять !

    Вобщем пробуй всё подряд, что понравится и получится - то твоё. И помни, лучше хорошо программировать на Дельфи, чем плохо на С - что бы там не говорили. Важно - можешь ли ты вообще составлять алгоритмы, а не на каком языке ты это делаешь ! Ни что не истина.:vampire:
     
    Ulysses и Mysyk нравится это.
  3. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.482
    Bato-San, "Тьфу на Вас еще раз!"
    Вроде, все правильно. Этакая идейно выдержанная профориентация. Но!
    1. Где высокие слова о том, что программирование является искусством? (Не странно ли, что на всех 10-и страниц поучений книги по программированию поминались лишь пару раз, и то походя?)
    2. Где еще более высокие слова о том, что писать [игру] человек решает не потому, что "ему хочется вот такого же, но с перламутровыми пуговицами", но потому, что не писать не может. Писание игры, это, в первую очередь, игра с самим собой.
    3. Если уж начали поучать, то есть простой способ выяснить свой программистский потенциал - посмотреть на школьные оценки по математике, русскому и иностранному. Помните у Лема: "Подобно тому как настоящую прекрасную музыку может извлечь из инструмента только виртуоз, так только математик может полностью использовать хотя и ограниченные, но все же очень большие возможности "Маракса". Часто, когда я ночью сижу здесь и работаю, происходит странная вещь: мне кажется, будто исчезает граница между мною и "Мараксом". Иногда я ищу ответы на заданные вопросы в собственной голове, иногда пробегаю пальцами по клавишам и читаю ответы на экранах... и не чувствую существенной разницы. И то и другое - одно и то же, собственно говоря".
     
  4. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    gudleifr, суть в том, что тема уехала от своего названия и первоначального смысла, а большинство советов даётся уже исходя из личного опыта или откровенно из мейнстрима, упуская из вида что:

    1. Есть прикладное и системное программирование.
    2. Прикладникам ассемблер не особо нужен, их скорее волнует простота освоения и мультиплатформенность, притом в таком варианте, что бы не особо напрягаться, поэтому C и визуальные конструкторы для них кажутся единственным верным решением.
    3. Системщики и реверсеры всегда окажутся в меньшенстве - это следствие высокой квалификации и знаний, которые прикладникам чаще всего просто "противоестественны" по причинам пункта 1. Отсюда имеем, что системщик "всегда неправ" в споре с толпой прикладников, которым плевать на тот факт, что для нового процессора изначально нет ни системы ни компилятора С, но почему то есть огромный талмуд с ассемблером и кодами команд. А так же стойкое мнение, что Linux (не Unix, что очень важно ибо показывает уровень знаний говорящих!) самая правильная система.
    Апеллировать тут бесполезно, так как количество софта выдаваемого прикладниками действительно весьма велико (про качество или хорошо или никак, учитывая, что технические темы переполнены проблемами с которыми в ряде случаев может разобраться только реверсер и то не всегда, благо прикладники своё дело знают туго).

    Современный социум поощряет стадность и стандартность решений. Поэтому прикладнику легче обустроиться в среде себе подобных и тянуть лямку обеспечивая семью и являясь "полезным" членом общества, винтиком в общем процессе.

    Системщикам приходится труднее в том плане, что уровень знаний хотя и позволяет им делать всё тоже что и прикладникам, но не позволяет опускаться до такого уровня умственно, что приводит в коллективах к "охоте на ведьм" в лице этих системщиков. Особенно, если последние не желают становиться великими учителями или делать что то сверх оплачиваемой работы.

    Реверсеров автоматически записывают в пираты и считают социально-опасным элементом, подвергая всяческим гонениям при первом удобном случае. Благо законодательство, органы власти, копирасты и крупные компании заинтересованы в этом и создают все предпосылки.

    Так что есть вероятность, что скоро за знание ассемблера будут сжигать на костре. А за умение пользоваться отладчиком - вырывать ногти...:cry:
     
    teremochek нравится это.
  5. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.482
    Bato-San, все правильно, только надо выкинуть все эти "вроде бы" и "как бы". Товарищ с юга тоже, вроде бы, "водитель" и местами даже "строитель"...

    Итак: программистов не бывает. Бывают системщики и пользователи. Системщики делятся на математиков и электронщиков, а пользователи (как и все нормальные люди) на физиков и лириков.

    Прикладное программирование? В XIX веке образованный человек должен был уметь писать какие-никакие стихи и неплохо рисовать. В конце XX века - уметь записать алгоритм на C-подобном языке и просчитать табличку в SuperCalc.

    Кроссплатформенность? Это фетиш. Перечислить случаи, когда она была нужна или была реализована можно по пальцам. Была бы нужна совместимость, зарядки для мобильников давно бы сделали стандартными...

    Ассемблер для прикладников? Если говорить о людях пишущих что-то конкретное, то язык ассемблера может быть таким же конкретным выбором, как и все остальное. Если же прикладниками называть кодеров "прикладных" (т.е. офисных) задач, то какие они программисты? Здесь же замечу: в жизни каждого серьезного программиста наступает момент, когда он забивает на бухгалтерию.

    Проблемы системного программирования не "в отсутствии компилятора C", это как раз весело. Проблемы - в сложности того, с чем он работает, будь оно железным, программным или абстрактно-воображаемым.

    А судов над пользователями дизассемблера и отладчиков уже было предостаточно. Даже Эндрю Шулману досталось...
     
    teremochek, Butz и Bato-San нравится это.
  6. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    :clapping: Вперёд к уверенному сотрясению воздуха, гонимая элита!
     
  7. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.482
    A.P.$lasH, а почему Вы отказываете профессионалу в праве гордиться своим мастерством?
     
    Bato-San нравится это.
  8. sonicpro

    sonicpro

    Регистрация:
    7 апр 2008
    Сообщения:
    102
    Сегодня решил вспомнить ASM, запустил виртуалку, восстановил старый тулчейн с Rob Anderton's NASM IDE. Оказалось, что я не использовал версию NASM 2.05.01, как я писал во вчерашнем посте. Я установливал также тот "испанский" NASM IDE, и с ним в папку "Program Files\ NASM IDE" устанавалась программка nasm16.exe - ассемблер и линкер в одном флаконе.

    Эту программку можно установить в конфигурации Rob Anderton's NASM IDE (Options - Assembler - "NASM Location", ввести "C:\PROGRA~1\NASMID~1\NASM16.EXE"). После этого нажатием Alt+F9 можно сразу получать готовый .COM или .EXE файл, не выходя из NASM IDE.
     
    A.P.$lasH нравится это.
  9. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    gudleifr, Можно и так, но получается уж больно эмоционально как то:

    А если не этот... не физик-лирик-электро-математик - то уже и не нормальный и не человек вообще ?

    Никто никому ничего не должен ! Есть права и есть обязанности. А и то и другое "чётко" описано в законодательстве. :)

    Ну, я о чём и толкую - фетишисты сплошные кругом... Вот один про сотрясения что то напейсал, непонятно к чему.:cry:

    "Если программист забьёт на бухгалтерию - программист не получит зарплату !":skull:
    Кроме того, бухгалтерия - это неиссякаемый источник лулзов и батхерта для программиста.

    Истинный программист никогда не работает по специальности в организациях, а уж тем более в бухгалтериях - дабы жиром не заплыть. :drink:

    - Что было раньше - яйцо или курица ?
    - Системщик.
    - Простите, а это тут при чем ?
    - Ну, кто то же должен был рассчитать, изготовить и запрограммировать !
    - АААА ! То есть мы сейчас занимаемся реверсингом ?
    - Верно.
    - Но, ведь это же незаконно ! Нас же посодят !
    - Вы о душе беспокоитесь ? Ну, тогда рекомендую потренироваться в DooM ! Дальше ада всё равно не пошлют !:blum::rofl:
     
  10. A.P.$lasH

    A.P.$lasH

    Legacy

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

    Вложения:

    • NASM16.rar
      Размер файла:
      74,1 КБ
      Просмотров:
      29
  11. Mysyk Sonic Boom

    Mysyk

    Регистрация:
    31 янв 2008
    Сообщения:
    2.652
    И еще вопрос. Пригодится ли умение пользоваться 16-ричными редакторами?
     
  12. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    Mysyk, Ответ. Системы счисления изучаются в базовом курсе обучения программированию. Во всяком случае в советском школьном курсе информатике было именно так. А дальше ты уже сам способен написать себе любой редактор или перевести число из одной системы в другую в уме. Так что пригодится, если начать с начала. :)
     
  13. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    Пригодится.

    Ценен, в первую очередь, встроенным дизассемблером.

    Для повседневной работы придётся сделать выбор, как минимум, между WinHex и Hex Workshop - оба хороши по-своему, но это уже дело вкуса.

    WinHex
    http://ru.wikipedia.org/wiki/WinHex
    http://winhex.com/winhex/index-m.html
    http://rutracker.org/forum/viewtopic.php?t=4203879

    Hex Workshop
    http://www.hexworkshop.com/
    http://www.cracklab.ru/download.php?action=get&n=ODc1
     
    Mysyk нравится это.
  14. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.482
    Была, поскольку открытая. Сейчас нет, потому что гонится за теми же фичами, что и Must Die. Чего одна только дебильная Qt стоит.
    Чего вы с этим NASM-ом носитесь, как курица с яйцом? Он должен жизнь облегчать, а не самоцелью быть. А вы его ставите с помпой достойной Visual Studio...
    Редакторами чего?
     
    Последнее редактирование: 8 дек 2012
    Bato-San нравится это.
  15. Mysyk Sonic Boom

    Mysyk

    Регистрация:
    31 янв 2008
    Сообщения:
    2.652
    Hex-редакторы, которыми можно редактировать файлы сохраненных игр.
     
  16. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    :) Ими много чего можно и нужно редактировать.

    Hex-редактор
    http://ru.wikipedia.org/wiki/Hex-редактор
     
  17. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.482
    А чего учиться-то? Они просто показывают содержимое файла в разных форматах. В байтах, словах, символах, кодах процессора (иногда и более хитрых). Все.
    Выделять красным-синим цветом "число жизней" они не умеют. Поэтому берете первый попавшийся и тупо смотрите на файл, пытаясь уловить какую-либо закономерность.
    Часто хватает стандартных. Например, я однажды так диск спасал - тупо сравнивал значения байтов первых секторов в "редакторе диска" (нортоновском DE) с документацией.
    Иногда приходится писать самому. Например, раздергивать GIF на отдельные кадры-блоки (стандартные то палитру портят, то чего-то не умеют).
    Здесь, главное, не знать название программы (коллега A.P.$lasH привел особо удобные), а понимать принципы-форматы.
    Поспрошайте, например, о самом известном случае: X-Com. Сколько сотен тысяч игроков сами догадались, как можно его файлы курочить.
     
    Последнее редактирование: 8 дек 2012
  18. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.482
    Пример взлома при помощи hiew: http://www.xakep.ru/magazine/xs/066/072/1.asp. Вообще же это очень редкий случай. Основное назначение hiew (99%) - правка файлов данных.
     
  19. Steel Rat Stainless

    Steel Rat

    Регистрация:
    28 дек 2006
    Сообщения:
    3.260
    Тема - адский ад.
     
    Лорд Лотар и AxXxB нравится это.
  20. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    Поддерживая шикарный 16/32 дизассемблер, правку заголовка и секций, поиск ссылок на произвольные данные (!), её основное назначение - коррекция исполняемых файлов. Именно за эти заслуги приходится терпеть мелкое окошко, доставшееся в наследство ещё от DOS-версии.

    Ну и дампер тех же исполняемых файлов в комплекте очень удобный.

    А данные всё же WinHex или Hex Workshop обработают гораздо лучше, учитывая, как минимум, встроенный скрипт первого и мультипоиск/подсветку секций второго.

    Hiew, при всех своих недостатках, до сих пор держит за счёт особенностей, которых ни у кого из этих замечательных товарищей нет.

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