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

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

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

Создано: 21 сентября 2015 07:34
· Личное сообщение · #1

Добрый день

модифицировал программу посредством Olly
снял средства антиотладки (в отдельном потоке выполнялась проверка наличия отладки
и генерировалось Int 3)
но после этого программа стала сама закрываться.
Я думаю так потому что никаких ошибок не выдаёт, даже если не править код, а править строковые
константы, программа всё равно закрывается
удалось установить, что посылается WM_Close на закрытие, далее отрабатывает
postquitmessage, но найти условие от которого срабатывает закрытие не удалось
так же ставил бряк на exitprocess, но как то не удачно ... потому что по стеку вызовов
ничего не нашёл, может стоит лучше попробовать ?

или
Подскажите пож-та какая может быть методика контроля целостности exe файла ?
Средствами операционной системы такое возможно ?, что я в отладчике не могу найти
или плохо ищу подскажите хотя бы направление куда копать ?

Спасибо.

Компилятор : Delphi 6 [Overlay]
Файл : http://rghost.ru/8f8czbPSH



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

Создано: 21 сентября 2015 08:12
· Личное сообщение · #2

Zeland измените 1 байт в программе, поставте на этот байт бряк, на доступ к памяти и ищите где он вычитывается и где расчитывается контрольная сумма. Вариант 2. программа проверяет сам образ файла.. т.е. ОпенФайл, РеадФайл. Самой ОСи на контрольную сумму файла в большинстве случаев плевать

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




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

Создано: 21 сентября 2015 09:17
· Личное сообщение · #3

Не понял я тоже в чём дело,дошёл до этого места(перед закрытием)
Code:
  1. Address   Hex dump          Command                                  Comments
  2. 00409084  /.  53            PUSH EBX
  3. 00409085  |.  A1 68110401   MOV EAX,DWORD PTR DS:[1041168]
  4. 0040908A  |.  8B10          MOV EDX,DWORD PTR DS:[EAX]

На Push ссылается
Code:
  1. CPU Disasm
  2. Address   Hex dump          Command                                  Comments
  3. 004090DD      C700 84904000 MOV DWORD PTR DS:[EAX],00409084

Но если занопить этот вызов,программа всё равно закрывается.



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

Создано: 21 сентября 2015 09:26
· Личное сообщение · #4

Думаю про вариант 2 предложенный VodoleY
и уже нашёл код читающий текущий файл, изучаю



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

Создано: 21 сентября 2015 09:37 · Поправил: ProstoAndreyX
· Личное сообщение · #5

Может на что-то наведёт!
Code:
  1. 00404940  /$  53            PUSH EBX
  2. 00404941  |.  56            PUSH ESI
  3. 00404942  |.  57            PUSH EDI
  4. 00404943  |.  55            PUSH EBP

При бряке:
Code:
  1. Stack (0012FF58)=0
  2. EBX=7FFD4000
  3. Local call from 404A1D

А что такое EBX?Не нашёл в гугле вот что,видимо проверка каких-то атрибутов в файле!
7FFD4000-DB00-InheritedAdressSpace=0
P.S И дальше PUSH'ы интересные.


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


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