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

 eXeL@B —› Вопросы новичков —› поиск в OllyDbg используя скрипт
Посл.ответ Сообщение


Ранг: 108.4 (ветеран)
Активность: 0.060
Статус: Участник

Создано: 25 марта 2006 10:01
· Личное сообщение · #1

подскажите пожалуйста, как в скрипте для OllyDbg сделать поиск некоторых слов, но не в секции кода.
Я знаю там есть такая команда
findop addr, #437265617465#
но я не знаю какой адрес будет у секции данных.
Как мне определить адрес секции данных и сделать поиск по нему.

-----
Есть вопросы ко мне? В личку!





Ранг: 108.4 (ветеран)
Активность: 0.060
Статус: Участник

Создано: 26 марта 2006 13:01
· Личное сообщение · #2

Не хочу заработать бан, но все таки напишу.
Если никто не знает, то хотя бы ответьте есть ли такая возможность. Или тут специалисты перевелись.
Вроде как я смотрю, тут они есть.
и все таки хоть какой нибудь ответ хотелось бы получить (по существу вопроса).

-----
Есть вопросы ко мне? В личку!





Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 26 марта 2006 14:10
· Личное сообщение · #3

YoriCH
Команда поиска в ОллиСкрипт всё равно кривая, реализуй поиск самостоятельно - тупым сравнением.




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 26 марта 2006 15:00
· Личное сообщение · #4

Вот как я сделал поиск в следующей секции после секии кода:

var ADDR
GMI eip, CODESIZE
mov ADDR,$RESULT
ADD ADDR,401000
log $RESULT
log ADDR
find ADDR,#5E854D54D1E3A581#
log $RESULT





Ранг: 108.4 (ветеран)
Активность: 0.060
Статус: Участник

Создано: 27 марта 2006 08:30
· Личное сообщение · #5

Ara
Спасибо за ответ, тут я увидел ошибку у себя. надо использовать find а не findop тогда он с адреса 401000 ищет и в секции данных. По крайней мере у меня так.
А вот как можно перевести это смещение в реальное смещение в файле?
Я понимаю. что в некоторых случаях можно вычесть 400С00, а в других другое число, как выяснить какое число надо вычитать?

-----
Есть вопросы ко мне? В личку!




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

Создано: 27 марта 2006 08:45
· Личное сообщение · #6

Оч просто
пишем в файл то которое тебе нужно, сохраняем смотрим, от которого получилось отнимаем которое нуно, вот тебе и число))




Ранг: 108.4 (ветеран)
Активность: 0.060
Статус: Участник

Создано: 27 марта 2006 08:56
· Личное сообщение · #7

Gydvin
что то ты непонятно объяснил. Мне известно виртуальное смещение, а по нему надо определить реальное смещение. Как я понимаю, это надо будет как то завязать с секцией где он находиться. Вот я и прошу можно ли как то описать. как определяется реальное смещение в файле при известном виртуальном.

-----
Есть вопросы ко мне? В личку!




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

Создано: 27 марта 2006 09:05
· Личное сообщение · #8

в файл пишем виртуальное смещение, сохраняем, делаем рестарт, смотрим что там получилось и от того что получилось отнимаем твое виртуальное смещение. Получаем число. Далее от виртуального смещения отнимаем полученное число (аналог твоего 400С00) , вот и получаем то смещение которое нуна писать в файл




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 27 марта 2006 09:07 · Поправил: Hellspawn
· Личное сообщение · #9

вот тебее пример на дельфях, выдрал из одной программы:

Function TPEEditor.RvaToFileOffset(rva:dword):dword;
var
i:integer;
begin
Result:=0;
for i:=0 to Sectionlist.count-1 do
begin
Section:=PSection(SectionList[i]);
if (Rva >= Section.o_rva) and (Rva < (Section.o_rva+Section.o_virtual_size)) then
begin
Result:=Section.o_physical_offs+RVA-Section.o_rva;
exit;
end;
If (Rva < Section.o_rva) then
begin
Result:=Rva;
exit;
end;
end;
end;


Здесь RVA проверяется на принадлежность к каждой секции
и если это так, то вычисляется оффсет...

-----
[nice coder and reverser]





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 27 марта 2006 11:25
· Личное сообщение · #10

А можно заюзать ImageRvaToVa.

-----
Yann Tiersen best and do not fuck





Ранг: 108.4 (ветеран)
Активность: 0.060
Статус: Участник

Создано: 27 марта 2006 18:26
· Личное сообщение · #11

Hellspawn
Сенкс
Это то что я просил.

Gydvin
Мне не надо писать в файл. Мне нужно по данным из файла всю необходимую инфу узнать.
Спасибо Hellspawn, подсказал.

-----
Есть вопросы ко мне? В личку!



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


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