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

 eXeL@B —› Вопросы новичков —› пропатчил файл - глючит
Посл.ответ Сообщение

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

Создано: 15 февраля 2007 01:46
· Личное сообщение · #1

значит прога, когда ее закрывают, удаляет фалй базы данных, все хорошо я распаковал ее(UPX + SCRAMBLER), нашел где и как идет обращение на удаление файла, заменил байты
"E8 78 DB FF FF" на
"90 90 90 90 90"

встречается только 1 раз во всей проге

прога стала вылетать и некорректно работать, где я напортачил?



Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 15 февраля 2007 02:14
· Личное сообщение · #2

если это переход на вызов из библиотеки, то не забывай что процедура передает еще в стеке переменные. Если это так то заNOP'ь перед этим вызовом нужные PUSH XXXX



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

Создано: 15 февраля 2007 03:10
· Личное сообщение · #3


00409F50 /$ 53 PUSH EBX
00409F51 |. 8BD8 MOV EBX,EAX
00409F53 |. 8BC3 MOV EAX,EBX
00409F55 |. E8 1AA5FFFF CALL DNIPRO~1.00404474
00409F5A |. 50 PUSH EAX ; /FileName
00409F5B |. E8 78DBFFFF CALL <JMP.&KERNEL32.DeleteFileA> ; DeleteFileA
00409F60 |. F7D8 NEG EAX
00409F62 |. 1BC0 SBB EAX,EAX
00409F64 |. F7D8 NEG EAX
00409F66 |. 5B POP EBX
00409F67 . C3 RETN

вот выдрал с олли, теперь не знаю что с этим делать



Ранг: 30.5 (посетитель), 5thx
Активность: 0.010
Статус: Участник

Создано: 15 февраля 2007 03:22
· Личное сообщение · #4

Feldsher пишет:
50 PUSH EAX ; /FileName

забыл занопить это



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

Создано: 15 февраля 2007 03:44
· Личное сообщение · #5

obfuskator глючит, ACCESS VIOLATION



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 15 февраля 2007 03:50
· Личное сообщение · #6

Feldsher, попробуй так:
Feldsher пишет:
00409F50 /$ 53 PUSH EBX

На
00409F50 C3 RETN

-----
Всем привет, я вернулся




Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 15 февраля 2007 03:55
· Личное сообщение · #7

Хотя может перед ret ещё понадобится "mov eax,1"

-----
Всем привет, я вернулся




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

Создано: 15 февраля 2007 04:14 · Поправил: Feldsher
· Личное сообщение · #8

Bitfry

00409F50 /$ 53 PUSH EBX
На
00409F50 C3 RETN


все сработало! СПАСИБО!



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 15 февраля 2007 05:43
· Личное сообщение · #9

И всё же:
Bitfry пишет:
перед ret ещё понадобится "mov eax,1"

Чтом потом сюрпризов не было.

-----
Всем привет, я вернулся





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

Создано: 15 февраля 2007 05:49
· Личное сообщение · #10

Если я правильно понял, то это просто ф-я удаления файла. Но вы уверены, что она не применяется в других местах? Т.е. когда-нибудь прога захочет по запросу пользователя удалить какой-то файл и применит ту же функцию удаления!

Решение: нопить не саму ф-ю, а ее конкретный вызов.



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 15 февраля 2007 08:33
· Личное сообщение · #11

HoBleen пишет:
Если я правильно понял, то это просто ф-я удаления файла. Но вы уверены, что она не применяется в других местах?

Кстати, да.
Нужно посмотреть, кто её вызывал в этот раз и по списку всех явных вызовов (Ctrl+R в начале функции) проанализировать, нужна ли данная функция программе. Если вызовов много, то действительно саму функцию не стоит трогать. Надо исправлять только те обращения, которые удаляют именно файл базы (возможно, таких колов несколько).

-----
Всем привет, я вернулся




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

Создано: 15 февраля 2007 12:18
· Личное сообщение · #12

СУПЕР! Век живи- век учись!
за(ноп)ил вызов!



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

Создано: 15 февраля 2007 12:20
· Личное сообщение · #13

все заработало



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 16 февраля 2007 00:16
· Личное сообщение · #14

Feldsher пишет:
СУПЕР! Век живи- век учись!

Но для этого лучше еще и думать, тогда быстрее научишься.



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

Создано: 17 февраля 2007 01:15
· Личное сообщение · #15

tundra37


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


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