169 похожих чатов

Даров. Я уже подобное задовал, но перефразирую. Есть ли возможность задать

макрос в fasm/fasmg, который будет рандомизировать команды?
Вот пример команд:

inc eax
inc eax
inc eax
inc eax
inc eax
inc eax

допустим, для примера, через вот этот макрос буду менять:

macro inc [arg] {
common

random = %t mod 2

if random = 1
inc arg
else
add arg, 1
end if
}

и выходить должно что-то вроде

inc eax
add eax, 1
inc eax
add eax, 1
add eax, 1
inc eax

причем каждый раз по разному. А %t выдает одно значение во время одной компиляции. Есть вариант сделать пред обработку через костыль, где я внешне подменяю текст в нужно месте. Но это сложный путь.

3 ответов

27 просмотров

Такое только через опкоды генерировать надо. Рандомизируешь опкод инструкции, потом рандомизируешь аргументы.

Да блин. macro rand.srand seed=%t { rand.state = seed } macro rand.next target* { rand.state = (rand.state * 1103515245 + 12345) and 0xffffffff target = (rand.state shr 16) and 0x7fff } macro inc [arg] { common rand.next random if random and 1 inc arg else add arg, 1 end if } rand.srand inc eax inc eax inc eax

nano- Автор вопроса

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта