Noman
10.07.2007, 18:10
Решил процитировать собственно написанную статью, которая размещена в моем блоге. Написана только для новичков (так как в асме я сам таковым являюсь). Если что-либо не так написал - пожалуйста поправьте, или напишите мне, чтобы поправил я. Данная статья не несет какой-либо конкретной спец. информации, а является скорее сборником ссылок на полезный материал.
Меня, как человека, который интересуется разработкой и структурой приложений всегда интересовала одна деталь - это то, чем, как и на чем возможен взлом приложения. Допустим для избавления от триал-периода или банальной русификации. И интересовало чисто теоретически пока я не занялся я проходить один интересный Quest (http://aquest.antichat.net/), на мною любимом Античате.Это был 2-ой по счету quest, который разрабатывал для аЧата уважаемый Rebz (http://forum.antichat.ru/member.php?find=lastposter&t=32561). Первый квест я прошел относительно давно, а до второго (вышедшего в феврале этого года) руки дошли только сейчас.
Одно задание в этом квесте (который, кстати сказать имеет очень интересный сюжет) заключается в том, что надо получить мыло и ключ из программы, написанной на делфи и запакованной PECompact-ом. Я не стану рассказывать, как это сделать (кому надо догадается сам), но не в этом суть. Если интересно - можете сами попробовать пройти квест - это очень интересно и познавательно.
Меня заинтересовал сам процесс работы, который подтолкнул меня к изучению низкоуровнего программирования aka Assembler-а, без знания которого, проделать все вышеуказанное слишком непонятно и сложно (хотя вполне возможно с помощью FAQ-а по квесту и топов на форуме). И начал я изучение с поисков того, чего собственно и собираюсь изучать - учебником, туториалов и прочих материалов, так или иначе связанных в данным вопросом. По-гуглив и почитав форумы я хочу выложить ссылки на найденные мною материалы, а также ссылки, которые могут нам пригодиться в освоении языка.
Начнем-с:
Ресурсы, которые нам помогут:
CRACKL@B (http://www.cracklab.ru/) - гениальный ресурс, в представлении не нуждается
[WASM] (http://wasm.ru/) - огромная библиотека статей, туториалов и прочего, касающегося Asm-а
Конференция OverClockers.ru (http://forums.overclockers.ru/viewtopic.php?t=72837)
Форум VinGrad.ru (http://forum.vingrad.ru/forum/ASM-forum.html)
Подраздел программирования Antichat (http://forum.antichat.ru/forum24.html)
Ресурс KALASHNIKOFF.RU (http://www.kalashnikoff.ru/Assembler/)
Пособия, учебники и прочее:
Зубков С.В. ”Assembler - Язык неограниченных возможностей” 1999 год Издательство «ДМК Пресс» (http://dump.ru/files/2/20000845/)
Сборник туториалов от Iczelion`a на русском (http://www.download24.ru/cat-52/prg-11077.html)
[W A S M _ R U] СТАТЬИ Компиляторы - Программирование на языке Assembler в FASM (http://wasm.ru/article.php?article=macrofasm)
АССЕМБЛЕР И ПРОГРАММИРОВАНИЕ ДЛЯ IBM PC - Под редакцией Еpшова В.Г. (http://www.cracklab.ru/pro/asm/asm.rar)
ЯЗЫК МАКРОАССЕМБЛЕРА IBM PC - (Справочное пособие) Составитель: В.Н.Пильщиков (МГУ, ВМК) (http://www.cracklab.ru/pro/asm/asm.rar)
Flat assembler 1.64 - Мануал программера (http://forum.codenet.ru/attachment.php?attachmentid=1205&d=1162819412)
Далее, перед нами стоит проблема выбора компилятора. На данный вопрос у каждого найдется свое мнение, поэтому я считаю, что решать лучше вам самим. Мой же выбор пал на 2 из них:
MASM v 9.0 (http://www.cracklab.ru/download.php?action=get&n=Njkw) (Именно он описывается в книге Зубкова)
FASM v1.67.21 (http://flatassembler.net/fasmw167.zip)
На этой ноте я закончу первую часть данного HOWTO и начну изучение Великого и Могучего Asm-а.
З.Ы. На момент написания статьи все ссылки были живы. Если сейчас, кликнув мышкой по какой-либо из ссылок и получив ошибку 404 не ругайте автора aka меня, а просто попробуйте найти данный материал сами (открою тайну - на поиски данного материала у меня ушло времени меньше, чем на написание данного howto ;)
Меня, как человека, который интересуется разработкой и структурой приложений всегда интересовала одна деталь - это то, чем, как и на чем возможен взлом приложения. Допустим для избавления от триал-периода или банальной русификации. И интересовало чисто теоретически пока я не занялся я проходить один интересный Quest (http://aquest.antichat.net/), на мною любимом Античате.Это был 2-ой по счету quest, который разрабатывал для аЧата уважаемый Rebz (http://forum.antichat.ru/member.php?find=lastposter&t=32561). Первый квест я прошел относительно давно, а до второго (вышедшего в феврале этого года) руки дошли только сейчас.
Одно задание в этом квесте (который, кстати сказать имеет очень интересный сюжет) заключается в том, что надо получить мыло и ключ из программы, написанной на делфи и запакованной PECompact-ом. Я не стану рассказывать, как это сделать (кому надо догадается сам), но не в этом суть. Если интересно - можете сами попробовать пройти квест - это очень интересно и познавательно.
Меня заинтересовал сам процесс работы, который подтолкнул меня к изучению низкоуровнего программирования aka Assembler-а, без знания которого, проделать все вышеуказанное слишком непонятно и сложно (хотя вполне возможно с помощью FAQ-а по квесту и топов на форуме). И начал я изучение с поисков того, чего собственно и собираюсь изучать - учебником, туториалов и прочих материалов, так или иначе связанных в данным вопросом. По-гуглив и почитав форумы я хочу выложить ссылки на найденные мною материалы, а также ссылки, которые могут нам пригодиться в освоении языка.
Начнем-с:
Ресурсы, которые нам помогут:
CRACKL@B (http://www.cracklab.ru/) - гениальный ресурс, в представлении не нуждается
[WASM] (http://wasm.ru/) - огромная библиотека статей, туториалов и прочего, касающегося Asm-а
Конференция OverClockers.ru (http://forums.overclockers.ru/viewtopic.php?t=72837)
Форум VinGrad.ru (http://forum.vingrad.ru/forum/ASM-forum.html)
Подраздел программирования Antichat (http://forum.antichat.ru/forum24.html)
Ресурс KALASHNIKOFF.RU (http://www.kalashnikoff.ru/Assembler/)
Пособия, учебники и прочее:
Зубков С.В. ”Assembler - Язык неограниченных возможностей” 1999 год Издательство «ДМК Пресс» (http://dump.ru/files/2/20000845/)
Сборник туториалов от Iczelion`a на русском (http://www.download24.ru/cat-52/prg-11077.html)
[W A S M _ R U] СТАТЬИ Компиляторы - Программирование на языке Assembler в FASM (http://wasm.ru/article.php?article=macrofasm)
АССЕМБЛЕР И ПРОГРАММИРОВАНИЕ ДЛЯ IBM PC - Под редакцией Еpшова В.Г. (http://www.cracklab.ru/pro/asm/asm.rar)
ЯЗЫК МАКРОАССЕМБЛЕРА IBM PC - (Справочное пособие) Составитель: В.Н.Пильщиков (МГУ, ВМК) (http://www.cracklab.ru/pro/asm/asm.rar)
Flat assembler 1.64 - Мануал программера (http://forum.codenet.ru/attachment.php?attachmentid=1205&d=1162819412)
Далее, перед нами стоит проблема выбора компилятора. На данный вопрос у каждого найдется свое мнение, поэтому я считаю, что решать лучше вам самим. Мой же выбор пал на 2 из них:
MASM v 9.0 (http://www.cracklab.ru/download.php?action=get&n=Njkw) (Именно он описывается в книге Зубкова)
FASM v1.67.21 (http://flatassembler.net/fasmw167.zip)
На этой ноте я закончу первую часть данного HOWTO и начну изучение Великого и Могучего Asm-а.
З.Ы. На момент написания статьи все ссылки были живы. Если сейчас, кликнув мышкой по какой-либо из ссылок и получив ошибку 404 не ругайте автора aka меня, а просто попробуйте найти данный материал сами (открою тайну - на поиски данного материала у меня ушло времени меньше, чем на написание данного howto ;)