» Assembler Assembler. Borland Delphi. . Блог программистов


Блог программистов






20111 Авг

Генератор псевдослучайных чисел. Повышаем криптостойкость

Здравствуй читатель. В это статье я расскажу, как можно улучшить генератор псевдослучайных чисел, а именно как сделать так чтобы числа были более случайными. Все знают что криптостойкость некоторых алгоритмов шифрования (или почти всех) сильно зависит от того насколько непредсказуемы числа выдаваемые генератором псевдо-случайных чисел (ГПСЧ), который использует тот или иной алгоритм шифрования. В связи этим возникает понятие криптостойкости ГПСЧ, чем более непредсказуем ГСПЧ тем выше его криптостойкость. Другими словами я расскажу, как можно повысить криптостойкость генератора псевдо-случайных чисел.
(more…)

200920 Май

DLL на Flat Assembler

В предыдущей статье я написал примеры сложения вычитания на FASM (Flat Assembler). В этой статье я напишу пример создания DLL на фасме. В длл запишем процедуру которая может складывать и вычитать числа. ДЛЛ напишем на фасме, а программу которая будет вызывать функцию из длл напишем на дельфи.
Эта статья для тех кто хотя-бы знает что такое DLL. Почитать можно здесь — http://ru.wikipedia.org/wiki/DLL
(more…)

200910 Апр

Сложение, вычитание и умножение на Flat Assembler

Код:

format PE GUI 4.0
entry start ;Точка входа в программу
INCLUDE ‘INCLUDE\win32ax.inc’
INCLUDE ‘INCLUDE\encoding\win1251.inc’
INCLUDE ‘INCLUDE\api\user32.inc’

section ‘.data’ data readable writable

formats db «%d»,0
result db 256 dup(?) ;Когда будем преобразовавать число строку, сюда сохраним результат

section ‘.code’ code readable executable

start:
;Алгоритм сложения чисел 1 и 2
mov eax,1 ;Перемещаем в eax число 1
mov edx,2 ;Перемещаем в edx число 2
add eax,edx ;Складываем содержимое eax и edx (1+2). Выводим результат в eax.
invoke wsprintf,result,formats,eax ;Преобразуем число(результат) в строку для того чтобы можно было вывести его на экран.
invoke MessageBox,0,result,»Plus»,MB_OK ;Выводим результат на экран.

;Алгоритм вычитания 4 из 10
mov eax,10 ;Перемещаем в eax число 10
mov edx,4 ;Перемещаем в edx число 4
sub eax,edx ;Вычитаем из содержимого eax edx (10-4). Выводим результат в eax.
invoke wsprintf,result,formats,eax ;Преобразуем число(результат) в строку для того чтобы можно было вывести его на экран.
invoke MessageBox,0,result,»Minus»,MB_OK ;Выводим результат на экран.

;Алгоритм умножения 2 на 6
mov ax,2 ;Перемещаем в ax число 2
imul ax,6 ;Умножаем содержимое ax на 6 (2*6). Результат будет находиться в eax.
invoke wsprintf,result,formats,eax ;Преобразуем число(результат) в строку для того чтобы можно было вывести его на экран.
invoke MessageBox,0,result,»Umnojenie»,MB_OK ;Выводим результат на экран.

invoke ExitProcess,0 ;Выход из программы

section ‘.idata’ import data readable

library kernel32,’KERNEL32.DLL’,user32,’USER32.DLL’
INCLUDE ‘INCLUDE\api\kernel32.inc’

200912 Янв

Блокируем Ctrl-Alt-Del

Доброго времени суток. На многих форумах программистов очень часто встречается вопрос «Как заблокировать комбинацию клавиш Ctrl-Alt-Del?». В этой статье я расскажу, как можно реально заблокировать комбинацию клавиш Ctrl-Alt-Del без каких-либо извращений с заменой файлов и прочего. Статья не рассчитана на новичков, читатель этой статьи как минимум должен знать, что такое инжект и запуск удалённых потоков.
(more…)

200814 Ноя

Работа с дробными числами на ассемблере

В данной статье я расскажу про работу с дробными числами на ассемблере. Работу с дробными числами, вернее с числами с плавающей запятой, обеспечивает математический сопроцессор, т.е. FPU. В этой статье будет в кратце рассказано про его архитектуру, будут изложены основы работы с FPU его основные команды, а также два примера работы с FPU на FASM.
(more…)

200815 Фев

Шифровка с помощью пароля. Улучшаем алгоритм шифрования 2

Логическое продолжение предыдущей статьи «Шифровка с помощью пароля. Улучшаем алгоритм шифрования». В той статье описан довольно-таки эффективный (по-моему) алгоритм шифрования данных с помощью пароля. Но у него был недостаток: если пароль состоит из одинаковых символов, то все модификации пароля сходят на нет (как ни модифицируй, всё равно та же строка)! В этой небольшой статье я расскажу, как этого избежать.
(more…)

200719 Сен

MASM32 и DELPHI — битва за размер…

Часто говорят о потребностях в оптимизации проекта с целью уменьшения размера программы… Delphi является аутсайдером по этому показателю среди основных языков для разработки системных приложений… Действительно у ламеров есть очень сильный (как им кажется) аргумент — Делфи создаёт пустой проект весом почти 400 кб)).. Напротив асемблер считается передовиком направления создания компактных приложений и по мнению ламеров разница в размерах огромна по сравнению с делфи… Да это так.. но всё же давайте попробуем написать программу хеллоу ворлд… выводящую просто окошко с заголовком Hallo и строкой Hallo World!!! напишим мы эти проги на Delphi и Asm… и посмотрим какая будет разница в размере…

(more…)

20073 Сен

Шифровка с помощью пароля. Улучшаем алгоритм шифрования

    Доброго времени суток. Наверно все читали мою предыдущую статью «Шифруем файл с помощью пароля» (рекомендую прочитать перед прочтением этой статьи). В ней я описал методику шифрования файлов с помощью пароля. Это конечно довольно-таки простая методика. В этой статье я расскажу про более сложную методику шифрования с помощью пароля. Итак, приступим.
(more…)


Облако меток

AdSense клиент компонент api ClientSocket библиотеки dll ServerSocket приложение INTERFACE шифровка байт char работа пароль учеба programmer процессор Application HANDLE Cursor C++ AssignFile хуки win api Project Internet google FASM memo исходники html функция язык System поиск GetLastError алгоритм программист programmersclub сервер форум exe сайт файл проект Assembler шифрование windows delphi