Сейчас на форуме: (+8 невидимых)

 eXeL@B —› Вопросы новичков —› Asm и байт код
Посл.ответ Сообщение

Ранг: -0.1 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 15 ноября 2013 00:50 · Поправил: Smertig
· Личное сообщение · #1

Доброго времени суток.
Подскажите новичку, где можно почитать о написании своего кода прямо в памяти файла? Это очень похоже на ассемблер. Обычно я врубаю Cheat Engine/Olly и строчу код в выделенной памяти процесса, проверяя его через отдельный поток, потом уже в ехешник засовываю, но некоторые моменты мне не совсем понятны. Например тут нет объявления переменных, иногда непонятно, куда возвращаются значения и прочее. Все справочные материалы по ассемблеру не подходят, так как в нём есть то, чего нет в байткоде.

И еще вопрос. Если мы пишем
call "функция без аргументов, возвращающая HWND" (call GetCapture, к примеру)
то куда пойдёт этот HWND?

Надеюсь на вашу помощь

| Сообщение посчитали полезным: Dr0p


Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

Создано: 15 ноября 2013 00:58 · Поправил: Dr0p
· Личное сообщение · #2

Конпильте отдельно и вставляйте дамп. Кодить код в дебаггере это жесть, да и зачем оно надо

> то куда пойдёт этот HWND?

В аккумуляторе(Intel® 64 and IA-32 Architectures Software Developer’s Manual v1:3.4.1). Да и не только в этой архитектуре, так есчо с древних времён пошло.

| Сообщение посчитали полезным: Smertig

Ранг: 19.7 (новичок), 14thx
Активность: 0.030
Статус: Участник

Создано: 15 ноября 2013 01:04
· Личное сообщение · #3

Smertig
Результат выполнения заносится в регистры (eax etc.). Вообще в статьях Криса Касперски такой инфы много)

| Сообщение посчитали полезным: Smertig

Ранг: -0.1 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 15 ноября 2013 01:44
· Личное сообщение · #4

Писать в дебаггере - извращение, но нервы закаляет.
Про регистры и так понятно, я думал мало ли в стеке останется возвращенное значение.
Статьи почитаю, спасибо)




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 15 ноября 2013 04:39
· Личное сообщение · #5

Я не совсем понимаю, почему не заинжектить свою библиотеку и уже из неё работать с кодом?




Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

Создано: 15 ноября 2013 04:58
· Личное сообщение · #6

Gideon Vi

Знал людей, которые древнюю клинопись изучали. Им интересно было. Походу тут тоже самое, нравится ему в хекс редакторе кодить




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 15 ноября 2013 06:57
· Личное сообщение · #7

А, ну ок Понимаю.



Ранг: -0.1 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 15 ноября 2013 10:37 · Поправил: Smertig
· Личное сообщение · #8

Нет, не ради удовольствия. Просто есть клиент игрушки, дописываю различные читерские функции в него. Поэтому только через дебаггер работаю. Или есть другие варианты?




Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 15 ноября 2013 13:56
· Личное сообщение · #9

Smertig, давным-давно уже облюбовал этот метод - по мне так это гораздо удобнее, чем компилить.

Например, накидал код в OllyDBG, скопипастил, поправил где надо смещения, вставил - работает)

Ну, можно писать базонезависимый код, определяющий адрес примерно так: call $+5, pop eaх, и компилировать. А вообще - нет более полезной штуки для этих целей, чем огромнейший и подробнейший Intel® 64 and IA-32 Architectures Software Developer’s Manual.

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.


| Сообщение посчитали полезным: Smertig


Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 15 ноября 2013 14:00
· Личное сообщение · #10

а что асма плагина ассемблера под ольгу разве нет? мне казалось есть и все им давно пользуются




Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

Создано: 15 ноября 2013 14:23 · Поправил: Dr0p
· Личное сообщение · #11

Crawler

> это гораздо удобнее, чем компилить.

Код из 5-ти инструкций или пары апишек ?

Ну а конпилиться оно обычно нажатием кнопки, быть может вы есчо из консоли ресурсы конпилить, ассемблируете и линкуете вручную

Могу вам посоветовать не использовать локальные переменные, а смещения в уме считать и в структурах. Так гораздо приятнее будет


 eXeL@B —› Вопросы новичков —› Asm и байт код
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати