Посл.ответ |
Сообщение |
Ранг: 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.17↘0.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.01↘0 Статус: Участник
|
Создано: 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.3↘0 Статус: Участник
|
Создано: 15 февраля 2007 03:50 · Личное сообщение · #6
Feldsher, попробуй так:
Feldsher пишет:
00409F50 /$ 53 PUSH EBX
На
00409F50 C3 RETN
----- Всем привет, я вернулся | Сообщение посчитали полезным: |
Ранг: 495.3 (мудрец) Активность: 0.3↘0 Статус: Участник
|
Создано: 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.3↘0 Статус: Участник
|
Создано: 15 февраля 2007 05:43 · Личное сообщение · #9
И всё же:
Bitfry пишет:
перед ret ещё понадобится "mov eax,1"
Чтом потом сюрпризов не было.
----- Всем привет, я вернулся | Сообщение посчитали полезным: |
![](img/s6.gif) Ранг: 240.5 (наставник) Активность: 0.19↘0 Статус: Участник Author of ACKiller
|
Создано: 15 февраля 2007 05:49 · Личное сообщение · #10
Если я правильно понял, то это просто ф-я удаления файла. Но вы уверены, что она не применяется в других местах? Т.е. когда-нибудь прога захочет по запросу пользователя удалить какой-то файл и применит ту же функцию удаления!
Решение: нопить не саму ф-ю, а ее конкретный вызов.
| Сообщение посчитали полезным: |
Ранг: 495.3 (мудрец) Активность: 0.3↘0 Статус: Участник
|
Создано: 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.43↘0 Статус: Участник
|
Создано: 16 февраля 2007 00:16 · Личное сообщение · #14
Feldsher пишет:
СУПЕР! Век живи- век учись!
Но для этого лучше еще и думать, тогда быстрее научишься.
| Сообщение посчитали полезным: |
Ранг: 1.8 (гость) Активность: 0=0 Статус: Участник
|
Создано: 17 февраля 2007 01:15 · Личное сообщение · #15
tundra37
| Сообщение посчитали полезным: |