Twister Ну формально в данном случае (когда поток вызывает только одну API) можно и не возвращаться в шеллкод. Для этого в самом начале потока...
P.S. Слегка прогнал... не учёл размер размер инструкции сложения... надо (хотя лучше сказать не надо :-)) add dword[esp],10 .
Twister Если использовать push + ret для вызова API, то не сохраняется адрес возврата. Можно, конечно, извратиться чем-то в духе call $+5 add...
Twister А адрес возврата сохранить?
Rockphorr Ну так... чем больше я их делаю, тем больше поводов Вы для них даёте. :-) P.S. cf никак не влияет на работу shr.
d2k9 Это ужасно. Чем Вам E8 не угодил?
Clerk Согласен... Какая редкая неожиданность... :-)
Clerk В данном случае и так понятно, откуда он выполняется: просто d2k9 не знает форматов инструкции call.
GoldFinch Процесс скорее всего не успевает инициализироваться.
d2k9 Лично мне здесь видится несоответствие между: WORD instr_call_func; //здесь будет код инструкции call DWORD arg_func; //адрес...
KeSqueer Для предыдущей задачи можно. Там без переходов и не обойтись. Хотя согласен... по приведенному месиву инструкций трудно определить, к...
murder А самое главное, что алгоритм ещё и быстрый какой (время исполнения —> ∞). И разумеется, алгоритм бы не обошёлся без clc для солидности. :-)
Black_mirror Ну я бы так не сказал. :-) У меня вот этот код: table dd 80000000h repeat 31 p = % repeat 31 s = ((magic shl %) shr 32) and 31 if...
P.S. Компилироваться будет скорее всего только в версиях, начиная с 1.69.
Black_mirror Что-то не совсем понимаю, как из него получить число. :-) Для меня этот полином соответствует числу 100101b... не более. Ну если...
J0E bswap(x); Причём решение остаётся общим. Решения для частных случаев именно должны быть проще. Иначе в решении для частного случая нет смысла....
Т.е. блин... без xor ecx,ecx.
Ну и без xor eax,eax в начале тоже можно обойтись. :-)
Ах да... mov eax,1 в начале не нужен.
Black_mirror В общем, хитрый мул как-то не удаётся. Мой лучший вариант на данный момент — тупое просеивание. Не десять инструкций, но на жизнь...
Имена участников (разделяйте запятой).