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

 eXeL@B —› Вопросы новичков —› Инжект
Посл.ответ Сообщение

Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 15 мая 2010 04:23 · Поправил: NikolayD
· Личное сообщение · #1

Всем привет. Такая проблемка возникла не знаю как справиться. Делаю инжект в конце секции кода


Нормально создаётся идёт в него запись (даже записывается 4кб причём каждый раз по разному записывается когда чуть больше когда чуть меньше) но потом (из WriteFile не выходим) вылетает такая ошибка


после чего перетекает в исключение


пропускаю исключение и прога падает с такой ошибкой
.


Кто знает в чём косяк подсобите.



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

Создано: 15 мая 2010 10:04
· Личное сообщение · #2

Может быть зальете куда-нибудь то что исследуете? Так будет легче.

Кстати после вызова CreateFile, EAX чему равен?

NikolayD пишет:
ShareMode = FILE_SHARE_READ|FILE_SHARE_WRITE

Думаю будет цивилизованее оставить только FILE_SHARE_READ.




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 15 мая 2010 14:44
· Личное сообщение · #3

Да, файл нужен, что бы точно сказать

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 6.0 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 15 мая 2010 15:29 · Поправил: Spirt_Fire
· Личное сообщение · #4

После WriteFile нужно хендл файла для закрытия передать CloseHandle, а у тебя этого нет.

...Добавлю что бы было понятнее, после WriteFile пишешь push (где у тебя хендл), и усе срастется...



Ранг: 51.8 (постоянный), 58thx
Активность: 0.03=0.03
Статус: Участник

Создано: 15 мая 2010 20:23
· Личное сообщение · #5

NikolayD
Эта строка подозрительно выглядит:
004B0D7D PUSH DWORD PTR DS:[4B0DF0]
В стек должен попасть адрес для приема реального количества записанный байтов. Может, имелось в виду PUSH 4B0DF0 ? А вообще-то эти несколько строк легко оттрассировать. В момент вызова WriteFile в стеке 5 параметров, можно каждый из них вручную проверить на валидность.

Spirt_Fire
Там сразу после CreateFile делается PUSH EAX, это - параметр для CloseHandle.



Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 16 мая 2010 00:32
· Личное сообщение · #6

Bonez92 пишет:
Кстати после вызова CreateFile, EAX чему равен?

хендлу

Coderess
прогу выложить не смогу файл большой. Скачать где-то наврятли скачаешь там самопальная прога для проведения зачётов друг принёс, называется "ТестЮрист 2008"+базы.


Spirt_Fire
уже ответил Prober

Prober пишет:
PUSH 4B0DF0

да так и есть но это не особо влияет там всё норм

Разобрался просто надо пару проверочек было добавить ну и так помелочи+кое где накосячил. Всем спасибо за участие тему закрываю.


 eXeL@B —› Вопросы новичков —› Инжект
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати