1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 |
fsutil fsinfo drivers - посмотреть какие есть диски D: - переход на диск d если он существует echo text > name.txt - создать файл с именем name.txt и записать в него text type name.txt - показать содержимое файла name.txt type filename.txt | more - так можно показать содержимое большого файла, выводя его частями ren file.txt file1.txt - переименовать file.txt в file1.txt move file.txt file1.txt - перемещение файлов copy file1 c:\полный_путь\file2 - копирование файлов rmdir /S /Q dir_name - удаление не пустого каталога del filename.txt - удаление файла filename.txt notepad.exe file_name.bat - открытие file_name.bat в блокноте @ - команда сразу выполнится без вывода в консоль @ IF EXIST C:\filename.exe ( C:\filename.exe ) else ( echo No_this_file ) @ Если существует c:\filename.exe (это выполнится) если нет (то это выполнится) my_cmd.bat at c:\parametr.txt c:\parametr2.txt - задание параметров для my_cmd.bat @ notepad.exe %1 - откроет первый параметр c:\parametr.txt @ notepad.exe %2 - откроет второй параметр c:\parametr2.txt cmd.exe - запустится в окно запустившей его программы @ start cmd.exe - запустится в отдельном окне cmd.exe Рабочая среда \masm32\BiN\workcatalog -file- ISHIDNIC RESOURCE SHABLON trans.bat @ echo -file- @ c:masm32\bin\ml.exe /coff /c .\ISHODNIC\-file-.asm compile.bat @ echo -file- @ if EXIST -file.obj c:\masm32\bin\link.exe /SUBSYSTEM:WINDOWS .\-file-.obj td.bat @ c:\masm32\bin\td32.exe -file-.exe tb - turbo debager отладчик. invoke wsprintf - перевод числа в строковое представление invoke GetSystemMetrics, SM_CXSCREEN - узнать размеры экрана invoke ShowCursor, 0 - спрячет курсор invoke SwapMouseButton, 1 - менять кнопки мыши invoke GetCurrentDirectory, 256 , addr String_COUNTER - вернет путь до директории invoke GetModuleFileName, 0 , addr String_COUNTER, 256 - вернет имя файла invoke GetWindowsDirectory, addr String_COUNTER, 256 - путь до папки eindows invoke GetUserName , addr String_COUNTER, addr MAX_SYMB invoke GetCursorPos , addr CURSOR_POINT - узнать координаты курсора invoke MessageBox , Null , addr String_COUNTER , addr String_String , Null - вывести сообщение invoke SetCursorPos , 500 , 300 - установить курсор на координаты 500 , 300 (x,y) invoke ClioCursor , addr CURSOR_RECT - ловушка для курсора invoke LoadCursor , Null , IDC_SIZEALL - загрузка нового изображения курсора invoke SetSystemCursor , EAX , OCR_NORMAL - установить изображение курсора из регистра EAX invoke GetLogicalDrivers - получить информацию о дисках invoke GetLogicalDriveStrings , 256 , addr String_COUNTER - задать размер буфера invoke GetDriveType , addr String_Disk - получить информацию о типе диска invoke lstrlen ,naddr String_1 - измерить длину строки invoke lstrcpyn , addr String_COUNTER_1 , addr String_1 , EAX - копирование строки (нужно знать ее длину) invoke lstrcpy , addr String_COUNTER_2 , addr String_2 - копирование строки ( знать длину не нужно) invoke lstrcat , addr String_COUNTER1 , String_COUNTER2 - соединим буфер длины строк invoke lstrcmp , addr String_1 , addr String_1 - сравнение строк (EAX = 0 - равны, EAX > 0 - string_1 > string_2 , EAX > string_1 > string_2) invoke lstrcmpi , addr string_1 , addr string_2 - позволяет сравнивать строки не обращая внимания на регистр символов invoke GetForegroundWindow - найти активное окно Windows (например где мы печатаем,водим курсором) invoke GetWindowsText - найти текст заголовка окна invoke GetClassName - найти класс окна invoke GetCommandLine - Получит параметры запуска. Каждой программе при запуске можно передать параметр. prog.exe paramtr invoke GetLastError - показать номер последней ошибки invoke EinExec , addr Name_Program,SW_SHOWNORMAL - запуск сторонней программы invoke ShellExecute - запуск сторонней программы invoke CreateProcess, addr CMD , .... - запуск программы/процесса invoke CreateSolidBrush , 00FF0000 - возврат идентификатора кисти invoke CreateWindowsEx - управление окном и его вид (скролы, кнопки упр (закрыть..) и тд) Blue Green Red 00 FF 00 00 - синий цвет 00FF0000 , зеленый 0000FF00 , красный 000000FF. RGB- красный\зеленый\синий alf mov переменная , значение - перемещение в буфер \ перемещение в регистр add переменная , значения - суммирование sub переменная , значение - вычитания inc переменная - увеличивает на единицу +1 dec переменная - уменьшает на единицу -1 div переменная - деление mul переменная - умножение push регистр\переменная - команда для добавления в регистре (стек уменьшится на 4) pop регистр\переменная - команда для добавления в регистра ( стек увеличивается на 4) jmp $_METKA_ - безусловный прыжок к _METKA_ @@: - специальная метка masm32 JMP @F - специальный прыжок в перед к метке @@ JMP @B - специальный прыжок назад к метке @@ cmp значение, значение - сравнить значение Je @B - прыжок с условием (если все верно) Jne @B - прыжок с условием (если не верно) CMP значение1 , значение2 - сравнение JA $_METKA_1 - прыжок если значение1 > значения2 JAE $_METKA_2 - прыжок если значение1 >= значение2 JB $_METKA_3 - прыжок если значение1 < значения2 JBE $_METKA_4 - прыжок если значение1 <= значение2 ret - возврат not par1 - отрицание/ логическое (Если не 1, то вернуть 0) and par1, par2 - логическое И (логическое умножение) (ровно 1 если оба числа равно 1) or par1, par2 - включающие ИЛИ (логическое сложение) (равно 1 если оба 1. равно 0 если оба 0) xor par1, par2 - Исключающее ИЛИ (исключающие сложение) (если два бита равны 1(или 0) то результат равен 0) enter 0,0 - push ebo; mov ebp , esp leave - mov esp,ebp ; pop ebp - возвращаем все обратно loop - бесконечный цикл mov ECX, 50 my_p_command PROTO :DWORD , :DWORD - PROTO команда позволяющая задать параметры для команд локальные переменные INVOKE FUNCTION_CLIENT , EAX,EBX FUNCTION_CLIENT PROC local _Var1,_Var2,_Var3 :DWORD local _String[256] :BYTE local _pMaps[30] :DWORD local _Var4 :WORD local _Var5 :POINT RET FUNCTION_CLIENT ENDP %d - вывод в десятичной системе %08x - вывод в шестнадцатеричной Если 32 бит числа равен 1 то это число отрицательное Регистры Eax Ebx Edi Esi Edx У каждого регистра есть свой пул памяти. Перенос данных из памяти в память запрещен. (можно перенести из памяти в регистр, а потом в память) esp - адрес и вершина стека ebp ecx - счетчик ebx - адрес нашей строки 4096 байт - размер одной страницы текста каждый процесс это запущенная программа каждая клавиша имеет три кода - scan-code, virtual-code, char-code virtual-key codes vk-return 0D 1 Байт - клавиша интер прерывания int3 int1 |