Сейчас на форуме: Kybyx (+4 невидимых)

 eXeL@B —› Оффтоп —› Си или ассемблер?
. 1 . 2 . >>
Посл.ответ Сообщение

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

Создано: 07 апреля 2016 18:15
· Личное сообщение · #1

У меня довольно глупый вопрос,но нужно ли сначала учить СИ,а потом ассемблер или можно сразу начинаться с ассемблера?




Ранг: 164.6 (ветеран), 65thx
Активность: 0.120
Статус: Участник
Волшебник

Создано: 07 апреля 2016 20:34
· Личное сообщение · #2

Можно сначала асм, потом легче си будет понять.

-----
Следуй за белым кроликом


| Сообщение посчитали полезным: vovanre, Rio


Ранг: 623.6 (!), 521thx
Активность: 0.330.9
Статус: Участник
_Вечный_Студент_

Создано: 07 апреля 2016 21:53
· Личное сообщение · #3

Да начинать-то можно с чего угодно, тут нет никаких жестких правил и все зависит от того, что вам нужно и более понятно в данный момент.
Хорошо знать и то и другое.
Язык "С" это как ассемблер с большей высоты - меньше деталей.

-----
Give me a HANDLE and I will move the Earth.


| Сообщение посчитали полезным: Gideon Vi


Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 07 апреля 2016 21:53
· Личное сообщение · #4

без разницы, учите то что будете использовать первым, что бы багаж знаний не простаивал

| Сообщение посчитали полезным: Tony_Stark

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

Создано: 07 апреля 2016 22:13
· Личное сообщение · #5

Спасибо за ответы




Ранг: 110.8 (ветеран), 104thx
Активность: 0.090.01
Статус: Участник

Создано: 07 апреля 2016 22:21
· Личное сообщение · #6

plutos пишет:
Язык "С" это как ассемблер с большей высоты - меньше деталей.


Ага, что примечательно, внизу ничего не видно )) и от непонимания того, что происходит внизу, доходит до смешного )))

P.S. Считаю, надо учиться с основ. Простота в исполнении не всегда дает понимание, и это плохо.

| Сообщение посчитали полезным: Rio


Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 07 апреля 2016 22:32
· Личное сообщение · #7

практика показывает что нет никаких вверху или внизу
есть прослойка между асм <-> СИ, и ее нужно будет изучать отдельно, после изучения асм и СИ

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

а от СИ приходят к асм когда нужно оптимизировать программу

пройдя же путь туда и обратно приходишь к реверсинжинирингу

| Сообщение посчитали полезным: plutos, Dart Sergius

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

Создано: 07 апреля 2016 22:44
· Личное сообщение · #8

>>> пройдя же путь туда и обратно приходишь к реверсинжинирингу

А если нет желания учить асм, есть базовые знания С/C++, но к программированию особо не расположен и есть огромное желание быть реверсером?!
В частности несколько лет интересуют OllyDbg, IDA, но знания слабые так как занимался другой областью.




Ранг: 110.8 (ветеран), 104thx
Активность: 0.090.01
Статус: Участник

Создано: 07 апреля 2016 22:59 · Поправил: Rainbow
· Личное сообщение · #9

reversecode пишет:
и это все нужно сворачивать в более быструю писанину кода


А как же макросредства ? INC/LIB/DLL ? Когда пишешь, не зная возможностей языка (в данном случае асма) и не имея представления о принципах организации и написания кода, то например кодить по тем же меткам - это и вправду ононизм. )) Не знание низкоуровневых принципов построения кода, как правило, приводит к неспособности достойно защитить софт.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 07 апреля 2016 23:16
· Личное сообщение · #10

Diabolic
если есть желание то нет ничего невозможного)))
выберем абстрактную шкалу 0%.....100% реверсер
в вашем случае когда нет желания на асм, есть слабые СИ ... , можно отмерить по шкале 30% и уверенно к ней прийти

Rainbow
асм -> асм +макросы -> си -> си+макросы -> c++ -> мета программирование
а конкретно вы уже сколько крутых защит написали исходя из этих низкоуровневых знаний ?
кагбе намекаю, низкоуровневые знания для написания сильных защит особо не нужны

| Сообщение посчитали полезным: Diabolic


Ранг: 110.8 (ветеран), 104thx
Активность: 0.090.01
Статус: Участник

Создано: 07 апреля 2016 23:27
· Личное сообщение · #11

reversecode пишет:
а конкретно вы уже сколько крутых защит написали исходя из этих низкоуровневых знаний ?

Похвастайся своими поделками Я так смотрю кроме флуда по форуму особо-то и от самого ничего нету )

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

Поведай миру, как надо

| Сообщение посчитали полезным: elch

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

Создано: 07 апреля 2016 23:46
· Личное сообщение · #12

reversecode пишет:
если есть желание то нет ничего невозможного)))
выберем абстрактную шкалу 0%.....100% реверсер
в вашем случае когда нет желания на асм, есть слабые СИ ... , можно отмерить по шкале 30% и уверенно к ней прийти


Ясно, спасибо, значит чтобы прийти к 100% нужно и асм знать хорошо.
Буду и асм учить.



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

Создано: 08 апреля 2016 00:53
· Личное сообщение · #13

reversecode Тогда уж спрошу,что такое макрос?




Ранг: 623.6 (!), 521thx
Активность: 0.330.9
Статус: Участник
_Вечный_Студент_

Создано: 08 апреля 2016 01:02
· Личное сообщение · #14

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

Для каждого интерпретатора (языков ассемблера) существует специальный синтаксис объявления и вызова макросов. Макрос может «разворачиваться» в различные последовательности инструкций при каждом вызове, в зависимости от сработавших разветвлений внутри макроса и переданных ему аргументов.

-----
Give me a HANDLE and I will move the Earth.





Ранг: 56.2 (постоянный), 14thx
Активность: 0.120
Статус: Участник

Создано: 08 апреля 2016 01:19
· Личное сообщение · #15

а еще круче это машинные кода изучать помню журнал один за 90тые там гдето два листа А4 шёл чистый hex задание было перепечатать это всё и сохранить на выходе должен был получиться драйвер для принтера))) апгрейд в каждом номере )) вот пример небольшой открываем hex editor и пишем ручками по байтно вот такую строчку 48 65 6c 6c 6f 20 77 6f 72 6c 64 21 24 ba 00 01 b4 09 cd 21 b4 00 cd 21 сохраняем на c:\ как 1.exe и открываем через cmd.exe например так cmd.exe cd\ cls 1.exe и читаем что у нас получилось)))




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 08 апреля 2016 02:04 · Поправил: Gideon Vi
· Личное сообщение · #16

Diabolic пишет:
нет желания учить

Diabolic пишет:
есть огромное желание быть реверсером

Diabolic пишет:
В частности несколько лет интересуют OllyDbg, IDA




Возьми учебник и двадцать один день занимайся.

| Сообщение посчитали полезным: plutos

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

Создано: 08 апреля 2016 02:40
· Личное сообщение · #17

Gideon Vi

Зачем же каверкать мои слова и стараться выдать другой их смысл? Не понимаю!

Учить нет желания асм.

За двадцать один день вы мало чему научитесь, если только не осознаной зубрежке, у меня больше года ушло чтобы прочитать и понять половину мануала Рикардо Нарвахи, попутно читая Битфрая, правда опыта в программировании у меня вообще не было, даже php не знал, учился с чистого листа.

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




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 08 апреля 2016 05:03 · Поправил: Gideon Vi
· Личное сообщение · #18

Diabolic пишет:
Зачем же каверкать мои слова и стараться выдать другой их смысл? Не понимаю!


там цитата с поскипаной лирикой, не?

Diabolic пишет:
Учить нет желания асм.


Reverse Engineering (ревёрсинг, обратная разработка). Что ты в этой области собираешься делать с Много опыта с высокоуровневыми яп? Кстати, пример законченного проекта можно?

Diabolic пишет:
За двадцать один день вы мало чему научитесь


Двадцать один день регулярных занятий во-первых покажет тебе, что ты готов этим заниматься, во-вторых сформирует стойкую привычку этим заниматься. Ты несколько лет интересуешься инструментами. Инструментами, Карл! Это все равно, что несколько лет интересоваться кондомами и так и остаться девственником.

Diabolic пишет:
у меня больше года ушло чтобы прочитать и понять половину мануала Рикардо Нарвахи, попутно читая Битфрая


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



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

Создано: 08 апреля 2016 05:09 · Поправил: dosprog
· Личное сообщение · #19

Не надо никакого насилия.
Не идёт - и не надо. Через силу всё равно толку никакого не будет.

script_kidis пишет:
а еще круче это машинные кода изучать помню журнал один за 90тые там гдето два листа А4 шёл чистый hex задание было перепечатать это всё и сохранить на выходе должен был получиться драйвер для принтера))) апгрейд в каждом номере )) [...]


Это вздрочЬ.
Связано это было с одним - недостатком печатного места в журнале, а обсудить хотелось.
В машкодах программы никто не составляет и не хранит со времён самых первых ЭВМ.
Даже на примитивном калькуляторе МК-61 ввод осуществляется в виде макросов, навешанных на аппаратные кнопки (Например, "Х->П" "БП" и т.д.)

--Добавлено-- (К следующему посту)

Gideon Vi пишет:
Это рабочий подход, ни каждый может на себя со стороны взглянуть.


Рабочий, да.
Но всё должно получаться автоматически, по мере возникновения неотложной необходимости.
Иначе это самоцель и пустой фетишизм.
И вдобавок загаживание мосха ненужной информацией, которая порой затирает нужную.

.. Тогда и вопросов возникать не будет






Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 08 апреля 2016 05:12
· Личное сообщение · #20

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



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

Создано: 08 апреля 2016 05:25
· Личное сообщение · #21

Gideon Vi пишет:
Что ты в этой области собираешься делать с Много опыта с высокоуровневыми яп?


Медитировать.

Gideon Vi пишет:
Это все равно, что несколько лет интересоваться кондомами и так и остаться девственником.


Не понимаю о чём вы.


Gideon Vi пишет:
Если у тебя больше года ушло на десяток листов А4, значит это не годный материал. Бери первоисточник.


Возможно оно и так, но мануал Нарвахи годный, знаний тогда было мало, а шаблонно и интуитивно понимать реверс это не комильфо, потому что через некоторое время у вас ~70-80 процентов прочитанного улетучится, если конечно не пользоваться мнемоникой или регулярными повторениями на протяжении времени.
Понимание это - логика+опыт+знания, почувствуйте разницу.



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

Создано: 08 апреля 2016 05:27 · Поправил: dosprog
· Личное сообщение · #22

Diabolic пишет:
Не понимаю о чём вы.


)) Он в чём-то прав. Вдумайся

А вообще, очередная флудотема.






Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 08 апреля 2016 05:33
· Личное сообщение · #23

Ой, всё!



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

Создано: 08 апреля 2016 05:40 · Поправил: dosprog
· Личное сообщение · #24

Gideon Vi пишет:
Ой, всё!


Я бы подсовывал, кстати, в качестве теста, людям упомянутый калькулятор МК-61. Чтобы понять, "твоё-нетвоё".
Только реальный калькулятор, не его PC-эмулятор
(Хотя имеется поразительный эмулятор emu145 , крутящий реальную прошивку того старого МК-61 ((Вот пример реверса высшего левела)) )

Но снова-таки, нужна конкретно насущная задача, под тот же калькулятор.
Без такой задачи возня с ним неинтересна и бесплодна.
Как, впрочем, и с другими инструментами






Ранг: 623.6 (!), 521thx
Активность: 0.330.9
Статус: Участник
_Вечный_Студент_

Создано: 08 апреля 2016 06:45 · Поправил: plutos
· Личное сообщение · #25

Gideon Vi пишет:
я человеку дельный совет дал


Уважаемый Гидеон! Не тратьте свое драгоценное время.
Этот чел тут уже три года назад задавал подобные вопросы, но предлагаемая информация его так или иначе не устаивала.
Он будет много и горячо говорить об умном, выдавать глубокомысленные сентенции вместо того, чтобы сесть да и заняться делом, т.е. надеть кондом и вставить.

"Фред сказал:
-- Обратите внимание на этого фрайера. Год назад он заказал мне партию дельбанов с крестом...
Я перебил его:
-- Что такое -- дельбаны с крестом?
-- Часы, -- ответил Фред, -- неважно... Я раз десять приносил ему товар -- не берет. Каждый раз придумывает новые отговорки. Короче, так и не подписался.
Я все думал -- что за номера?
И вдруг уяснил, что он не хочет ПОКУПАТЬ мои дельбаны с крестом.
Он хочет чувствовать себя бизнесменом, которому нужна партия фирменного товара.
Хочет без конца задавать мне вопрос: "Как то, о чем я просил?"...
Сергей Довлатов, "Чемодан"

-----
Give me a HANDLE and I will move the Earth.




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

Создано: 08 апреля 2016 08:15 · Поправил: VodoleY
· Личное сообщение · #26

ИМХО.. кодить на асме трудоемко.. но уметь нужно!. думаю лучший вариант учится на си, и смотреть что получается. при этом активно пользоваться асм вставками
ЗЫ. я делфист+асм. в 90 проц случаев 1ый этап алго рипается из асма в делфи ввиде асм вставки. потом опционально, если нужно, уже по готовому рабочему алго код переносится на паскаль (более высокий уровень) если требуется для заказчика транспортировка в другой ЯП.

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




Ранг: 50.0 (постоянный), 31thx
Активность: 0.090.1
Статус: Участник

Создано: 08 апреля 2016 09:28
· Личное сообщение · #27

dosprog пишет:
Я бы подсовывал, кстати, в качестве теста, людям упомянутый калькулятор МК-61. Чтобы понять, "твоё-нетвоё".
Только реальный калькулятор, не его PC-эмулятор
(Хотя имеется поразительный эмулятор emu145 , крутящий реальную прошивку того старого МК-61 ((Вот пример реверса высшего левела)) )


В те времена в "Науке и жизни" был раздел, посвященный кодингу на МК-61 (и аналогичных типа МК-52 и пр). Так в 100+ байт памяти калькулятора люди умудрялись запихнуть такие вещи, что я о..уевал. Не, не так,
О..УЕВАЛ - это реально был высший пилотаж.
Поэтому для тестов МК-61 - самое то))
Только хз, есть ли еще где-то работающие экземпляры, я свой спалил в конце 80-х((



Ранг: 95.5 (постоянный), 36thx
Активность: 0.080.04
Статус: Участник

Создано: 08 апреля 2016 09:41 · Поправил: Rio
· Личное сообщение · #28

script_kidis пишет:
вот такую строчку

это называется опкоды, всего навсего шестнадцатеричная система счисления...
если "сначала", то 01 плюс минус)




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

Создано: 08 апреля 2016 10:29
· Личное сообщение · #29

Diabolic пишет:
За двадцать один день вы мало чему научитесь

В своё время мне 2х недель хватило, чтоб быть готовым к написанию первых курсовых работ на C++. При этом не имелось компа под рукой. Изучение было чисто теоретическим. И мне, кстати, не нравился тогда си, я был за дельфи и асм... Так что 21 день - это даже с запасом. Получить необходимые основы - вполне хватит. Всё зависит от стремления и захламлённости мозга...

Как правило, сколько доводилось видеть, человек, больше болтающий о том, чего он хочет, на десятки лет оставляет это в желаниях...

По сабжу: на си больше раскрутитесь! А появится желание перейти на асм - есть там и ассемблерные вставки, и отдельно asm-модули можно писать. В Visual Studio в этом плане даже не надо с командной строкой мучаться, как в 90-х...

-----
IZ.RU





Ранг: 56.2 (постоянный), 14thx
Активность: 0.120
Статус: Участник

Создано: 08 апреля 2016 12:17
· Личное сообщение · #30

так смотря для чего, для теории можно учить всё,для реверса асм для фриланса net и java.
Я вот помню как наш информатик мотивировал нас изучать Vb6,говорил что программу написаную на vb "хакеру" будет сложно ломать,прийдётся декомпилировать код и изучать что там,(ну вы же хотите быть крутыми кулхацкерами) вот и давайте учить,потом препод поменялся другой нас пытался привлечь к высокому через трудное, застовлял учить просто бэйсик и паскаль)
А так тема приятная вы мне напомнили один стишок:

О, хакеры и программисты,
познанье кода - путь тернистый
и есть ваш крест. Позвольте ж мне
означить путь вам в этой мгле.

Пишите только на Фортране,
иль назовут вас сосунками,
коль захотите вы в запале
попробовать себя в Паскале.

Пишите с толком, аккуратней,
чем больше GO TO, тем приятней,
и боже вас оборони
использовать при этом Си.

От необузданной той страсти
пойдут и горе и напасти,
и не насытит вас тогда
ООП-овская ерунда.

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

Ну что ж, сидите, жмите кнопки,
глазейте на цветные попки,
хоть не познали вы авоста,
все ж вам привет от Эда Поста.


. 1 . 2 . >>
 eXeL@B —› Оффтоп —› Си или ассемблер?

У вас должно быть 20 пунктов ранга, чтобы оставлять сообщения в этом подфоруме, но у вас только 0

   Для печати Для печати