1. На проекте открылась регистрация только для продавцов. Для обычных пользователей будет открыта позже. Подробнее.
    P.S. Не надо скидывать ссылки на форумы, где у вас ноль сообщений. Подобные заявки будут отклонятся.
Скрыть объявление
Привет, Незнакомец! У тебя есть возможность Оставить комментарий в теме

ASM Статьи по ASM

Тема в разделе "PR0GRAMM1NG", создана пользователем ddd, 12 сен 2007.

  1. ddd (•̪̀●́)=o/̵͇̿̿/'̿̿ ̿ ̿̿

    ddd
    TS
    Команда форума WebOwner WebVoice
    Регистрация:
    5 мар 2007
    Сообщения:
    2.893
    Симпатии:
    191
    ICQ:
    943084
    Статья: Что есть консоль.
    Источник:
    www.myscript.ru
     
  2. bug1z 0x04

    bug1z
    Регистрация:
    5 янв 2009
    Сообщения:
    7
    Симпатии:
    1
    Взлом компьютерной мышки=))
    Вот начал я изучать ассембер и не удержался чтоб не написать какую то программу шутку:).Эта программа не повредит компьютеру, а только изменит расположение кнопок мыши и напугает ламера:)).
    Что нам потребуется:
    1)Компилятор masm32 или tasm, разница в синтаксисе минимальна но советую взять masm32, потому что объяснять я буду именно по нему.
    2)Любой текстовый редактор.
    3)Прямые руки и голова на плечах.
    Первые строки.
    Код:
    .386 
    .el flat,stdcall 
    option casemap:none 
    include C:\masm32\INCLUDE\WINDOWS.INC 
    include C:\masm32\INCLUDE\KERNEL32.INC 
    include C:\masm32\INCLUDE\USER32.INC 
    include C:\masm32\INCLUDE\ADVAPI32.INC 
    includelib C:\masm32\lib\comctl32.lib 
    includelib C:\masm32\lib\user32.lib 
    includelib C:\masm32\lib\gdi32.lib 
    includelib C:\masm32\lib\kernel32.lib 
    includelib C:\masm32\lib\user32.lib 
    includelib C:\masm32\lib\advapi32.lib 
    Разберемся в вышенаписаном:
    .386-этой строкой мы говорим нашему компиятору, что намеpеваемся использовать набоp инстpукций пpоцессоpа 80386. .Model flat, stdcall говоpит MASM'у, что наша пpогpамма будет использовать плоскую модель памяти.
    Далее мы подгружаем инклудники и библиотеки.
    .data
    В области дaнных у нас будет 2 строки:
    Код:
    HINST DWORD 0 
    Код:
    strHack db "I hacked you mouse!",0 
    Они выведут текст "I hacked you mouse!"
    .CODE
    В области кода мы имеем:
    Код:
    start: 
    invoke SwapMouseButton,1 
    invoke MessageBox, 0 , addr strHack, addr strHack , 0 
    exit: 
    invoke ExitProcess , 0 
    Давайте разберем все по полочкам.
    start:– указывает на начало исполняемого кода.
    invoke SwapMouseButton,0– прикрепляем API функцию SwapMouseButton с параметром 1(Эта функция и меняет кнопки мыши местами).
    invoke MessageBox, 0 , addr strHack, addr strHack , 0 – эта API функция выводит окно с сообщением.
    addr strHack указывает на текст сообщения который мы указали выше.
    exit: - указывает на код завершения программы.
    invoke ExitProcess , 0 – завершение программы после нажатия кнопки ok.
    Ну и самая последняя строка- это end start – она указывает на конец участка кода.
    Вот мы и закончили с программной частью.
    Компиляция.
    Для компиляции нашей программы мы напишем 2 простеньких батника, что бы не мучатся каждый раз вбивая комманду в консоли...
    Первый батник:
    Код:
    @ echo ----OBJ---- 
    @ c:\masm32\bin\ml.exe /coff /c .\ISHODNIC\mouse.asm
    Его и запускаем первым.
    Второй:
    Код:
    @ echo ----EXE---- 
    @ if EXIST pirat.obj c:\masm32\bin\link.exe /SUBSYSTEM:WINDOWS .\mouse.obj 
    Если в написание кода вы не допустили ошибок,то программа скомпилится удачно.Можети идти разводить ламеров=))
    Теперь давайте разберемся как от этого избавится.
    А это предельно просто:
    Замените параметр SwapMouseButton с 1 на 0 и всё.
    Вот мы и написали простинький «Вирус» и «Антивирус».
    Полный текст программы:
    Код:
    .386 
    .el flat,stdcall 
    option casemap:nonе 
    include C:\masm32\INCLUDE\WINDOWS.INC 
    include C:\masm32\INCLUDE\KERNEL32.INC 
    include C:\masm32\INCLUDE\USER32.INC 
    include C:\masm32\INCLUDE\ADVAPI32.INC 
    includelib C:\masm32\lib\comctl32.lib 
    includelib C:\masm32\lib\user32.lib 
    includelib C:\masm32\lib\gdi32.lib 
    includelib C:\masm32\lib\kernel32.lib 
    includelib C:\masm32\lib\user32.lib 
    includelib C:\masm32\lib\advapi32.lib 
    .data 
    HINST DWORD 0 
    strHack db "I hacked you mouse!",0 
    .code 
    start: 
    invoke SwapMouseButton,0 
    invoke MessageBox, 0 , addr strHack, addr strHack , 0 
    exit: 
    invoke ExitProcess , 0 
    end start 
    Ну вот и всё!
    С вами был bug1z (aka m0rgan).
    Удачи во всех начинаниях!
    P.S.:Статейка расчитана на (!!!)новичков в асме...
     
  3. zOOm Гость

    zOOm
    оО А че эт форум фильтрует "МОД"? (только на латинском)

    Добавлено через 4 часа 26 минут 23 секунды
    И еще чуть просмотрев гугл, нашел точно таких же тем... слово в слово, даже усомнился, что это ты автор, а если ты не автор, то убирай подобные строки Вот начал я изучать ассембер и не удержался чтоб не написать какую то программу шутку.Эта программа не повредит компьютеру, а только изменит расположение кнопок мыши и напугает ламера).
    и вообще в этой программе много всего лишнего, и вот я её чуть минимализировал:
    Код:
    .386
    .el flat,stdcall
    option casemap: none
    include \masm32\include\kernel32.inc  
    include \masm32\include\user32.inc
    includelib \masm32\lib\kernel32.lib
    includelib \masm32\lib\user32.lib
    .data 
    strHack db "I hacked you mouse!",0 
    .code 
    start: 
    invoke SwapMouseButton,0
    invoke MessageBox, 0 , addr strHack, addr strHack , 0 
    invoke ExitProcess , 0 
    end start
    И вообще я немогу понять откуда вы столько инклудников взяли Оо?
    и что это за строки HINST DWORD 0
    exit: Зачем тут он вообще нужен? если программа линейная?
     
    Последнее редактирование модератором: 24 июн 2009