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

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

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

Создано: 20 февраля 2014 16:30
· Личное сообщение · #1

Здравствуйте
собственно распаковал программу и все ок но после распаковки она не запускается.
Далее обхожу проверку (Смотрите скриншот)

И программа запускается! Но ни 1 ее функция не работает.
Собственно хотелбы узнать что за проверка и как ее обойти коректно.
Ссылка на программу:http://rghost.ru/52548022
Зарание благодарен за любую помощь.



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

Создано: 20 февраля 2014 16:48
· Личное сообщение · #2

бряк на чтение памяти тела проги.. 80 проц что поймаеш процедуру контроля целосности.. есть еще вариант что криво распаковал

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




Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 20 февраля 2014 17:20
· Личное сообщение · #3

jnz ты не убрал проверку, а только ее симптом.
Смотри где еще юзается call sub_41152c, а лучше пропатч 41152c

| Сообщение посчитали полезным: Gloom87

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

Создано: 20 февраля 2014 18:19 · Поправил: dosprog
· Личное сообщение · #4

Gloom87,
кривая распаковка.
Что именно у вас заработало после патча?
sub_41152c вызывает GetProcAddress() c именем функции "". Возвращает, естественно, 0000.
Что там было патчить?...
Это не "проверка целостности", а startup код delphi.

| Сообщение посчитали полезным: Gloom87

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

Создано: 20 февраля 2014 18:26 · Поправил: Gloom87
· Личное сообщение · #5

В том то и дело что программу распаковал правельно.
Немогу понять что за проверка(
также данная функция sub_41152C
вызывается практически во всех функциях
Вот запакованый:http://rghost.ru/52550735



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

Создано: 20 февраля 2014 18:37
· Личное сообщение · #6

dosprog
И как боротся с startup код delphi?



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

Создано: 20 февраля 2014 18:54
· Личное сообщение · #7

Local calls from 00429667, 0043B58B, 0043BF77, 0043BFBA, 0043BFCA, 0043BFDA, 0044FB69, 0044FBB5, 0045FB8E, 0050F8F4, 0050FAA9, 0050FE9F, 0050FEB1, 0050FEC3, 0050FED5, 0050FEE7, 0050FEF9, 0050FF0B, 0050FF1D, 0050FF2F, 0050FF41, 0050FF53, 0050FF65, ...

Это малая часть Адресов Где идет вызов проверки целостности
Так что лучше поступить как тебе предложил Vovan666
С Уважением Mishar

| Сообщение посчитали полезным: Gloom87

Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 20 февраля 2014 19:15
· Личное сообщение · #8

Gloom87 пишет:
В том то и дело что программу распаковал правельно.

Какой-то косяк с ресурсами sub_41152C должен возвращать адрес CARBONWOT



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

Создано: 20 февраля 2014 20:21 · Поправил: Gloom87
· Личное сообщение · #9

Vovan666
Понятненько буду ковырять дальше




Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 21 февраля 2014 02:23
· Личное сообщение · #10

dosprog пишет:
sub_41152c вызывает GetProcAddress() c именем функции "". Возвращает, естественно, 0000.

вы неправы эта фича одного из плагина PE compact проверка целосности программы
Gloom87
смотри мой обход здесь --> Link <--

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.




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

Создано: 21 февраля 2014 04:50 · Поправил: dosprog
· Личное сообщение · #11

ClockMan,
не знаю...,
только и точка вызова .6B0172, и тем более сама процедура .41152С уже никакого отношения к PECO не имеют,
и если код не работает как должен, то значит не находит данные, которые не восстановлены как следует при распаковке.


да.





Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 21 февраля 2014 05:59
· Личное сообщение · #12

Интересно, что ж всех так тянет боты для онлайн игр расковыривать.

-----
TEST YOUR MIGHT





Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 21 февраля 2014 07:49
· Личное сообщение · #13

dosprog пишет:
только и точка вызова .6B0172, и тем более сама процедура .41152С уже никакого отношения к PECO не имеют,

да ну
Code:
  1. /*6B016B*/  PUSH 6B01AC========>ProcNameOrOrdinal
  2. /*6B0170*/  PUSH -1============>hModule
  3. /*6B0172*/  CALL 0041152C

заходим
Code:
  1. /*411570*/  PUSH EAX
  2. /*411571*/  PUSH ESI
  3. /*411572*/  CALL 00411524======>kernel32.GetProcAddress

PE compact хучит её
Code:
  1. /*C30106*/  MOV EAX,[EBP+8]===========>hModule
  2. /*C30109*/  INC EAX
  3. /*C3010A*/  JNZ SHORT 00C30124
  4. /*C3010C*/  MOV ESI,[EBP+C]
  5. /*C3010F*/  CMP ESI,0FFFF
  6. /*C30115*/  JBE SHORT 00C30124
  7. /*C30117*/  LEA EAX,[EBX+4511A0]
  8. /*C3011D*/  POP ESI
  9. /*C3011E*/  POP EDI
  10. /*C3011F*/  POP EBX
  11. /*C30120*/  LEAVE
  12. /*C30121*/  RETN 0C


-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.


| Сообщение посчитали полезным: dosprog

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

Создано: 21 февраля 2014 09:07 · Поправил: dosprog
· Личное сообщение · #14

ClockMan,
Спасибо. Был неправ.





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

Создано: 21 февраля 2014 16:33 · Поправил: Gloom87
· Личное сообщение · #15

ClockMan
Большое спасибо за помощь!
Да и инфы по обходу в данной ссылке ненашол
Gloom87
смотри мой обход здесь --> Link <--

так как всетаки обойти данную проверку?


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


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