Сейчас на форуме: UniSoft, bartolomeo (+6 невидимых) |
eXeL@B —› Программирование —› Перечисление релоков |
Посл.ответ | Сообщение |
|
Создано: 09 декабря 2010 07:22 · Личное сообщение · #1 Всем привет. Помогите, плз, начинающему, запутался. Есть обычный цикл, который перечисляет дескрипторы IMAGE_BASE_RELOCATION. while( relocBlock->VirtualAddress != NULL ) { ... relocBlock = ( IMAGE_BASE_RELOCATION *)((ULONG)relocBlock + relocBlock->SizeOfBlock); } Как внутри цикла корректно перечислить непосредственно сами 2-байтные блоки данных, которые идут за полями VirtualAddress и SizeOfBlock? |
|
Создано: 09 декабря 2010 08:20 · Личное сообщение · #2 А в чем проблема? В определении количества 2 байтовых элементов? Количество равно (relocBlock->SizeOfBlock - 8) / 2 SizeOfBlock равен размеру всего блока, отнимаем 4 байта (VirtualAddres), 4 байта (SizeOfBlock) и делим на 2 (размер элемента цепочки). Всё теперь в цикле читаем по 2 байта. ----- Yann Tiersen best and do not fuck |
|
Создано: 09 декабря 2010 08:58 · Личное сообщение · #3 |
|
Создано: 09 декабря 2010 10:12 · Личное сообщение · #4 |
eXeL@B —› Программирование —› Перечисление релоков |
Эта тема закрыта. Ответы больше не принимаются. |