PDA

Просмотр полной версии : по ассемблеру


sirofim
11.09.2002, 22:19
Может кто знает сами исходники программ написаные на ассемблере
или кокие нибудь helpы по ассемблеру

заранее благодарю

Sh
12.09.2002, 12:20
Да..., я давно знаю "исходники программ"... Мы собираемся вечерами по пятницам, пьем пиво, едим чипсы, болтаем о жизни ... они клевые челы, мои старые друзья ... :-D
:)
А если серьезно, то что за исходники тебе нужны...??

Sh
12.09.2002, 12:22
Сюда глянь........
http://www.sources.ru/asm_src.shtml

sirofim
12.09.2002, 18:52
какие исходники: -?
ну например простых програм,
я только учусь - для начинающего!
плиз

заранее благодарю

kompadre
12.09.2002, 20:22
Самый простой посмотреть ASM твоего кода это скомпилить экзэшник и десассемблировать его .

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

Во первых - динамически подгружаемые библиотеки (DLL) без которых VB не может.
Во вторых - даже без DLL , чрезвычайная "через-жопость" бинарного кода свойственная только Microsoft Windows

Идиальный вариант - компилить и декомпилить на Linux-е

Если нету - скачать CygWin и компилить евонным (<- обожаю это словечко) GCC .

Для декомпиления (десассемблирования) - http://www.google.com/search?hl=es&ie=ISO-8859-1&q=disassembler&lr=

kompadre
12.09.2002, 20:33
Если ты совсем уж новичек (:))

1, Качаеш CygWin
2, Качаеш Dissasembler
3, Пишеш в любимом редакторе :

#include <stdio.h>

int main () {
printf ("Hello World");
return;
}

4. Сохраняешь в c:\projects\hello.c
5. В CygWin-e делаеш : gcc c:\projects\hello.c -o c:\projects\hello.exe
6. Run -> Command
7. В окошке доса пишеш [PATH к твоему дисассемблеру] c:\Projects\test.exe > c:\Projects\test.asm
8. Открываеш c:\Projects\test.asm ...
9. ... и тупо смотрем что к чему А и Б Стругацкие , "Понедельник начинается в субботу".

Sh
13.09.2002, 15:04
To kompadre^
Ну а че ты ему сразу не посоветовал открыть НЕХ-едитор, набрать там:
B4 09 BA 08 01 CD 21 C3 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 24
Сохранить все ето дело и запустить...
и тупо смотреть в "Град обреченных" тех же авторов
IMHO : Cygwinom asm изучать - изврат
Ему надо TASM качать....
To serafim
Могу посоветовать книгу Юрова "Assembler для дошколят"
там прикольно ... :-)

helldomain
13.09.2002, 18:47
W principe esli ohota nauchitsya assembleru, nujno znat kak rabotajut bazowie algorithmi jeleza...

kompadre
15.09.2002, 05:54
2 Sh

:)

helldomain
16.09.2002, 02:12
Wspominaetsya odin sluchai - sideli nochju, mudohali asm pod wodochku, k utru ponyali, chto wirus nalabali. Tak wot: esli sobirajutsya tri progera na asme nochju za mashinoi - to wodku nado u nih otbirat.

Sh
16.09.2002, 15:02
Вспоминается другой случай: дал одной девушке диск с ассемблером и прочей шнягой, поучить ей захотелось....
и была на том диске папка с названием VIRUSES.... и были там асмовские и не только файлы......
На следующий день я получаю следующий вопрос: " мол, а что ето у тебя там за папочка интересная была"
"а в чем дело то?" спрашиваю..... и получаю ответ от которого просто выпадаю в аут...
"А ТАМ ПРОГРАММЫ КАКИЕ-ТО, Я ИХ КОМПИЛИЛА, ЗАПУСКАЛА - НО НИЧЕГО НЕ ПРОИСХОДИТ...."
....
На следующий день принес диск с антивирусом .................

helldomain
16.09.2002, 15:43
Mda... Eta dewushka tebya potom nogami ne bila ;-)))?

Sancho7
06.02.2004, 11:43
а собсна в наше время реально ли пользоваться ассемблером? или сложнова-то писать проги ?

sasa001
09.02.2004, 12:29
Sancho777
...
Когда язык асма только появился, крутые прогеры говорили, что это - для ламаков. Мол, с псевдо-семантикой любой чего-нибудь приличное быстро накарябать сможет... А вот в двоичном коде (тогда еще были эти... перфоленты=))) пишут только 'Очень умные чуваки'.
Сейчас 'Очень умные чуваки' пишут в большинстве своём на Си (или Си++), а все остальные - на всяких там Билдерах-Делфи-Куликах-ВБА...... Лично я знаю только одного человека, который 2 года назад на диплом в институте сделал драйвер под флоппарь на асме....
Еще, насколько знаю, в некоторых институтах люди пишут на АСМе

А все почему? Потому что из стадии изучения и развития прогерство перешло в стадию использования... Со всеми вытекающими последствиями...

Sancho7
09.02.2004, 13:22
sasa001 нда уж, переводятся богатыри на руси :)

А как декомпилировать программы? Ведь там применяется ассемблер? Отладка - это же очень важно в наше время. Проблема информационной безопасности актульльна. Не зря же микрософт латает патчи каждый день.

sasa001
09.02.2004, 18:10
Sancho777
Тока не декомпилировать, а дизассемблировать.... Хотя, кстати, и декомпиляция бы подошла =))
Допустим, ваяешь ты на Си что-то вроде

#include <stdio.h>
int main (void)
{
printf ("Hello World!\n");
return 0;
}

Компилишь компилятором. При компиляции сначала лепится объектный файл. Это - собственно, прога на асме, какой ее видит компилятор. Затем линкуешь линкером =)) - получается уже бинарник.... Под Линухом, кстати, очень удобно таким макаром проги делать ... ну да ладно...
Слинковали, значит. Теперь охота посмотреть, а чаво тама в Линухе такое происходит при компиляции этой мега-проги? ;=)
Для этого дела, собссно, и существует дебагер... (дизасм). В линухе это - gdb
Плюс ко всему, по умолчаию в прогу заносится еще и куча отладочной информации, по удалении которой вышеуказанная прога похудеет втрое....
Это так, вкратце ;=)

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

Вот теперь прикинь из всего того немногого, что я написал - каково это, наваять прогу, которая что-то творит в памяти и чтобы содержимое данной области памяти нельзя было изменить(а может, и прочитать своим процессом).....
Поэтому Микрософт не стоит ругать - невозможно создать защищенную прогу. Плюс ко всему еще и выполнять план 'Даешь одну Оську раз в 4 года' =)))

joker99
10.02.2004, 22:03
Sancho777:
Отладка - это же очень важно в наше время. Проблема информационной безопасности актульльна. Не зря же микрософт латает патчи каждый день.
И отладка и написание патчей делается не на асм( разве что оригинал был на асм)

Sancho7
11.02.2004, 11:13
ну понятно.

joker99 а ты хочешь сказать что и крэки уже не на асме пишут ? а почему у них тогда размер такой маленький ?

ppiitt
11.02.2004, 14:18
а кто на чем креки пишет. Кто привык к ассемблеру, на нем, кто привык к си на си.
дело вкуса.

Sancho7
11.02.2004, 16:00
ppiitt странно. значит я себе внушил предвзятое мнение что крэки пишут на асме. ладно бум терь на си писать :)

ppiitt
11.02.2004, 20:35
ты внушил себе что ТОЛЬКО на асме пишут.

joker99
11.02.2004, 21:01
Sancho777:
joker99 а ты хочешь сказать что и крэки уже не на асме пишут
Я вообщето крэки не упоминал, а говорил о дебаге и патчах.
Ну а крэк это просто программа которая изменяет другой файл, так что писать их можно на любом языке программирования. Другое дело узанть ЧТО изменить и в каком файле. А вот для этого уже нужно знать ассемблер.

tiraf
17.02.2004, 12:47
sasa001

... Лично я знаю только одного человека, который 2 года назад на диплом в институте сделал драйвер под флоппарь на асме....

А нельзя ли попросить этого человека показать этот диплом?? :ooh:

Sancho7
17.02.2004, 12:55
да, было бы неполохо взглянуть на него :)