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
Рубрики