Мое почтение всем. Проблема: Есть ноутбук с дохлым CD-ROM. Поддерживает загрузку с flash. Винчестер девственно чист, неразмечен. Хочу разметить и...
MOV WORD PTR [DAP.BUF_DATA_ADDR], DS MOV WORD PTR [DAP.BUF_DATA_ADDR+2], OFFSET BUF Должно быть наоборот: MOV WORD PTR [DAP.BUF_DATA_ADDR + 2],...
У меня была дикая мысль подменять call на int3 и регистрировать вызовы ф-ий в отладчике. Но это абсолютно не годится для самомодифицирующегося кода.
Идет в стандартной поставке Bochs для Windows, скачать можно здесь.
gentr0 Так происходит потому, что перменная в стеке адресуется относительно ebp, например, 'ebp - 0x4'. Соответсвтенно, когда ты пишешь 'mov eax,...
;DWORD RQ_GetINTLIST(BYTE * bArr, DWORD * iPos, DWORD iLen, DWORD * iListLen, int ** pList) RQ_GetINTLIST: push ebp mov ebp, esp sub ebp, 0x4...
[deleted] Простите, перепутал.
Выложи плоский бинарь, который можно в Bochs загрузить. Будет намного проще найти в чем проблема.
Ф-ия подготавливает массив адресов переданных аргументов. (WARN: "портит" оригинальную строку, разделяя аргументы нулями). Принимает адрес массива...
В декларации должно быть так: BOOL Procedure(char array[]);
Пардон, нужна вкладка "Imports" (если ее нет, то View ->Imports). В ней будут все импорты.
В окне Names надо найти имя CreateWindowEx. Перейти на него и поставить точку останова (F2) :). Естественно, это будет не само тело ф-ии, а...
SizeOfImage не забыл поменять?
Ой, пардон, криво прочитал. Показалось, что нужен защищенный режим.
С помощью страничного преобразования. В регистре CR3 находится физический адрес каталога страниц, каждая запись которого ссылается на таблицу...
А, кажется, понял. Первый выполняет 'mov dword [A], 0x0'. В [A] лежит 0xFFFFFF00. Допустим, первый пока заткнулся. Второй вытается захватить...
Почему повиснет? Так или иначе 0х0 ляжет в А, пусть и частями.
Странно как-то, или я не понял. Даже если там будет 0xFF, 0xFF00 и т.д. -- мы же все равно весь dword сравниваем с 0, а не только часть. Если 0х0...
Никак. Адресации типа [disp64] нет. Либо пользоваться 32битным значением, либо 'mov eax, [64bit_addr_of_memory]; call eax'.
PROFi Так ведь инструкция xchg автоматически блокирует шину если один из операндов находится в памяти. Поэтому, даже если запись значения будет...
Имена участников (разделяйте запятой).