Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Пару вопросов по ассемблеру (https://forum.antichat.xyz/showthread.php?t=208124)

hiphop191817 31.05.2010 15:53

Пару вопросов по ассемблеру
 
1)Как сделать цикл на ассемблере, чтобы во время его выполнения(ну предположим секунд 20 он длится) компьютер не подвисал на эти 20 секунд(через sleep не предлагать)
2)Подскажите алгоритм шифрования, не повышающий энтропию файлов и чтобы его не очень сложно было реализовать на ассемблере(в нём естесственно должен существовать ключ, а то будет получаться всё время одно и то же)

slesh 31.05.2010 16:08

1) чтоже ты там делаеш такого что у тя комп подвисает? Оптимизируй код. Да и циклы 20 сек - это жестокие вычисления какието. Или просто тупо расставь по коду invoke Sleep, 1

2) как вариант юзай таблицу замен. т.е. цифры от 0 до 255 перемешивай случайным образом. и потом из этой таблици бери данные. Тогда ключе - это таблица замены размером 256 байт. Реализуется очень просто, пару байт на асме

hiphop191817 31.05.2010 16:15

1)Просто обычный цикл ложу там в eax 0 , в ebx ffffffff и делаю цикл с шагом 1 и в нём там например mov ecx,eax и из за этого подвисает.
Со слипом не вариант, его антивирусы пропускают.

2)Можешь дать ссыль где поподробнее про это моно почитать, а то не совсем понятно

hiphop191817 31.05.2010 16:47

Щас порылся в инете и нашёл некий алгоритм tea со 128 битным ключём, он не повышает энтропию?

ZagZag 31.05.2010 22:13

Чтоб не подвисало гугли API WaitForSingleObject

Пример использования

AlexTheC0d3r 31.05.2010 22:33

Цитата:

Сообщение от ZagZag
Чтоб не подвисало гугли API WaitForSingleObject

Пример использования

ТС вообще-то насчет АСМа вопросы задавал

altblitz 31.05.2010 23:21

Цитата:

Сообщение от hiphop191817
2)Подскажите алгоритм шифрования, не повышающий энтропию файлов и чтобы его не очень сложно было реализовать на ассемблере(в нём естесственно должен существовать ключ, а то будет получаться всё время одно и то же)

strictly ASM.

Trillian keygen, ('05 года, не знаю, есть ли ещё в архивах моих),
прогонял keygen' в дебаггере до мозолей на пальцах,
так и не смог реверс-инженирнуть код упаковки ((

единственное, поставил брейк на вход в процедуру отображения в Вин,
и снял "слепок" keygen-а в памяти с WinHex.

строго, не шифровальщик - packer. но очень классный packer.
реализовать, так понимается не сложно,
ибо встречал подобную реализацию и в других кигенах...

hiphop191817 31.05.2010 23:37

Насчёт 2) уже сделал код, правда у него ключ выходной получился не 256 а гораздо меньше, но суть его в том, что сказал слэш.

А вот насчёт длинного цикла:неужели его нельзя сделать без функций вообще, а за счёт обычных ассемблерных команд, чтобы не подвисало? Если это действительно так, то я разочарован....

miako 31.05.2010 23:51

Потоки. На асме правда хз как. Но ведь WinAPI тоже на ассемблер раскладывается:)

hiphop191817 31.05.2010 23:56

Цитата:

Сообщение от miako
Потоки. На асме правда хз как. Но ведь WinAPI тоже на ассемблер раскладывается:)


Да понятное дело, что win api это ассемблерный код, но тут дело не в этом. А именно в том, что в самом коде будет виден именно вызов функции, а мне нужно, чтобы там никаких функций не было.

ZagZag 01.06.2010 00:21

Цитата:

Сообщение от AlexTheC0d3r
ТС вообще-то насчет АСМа вопросы задавал

А какая разница? Это же API

ТС, по поводу (1), глянь примеры в MASM32 или в FASM. (На каком кодишь?)

slesh 01.06.2010 00:45

Ну тут всё ясно, человек наверное чтото типа криптера пишет вот ему и нужен какойто алгоритм который считает долго и нудно (чтобы обойти эмуляторы по таймауту), но при этом не хочется паливно грузить проц.

altblitz 01.06.2010 01:16

Цитата:

Сообщение от hiphop191817
А именно в том, что в самом коде будет виден именно вызов функции, а мне нужно, чтобы там никаких функций не было.

а в том пакере - ни одного вызова функций Win API.
и не остановить процесс распаковки, и не поставить брейки.
.code меняется при каждой АСМ операции.

да, немного может и не по теме, но всё же.
GCC-компайлер позволяет создавать программы без .lib, без обращения к стандартным lib MS Win.

desTiny 01.06.2010 02:07

чтобы не грузить можно попробовать выставлять на время не очень содержательного цикла idle-time-priority.

//altblitz, по твоим постам в теме... ты под чем? :)


Время: 10:48