Сейчас на форуме: (+8 невидимых) |
eXeL@B —› Вопросы новичков —› Asm и байт код |
Посл.ответ | Сообщение |
|
Создано: 15 ноября 2013 00:50 · Поправил: Smertig · Личное сообщение · #1 Доброго времени суток. Подскажите новичку, где можно почитать о написании своего кода прямо в памяти файла? Это очень похоже на ассемблер. Обычно я врубаю Cheat Engine/Olly и строчу код в выделенной памяти процесса, проверяя его через отдельный поток, потом уже в ехешник засовываю, но некоторые моменты мне не совсем понятны. Например тут нет объявления переменных, иногда непонятно, куда возвращаются значения и прочее. Все справочные материалы по ассемблеру не подходят, так как в нём есть то, чего нет в байткоде. И еще вопрос. Если мы пишем call "функция без аргументов, возвращающая HWND" (call GetCapture, к примеру) то куда пойдёт этот HWND? Надеюсь на вашу помощь | Сообщение посчитали полезным: Dr0p |
|
Создано: 15 ноября 2013 00:58 · Поправил: Dr0p · Личное сообщение · #2 Конпильте отдельно и вставляйте дамп. Кодить код в дебаггере это жесть, да и зачем оно надо > то куда пойдёт этот HWND? В аккумуляторе(Intel® 64 and IA-32 Architectures Software Developer’s Manual v1:3.4.1). Да и не только в этой архитектуре, так есчо с древних времён пошло. | Сообщение посчитали полезным: Smertig |
|
Создано: 15 ноября 2013 01:04 · Личное сообщение · #3 Smertig Результат выполнения заносится в регистры (eax etc.). Вообще в статьях Криса Касперски такой инфы много) | Сообщение посчитали полезным: Smertig |
|
Создано: 15 ноября 2013 01:44 · Личное сообщение · #4 |
|
Создано: 15 ноября 2013 04:39 · Личное сообщение · #5 |
|
Создано: 15 ноября 2013 04:58 · Личное сообщение · #6 |
|
Создано: 15 ноября 2013 06:57 · Личное сообщение · #7 |
|
Создано: 15 ноября 2013 10:37 · Поправил: Smertig · Личное сообщение · #8 |
|
Создано: 15 ноября 2013 13:56 · Личное сообщение · #9 Smertig, давным-давно уже облюбовал этот метод - по мне так это гораздо удобнее, чем компилить. Например, накидал код в OllyDBG, скопипастил, поправил где надо смещения, вставил - работает) Ну, можно писать базонезависимый код, определяющий адрес примерно так: call $+5, pop eaх, и компилировать. А вообще - нет более полезной штуки для этих целей, чем огромнейший и подробнейший Intel® 64 and IA-32 Architectures Software Developer’s Manual. ----- Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей. | Сообщение посчитали полезным: Smertig |
|
Создано: 15 ноября 2013 14:00 · Личное сообщение · #10 |
|
Создано: 15 ноября 2013 14:23 · Поправил: Dr0p · Личное сообщение · #11 Crawler > это гораздо удобнее, чем компилить. Код из 5-ти инструкций или пары апишек ? Ну а конпилиться оно обычно нажатием кнопки, быть может вы есчо из консоли ресурсы конпилить, ассемблируете и линкуете вручную Могу вам посоветовать не использовать локальные переменные, а смещения в уме считать и в структурах. Так гораздо приятнее будет |
eXeL@B —› Вопросы новичков —› Asm и байт код |