Сейчас на форуме: vsv1, _MBK_, ut2004 (+6 невидимых)

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

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

Создано: 23 марта 2007 17:40
· Личное сообщение · #1

В статье "Взлом Total Commander 6" немного не понял про секции. Секцию-то я добавляю, но мне непонятно, в каком месте она добавляется. И как в Olly перейти в эту секцию, чтобы писать там код. В CFF Explorer есть какие-то адреса новой секции, но когда я в Olly перехожу на Virtual Address созданной секции, то получается ошибка, а на Raw Address вообще что-то не то, хотя насколько я понял, должны быть нули. Строго не судите, так как про секции я узнал только что.




Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 23 марта 2007 18:10
· Личное сообщение · #2

DdvDemon пишет:
о когда я в Olly перехожу на Virtual Address созданной секции, то получается ошибка

Надо VA + ImageBase



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

Создано: 23 марта 2007 19:06 · Поправил: DdvDemon
· Личное сообщение · #3

У меня VA 252000, а ImageBase 400000. Только по адресу 652000 какой-то код.Значит, вообще не обязательно секция должна быть заполнена нулями? И можно ли в Olly посмотреть, в какой секции находишься?




Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 23 марта 2007 19:30
· Личное сообщение · #4

DdvDemon пишет:
Значит, вообще не обязательно секция должна быть заполнена нулями?

Если она уже заполнена чем-то, то конечно нет. Остаток после RawSize до VirtualSize при проецировании заполняется нулями.

DdvDemon пишет:
И можно ли в Olly посмотреть, в какой секции находишься?

Открываешь карту памяти (Alt + M) и по столбцам Address и Size находишь что тебе надо. Столбец Owner - имя модуля, Section - имя секции.



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

Создано: 23 марта 2007 20:17
· Личное сообщение · #5

Спасибо. С секциями разобрался
Так как я нашел Total Commander 6.55, а не 6.54, описываемый в статье, все адреса поменялись.
Помогите понять, что значат следующие строчки кода в статье:
00612045 C705 47F64300 41>MOV DWORD PTR DS:[43F647],FFFC5B41\восстановление call CreateFileA по адресу
0061204F C605 46F64300 E8 MOV BYTE PTR DS:[43F646],0E8 \0043F646
и как их можно поменять под конкретный случай.
И еще, надо ли изменять строчку
00612016 FF15 E8815A00 CALL DWORD PTR DS:[<&KERNEL32.CreateFile>; kernel32.CreateFileA
или эта функция всегда находится по одному адресу?



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

Создано: 23 марта 2007 21:37
· Личное сообщение · #6

Не обращайте внимания на прошлый топик. Час с лишним под отладчиком, полсотни изменений адресов, и наконец все заработало. А этот кусок кода стал мне как родной
Спасибо HoBleen'у.


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


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