1)Как сделать цикл на ассемблере, чтобы во время его выполнения(ну предположим секунд 20 он длится) компьютер не подвисал на эти 20 секунд(через sleep не предлагать) 2)Подскажите алгоритм шифрования, не повышающий энтропию файлов и чтобы его не очень сложно было реализовать на ассемблере(в нём естесственно должен существовать ключ, а то будет получаться всё время одно и то же)
1) чтоже ты там делаеш такого что у тя комп подвисает? Оптимизируй код. Да и циклы 20 сек - это жестокие вычисления какието. Или просто тупо расставь по коду invoke Sleep, 1 2) как вариант юзай таблицу замен. т.е. цифры от 0 до 255 перемешивай случайным образом. и потом из этой таблици бери данные. Тогда ключе - это таблица замены размером 256 байт. Реализуется очень просто, пару байт на асме
1)Просто обычный цикл ложу там в eax 0 , в ebx ffffffff и делаю цикл с шагом 1 и в нём там например mov ecx,eax и из за этого подвисает. Со слипом не вариант, его антивирусы пропускают. 2)Можешь дать ссыль где поподробнее про это моно почитать, а то не совсем понятно
strictly ASM. Trillian keygen, ('05 года, не знаю, есть ли ещё в архивах моих), прогонял keygen' в дебаггере до мозолей на пальцах, так и не смог реверс-инженирнуть код упаковки (( единственное, поставил брейк на вход в процедуру отображения в Вин, и снял "слепок" keygen-а в памяти с WinHex. строго, не шифровальщик - packer. но очень классный packer. реализовать, так понимается не сложно, ибо встречал подобную реализацию и в других кигенах...
Насчёт 2) уже сделал код, правда у него ключ выходной получился не 256 а гораздо меньше, но суть его в том, что сказал слэш. А вот насчёт длинного цикла:неужели его нельзя сделать без функций вообще, а за счёт обычных ассемблерных команд, чтобы не подвисало? Если это действительно так, то я разочарован....
Да понятное дело, что win api это ассемблерный код, но тут дело не в этом. А именно в том, что в самом коде будет виден именно вызов функции, а мне нужно, чтобы там никаких функций не было.
Ну тут всё ясно, человек наверное чтото типа криптера пишет вот ему и нужен какойто алгоритм который считает долго и нудно (чтобы обойти эмуляторы по таймауту), но при этом не хочется паливно грузить проц.
а в том пакере - ни одного вызова функций Win API. и не остановить процесс распаковки, и не поставить брейки. .code меняется при каждой АСМ операции. да, немного может и не по теме, но всё же. GCC-компайлер позволяет создавать программы без .lib, без обращения к стандартным lib MS Win.
чтобы не грузить можно попробовать выставлять на время не очень содержательного цикла idle-time-priority. //altblitz, по твоим постам в теме... ты под чем?