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

 eXeL@B —› Программирование —› Обход таблицы импорта
Посл.ответ Сообщение

Ранг: 6.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 февраля 2007 09:28 · Поправил: Licos
· Личное сообщение · #1

Подскажите пожалуйста, где тут ошибка (а она тут где то есть ) :
В таблицу Table требуется собрать все указатели на имена в иат (с учётом ординалов)

pushad
mov esi,Iatrva
add esi,ImageBase
lea ebp,Table

@ScanUnNormal:
mov SomeBuf,0
@UnNormal:
mov eax,[esi]
test eax,eax //Если пусто, то прыгаем на нормальный иат
je @ScanNormal

add eax,ImageBase
add eax,SomeBuf //сместим указатель на следующий элемент в таблице
mov ecx,[eax]
test ecx,ecx //элементы закончились, далее смотрим, что в основном импорте
je @ScanNormal

mov [ebp],eax //сохраняем eax
add ebp,4

@NextAPI:
add SomeBuf,4
jmp @UnNormal

//основной импорт
@ScanNormal:
mov SomeBuf,0
@Normal:
mov eax,[esi+$10]
test eax,eax //Если пусто, то значит конец иат
je @End

add eax,ImageBase
add eax,SomeBuf //сместим указатель на следующий элемент в таблице
mov ecx,[eax]
test ecx,ecx //элементы закончились, далее смотрим следующий набор
je @NextBibliothek

mov [ebp],eax //сохраняем eax
add ebp,4

@NextAPI2:
add SomeBuf,4
jmp @Normal

@NextBibliothek:
add esi,$14
jmp @ScanUnNormal

@End:
popad



Ранг: 39.6 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 04 февраля 2007 09:51
· Личное сообщение · #2

А поподробнее можно? Через отладчик прогонял? Какого рода ошибка возникает? Access Volation? Если да, то в какой строчке.



Ранг: 6.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 05 февраля 2007 09:31
· Личное сообщение · #3

NetSpider пишет:
Access Volation?

Именно так

В общем разобрался, этот алго правильный, а баг был в другом


 eXeL@B —› Программирование —› Обход таблицы импорта
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати