Сейчас на форуме: ut2004, vsv1 (+8 невидимых)

 eXeL@B —› Вопросы новичков —› Асм без знания других языков
Посл.ответ Сообщение

Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 21 февраля 2006 22:29
· Личное сообщение · #1

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



Ранг: 50.7 (постоянный)
Активность: 0.060
Статус: Участник

Создано: 21 февраля 2006 22:38
· Личное сообщение · #2

Sor пишет:
Стоит ли изучать ассеблер без знания других языков
. На мой взгляд - совершенно безсмысленное занятие. Необходим опыт програмирования( не огбязательно знание комманд и синтаксиса языка, а ПОНИМАНИЕ того, что пишешь).

Хотя если ты понимаешь строение винды, знание WinAPI (хотя-бы общее представление) и главное - у тебя есть желание, тогда возможно у тебя получится!!!




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 21 февраля 2006 23:25
· Личное сообщение · #3

Sor пишет:
Небольшой вопрос. Стоит ли изучать ассеблер без знания других языков и есть ли люди на кряклабе которые так и поступили. Если есть, их мнение особенно важно.


а почему решил начать с асма? =\ а например знаю паскаль (соот. и дельфи) хорошо, басик не много
с++... и асм.. но не пишу ничего на асме, макс. это асм вставки для повышения скорости...
помоему начинать лучше не с асма.... =\ хотя это только моё мнение...

-----
[nice coder and reverser]




Ранг: 162.2 (ветеран)
Активность: 0.090
Статус: Участник

Создано: 21 февраля 2006 23:34
· Личное сообщение · #4

Klajnor
Необходим опыт програмирования
Неа. Я асм начал учить почти без опыта(pascal на ОЧЕНЬ начальном уровне). И всё нормально понимается. А изучать API и винду проще на asme ИМХО. Неделю назад начал визуал си изучать (достало на асме окна писать) ЖУТКО тяжело идёт. Вроде всё понятно, а ничё не пишется.
Писать по-моему можно хоть на чём, было-бы желание и интерес.

Hellspawn
макс. это асм вставки для повышения скорости...

А ты уверен что можешь написать код более быстрый чем компилер? На Wasm-e как-то пост был, примерно такого содержания: "почему я пишу процедуру на асме а она выполняется медленней, чем такая-же на си". Ну так вот, начали смотреть , что там си на компилил. Лишь гуру асма смогли обогнать компилятор.




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 21 февраля 2006 23:38 · Поправил: Hellspawn
· Личное сообщение · #5

я в дельфи делал вставки.. и простые вызовы GetTickCout показали
прирост скорости процентов на 30... =) (код на дельфи я пишу достаточно оптимизированно) про
си не знаю... особо не шмаляю на нём....

-----
[nice coder and reverser]




Ранг: 50.7 (постоянный)
Активность: 0.060
Статус: Участник

Создано: 21 февраля 2006 23:58
· Личное сообщение · #6

asd пишет:
А изучать API и винду проще на asme ИМХО
- начинал с Delphi, продолжил на Страннике(3-х языковый компилятор, но пока недоработан) и лишь зачем перешёл на асм. Хотя в целом - согласен. Лучше асма для API языка нет.

asd пишет:
достало на асме окна писать
- хотя-бы поэтому надо начинать с языков, где не надо самому "писать окна"(т.е. есть визуальная среда разработки).



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 22 февраля 2006 07:33
· Личное сообщение · #7

Sor
А ты вообще заглядывал в Дневники чайника . Если нет – быстро в раздел для новичков!
Sor пишет:
Стоит ли изучать ассеблер без знания других языков

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

Sor пишет:
есть ли люди на кряклабе которые так и поступили.

Видимо таких как мы мало, но они точно есть .

asd пишет:
А изучать API и винду проще на asme ИМХО.

Вот это ты правильно сказал! Win-API практически один хрен что под Delphi, что под C++, что под MASM32. А если есть возможность быть ближе к командам процессора за малую цену, зачем лезть выше?

Каждый решает для себя, но если есть желание серьёзно заниматься реверсом и в дальнейшем системным программированием и безопасностью, то ИМХО лучше начинать с Асма.

ЗЫ Ещё раз повторяю: при условии, что ты достаточно опытный пользователь (некоторые знания из области DOS крайне желательны).

-----
Всем привет, я вернулся




Ранг: 1.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 07 августа 2006 21:23
· Личное сообщение · #8

Bitfry за Дневники чайника Респект! Мне они очень помогли в освоении Асма, также уроки Iczelion'a. Асм начал учит без знания других языков, имхо он легче Дельфи, но это только для меня. Может Я его больше хотел понять чем Дельфи, но выучить асм без занния других языков тяжело, но реально!



Ранг: 5.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 07 августа 2006 21:32
· Личное сообщение · #9

по моему как раз с асма стОит начинать,многие вещи гораздо четче начинаешь представлять, например та же работа с указателями




Ранг: 283.6 (наставник), 56thx
Активность: 0.130
Статус: Участник
Author of GeTaOEP

Создано: 07 августа 2006 23:37
· Личное сообщение · #10

MiraclE пишет:
например та же работа с указателями

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

-----
the Power of Reversing team




Ранг: 4.4 (гость)
Активность: 0.010
Статус: Участник

Создано: 08 августа 2006 15:15
· Личное сообщение · #11

Вообще само лучше начинать сначала с Паскаля (как это сделал я), он легкий, особенно для людей знающих английский... Но имхо паскаль и делфа это так для тренировки..., а реальный язык это С++, особенно Visual C++, но для начала лучше изучить синтаксис обычного С. Конечно Visual сложен для понимания по сравнению с делфой или борландом С 6.0, но он намного лучше и когда вы поймете основные фишки, он станет легким.... A HA с использованием mfc, программировать не хужек чем на делфе, вот только понять сложнее...



Ранг: 18.7 (новичок)
Активность: 0.010
Статус: Участник

Создано: 08 августа 2006 16:55
· Личное сообщение · #12

Я начал осваивать Assembler сразу после написания на VB элементарного тетриса.
Небольшие знания в программировании нужны, т.к. сразу взять быка за рога вряд ли получится.

Очень жалею, что мне сразу не попала в руки книга Зубкова "Assembler для DOS, Windows и UNIX" (всем советую-отличный справочник).

Цитата из вышеупомянутой книги:
"Говорят, что ассемблер трудно выучить. Любой язык программирования трудно выучить. Легко выучить C или Delphi после Paskal, потому что они похожи. А попробуйте освоить Lips, Forth или Prolog, и окажется, что ассемблер в действительности даже проще, чем любой абсолютно незнакомый язык программирования"



Ранг: 0.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 14 августа 2006 19:24
· Личное сообщение · #13

Sor пишет:
Стоит ли изучать ассеблер без знания других языков.


Я например считаю, что стоит. Я сам начал изучать асм без знания каких либо других языков, и тебе тоже советую. АСМ - СИЛА!!!




Ранг: 279.1 (наставник)
Активность: 0.160
Статус: Участник
wizard

Создано: 01 октября 2006 16:25
· Личное сообщение · #14

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

-----
Что один человек сделал , другой всегда сломать может...




Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 01 октября 2006 23:58 · Поправил: tundra37
· Личное сообщение · #15

Поделюсь своими соображениями. В далекие далекие времена я начинал изучение новой машины с изучения системы команд , ну и ассемблера. К сожалению техника и программирование сейчас развились так, что ни архитектуру процессора, ни любой язык(даже ассемблер) так досконально, как раньше изучить нельзя, да и времени столько нет. Нужна какая-то другая технология и она есть на западе - ведь как то они программеров готовят. Из-за отсутствия этой технологии и все непонятки с новичками - нет или совсем мало инфы для желающих с нуля программирование освоить , не говоря уже про крек.




Ранг: 279.1 (наставник)
Активность: 0.160
Статус: Участник
wizard

Создано: 02 октября 2006 15:50
· Личное сообщение · #16

tundra37
Интересно ,что за крутая технология подготовки программистов?

-----
Что один человек сделал , другой всегда сломать может...




Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 03 октября 2006 05:13 · Поправил: tundra37
· Личное сообщение · #17

MACKLIA пишет:
что за крутая технология подготовки программистов?

Про программистов не знаю - надо поспрашивать тех, кто на западе учился.
У меня 2 примера : собственное обучение работе на Cyber-962 и материалы по MPI (параллельное программирование). Принцип один : каждому выдается подробнейшая документация и лектор очень грамотно дает "путеводитель" по ней. По MPI я видел шпаргалку(типа PowerPoint) - одна идея на одной страничке, страничек куча. По MPI курс по-моему один день или максимум 3. По Cyber две недели, но освоили транслятор, библиотекарь, линковщик, дебуггер и еще кучу утилит. Правда у меня к тому времени был опыт по нескольким системам, но мой напарник был без опыта.



Ранг: 24.5 (новичок)
Активность: 0.060
Статус: Участник

Создано: 05 октября 2006 12:57
· Личное сообщение · #18

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



Ранг: 3.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 05 октября 2006 13:13
· Личное сообщение · #19

Gluk
ну не скажи смотря с чего начинать учить вот я например начинал именно с асма хотя проще было начать и с паскаля но все же не знание хотя бы основ асма затрудняют затрудняют нашу деятельность а именно cracking



Ранг: 200.3 (наставник)
Активность: 0.090
Статус: Участник

Создано: 05 октября 2006 13:43
· Личное сообщение · #20

Я вот порожаюсь, каждый доказывает что именно его путь изучения, как он думает самый правильный, на самом же деле - неважно с какого языка ты начнешь изучать программирование, самое главное - чтоб ты начал писать программы на этом языке в ходе программирования (желательно полезные), тогда освоишь язык без лишних вопросов, во время изучения небойся задавать вопросы если после долгих и упорных самостоятельных поисков ты сам несмог найти ответ, самое главное - не флудить на форумах, т.к.таких нелюбят, а потом ты сам увидишь, что одного языка мало и начнешь изучать и другие ;)
P.S: посты выше нечитал, так что сорри если повторился или ошибся, я новичек - так что строго не судить

-----
Само плывет в pуки только то, что не тонет.




Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 06 октября 2006 04:30
· Личное сообщение · #21

DrFits пишет:
самое главное - чтоб ты начал писать программы на этом языке в ходе программирования

Ну правильно. Это еще один принцип - закрепление на практике. На современном этапе я думаю, что начинать надо все-таки с операционки и хоть чуть-чуть железа. Сначала среду обитания изучить, а потом уже "внедрятся" в нее.



Ранг: 200.3 (наставник)
Активность: 0.090
Статус: Участник

Создано: 06 октября 2006 10:13
· Личное сообщение · #22

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

-----
Само плывет в pуки только то, что не тонет.




Ранг: 24.5 (новичок)
Активность: 0.060
Статус: Участник

Создано: 06 октября 2006 11:21
· Личное сообщение · #23

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


Тоже согласен... А то тут найдут дисомблеер пальци веером,сопли пузырями... Типа все взломщик....



Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 06 октября 2006 17:00
· Личное сообщение · #24

Вот решил попугать ньюбов =))

Начинать надо ASM с освоения DOS и пакета TASM.
Результат полученных знаний:
Понимание формата *.com и освоение внутренностей *.bat
На ВЫ с компилятором и знакомство с интегральным отладчиком TD.exe из пакета TASM.
16-разрядные регистры процессора, (двоичная, десятеричная, шестнадцатеричная системы счисления), флаги
Изучение функций прерываний BIOS и DOS.
Средние знания формата машинных команд, директив ассемблера TASM, команд сопроцессора (FPU), команд процессора (CPU)
Понимание что такое стек, сегментная адресация, расширенная память…
Что такое реальный режим, система прерываний (IRQ… и т. д.)

Приближаемся к Windows - DOS и пакет MASM:
Понимание формата *.exe (но все еще не PE-формат) и освоение внутренностей *.mak (знакомство с утилитой make.exe)
Пробуем на ТЫ с компилятором и знакомство с дизассемблерами (попроще типа HIEW, W32Dasm)
32-разрядные регистры процессора, директивы ассемблера MASM, для закрепления изученного материала пишем вирусы =))

Ну, теперь немного посложнее - защищенный режим: (нужен для понимания работы Windows)
Регистр флагов, селектор, линейные базовые адреса (GDTR, IDTR, LDTR, TR…)
Освоение по возможности всех команд отладчика SoftIce без него никак.
Побег из “ринга 3” в “ринг 0” в уме.
Страничное преобразование… (дальше информация выходит за границы темы)

Windows:
пакет MASM32, выбираем IDE (на свой вкус и цвет товарищей нет), уроки Iczelion`а (там все азы для чайников!)
хаваем PE-формат, заводим подружку Олю…
Стоп`с! Нам надо было сделать выбор, какой все-таки язык программирования выбрать для Windows?
Delphi, C++, VB, Pascal… ого! Ну да х.. с ним и так голова пухнет от ассемблера =))
Короче надоело писать…

я новичек - так что строго не судить

P. S.
ИМХО

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com




Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 06 октября 2006 22:02 · Поправил: tundra37
· Личное сообщение · #25

Demon666 пишет:
Начинать надо ASM с освоения DOS и пакета TASM.

Это идет от позиции наших преподавателей Информатики и бедности школ. Это в корне не правильно - призыв к изучению мертвых языков. Годится только для подготовки узкой группы специалистов - программмистов низкого уровня и создателей операционок. Лет 10 назад не было выбора : Вижуал Си требовал крутую тачку, Турбо уже устарел, а Борланд-Билдером я проверял качество железа. Тогда действительно приходилось в ДОС работать. Некому и негде было научится программированию в Виндах - инфу и дистрибутивы получали с запада и BBS(не путать с BBC ).
========================
Самое главное : учится лучше "кучей" - группой и имея какую-то задачу на будущее.



Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 07 октября 2006 11:22
· Личное сообщение · #26

tundra37
TASM который ты назвал мертвым (и это действительно так!) я привел в пример и его возможности, для того чтобы, не спорили здесь с какого языка программирования лучше начинать. (ASM и точка! – ИМХО)
Ты лучше приведи пример в студию, какой язык высокого уровня предоставит больше возможностей для понимания/практики 30% из существующих в TASM вещей описанных мной выше? (Я уже молчу о FASM =))
tundra37 пишет:
Это идет от позиции наших преподавателей Информатики и бедности школ.

фтопку сей афоризм однозначно!!! (no comments)
tundra37 пишет:
Самое главное : учится лучше "кучей" - группой и имея какую-то задачу на будущее.

это что призыв? И что за такая задача? (Если можно пример)

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com





Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 08 октября 2006 00:42 · Поправил: aspirin
· Личное сообщение · #27

Demon666 пишет:
это что призыв? И что за такая задача? (Если можно пример)

Написано же, что имеется ввиду в тиме, только ньюба не возьмут ни в одну тиму, кому интересно обучать ньюба, который ещё сам не знает, что он хочет...
Поэтому тут так не прокатит, если кто хочет чего добиться, мучается сам, никто ни над кем не сидит.
Demon666 пишет:
фтопку сей афоризм однозначно!!! (no comments)

Я помню, у нас не то, чтобы ассемблер, сам преп. не знал ни одного языка и все темы касающ. Визуал Бэйсика и паскаля перелистывал, а когда на всё это должны быть контроши, просто отпускал нас. Тогда я и понял, что надеется на школу бессмысленно, надо пробовать всему добиваться самому...

-----
Ламер - не профессия :))





Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 08 октября 2006 00:51
· Личное сообщение · #28

Вообще инетересная тема, если учить асм на уровне взлома, то для начала хватит и дневников чайника, с ними можно разобрать листинг, который даётся в первых для ньюбов статьях. Если же идти дальше, то одних назначений команд не хватит, необходимо понимать весь машинный код. Для этого обычных статей не хватит, да и невозможно наверное даже в самой подробной статье описать всё. В этой ситуации надо изучать остальные яз. Сам сейчас с этим столкнулся, т.к. очень мало понимаю код в оле, а основываясь на общих приёмах, не всегда удаётся что-либо хорошее получить. Вот сейчас собираюсь взяться за Visual C++...

-----
Ламер - не профессия :))




Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 08 октября 2006 03:41
· Личное сообщение · #29

Ну, теперь это либо полный оффтоп, либо закрыть... Думаю лучше закрыть.

-----
Всем привет, я вернулся



 eXeL@B —› Вопросы новичков —› Асм без знания других языков
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати