Сейчас на форуме: zds, -Sanchez- (+8 невидимых)

 eXeL@B —› Протекторы —› Помогите добить....
Посл.ответ Сообщение

Ранг: 210.5 (наставник), 2thx
Активность: 0.140
Статус: Участник

Создано: 13 февраля 2005 22:54 · Поправил: arnix
· Личное сообщение · #1

Программа - WebSite-Watcher 4.02, PEiD говорит - ASProtect 1.22 - 1.23 Beta 21 -> Alexey Solodovnikov [Overlay], OEP нашёл (2AA200), сделал дамп, импорты восстановил, спёртые байты нашёл, вот они:
push ebp (55)
mov ebp, esp (8B EC)
add esp, -10 (83 C4 F0)
push ebx (53)
mov eax, 6A9918 (B8 18 99 6A 00)
Запускаю, а она бах, runtime error 216, падает вот здесь:
...
/*4025BC*/  ADD EAX,3
/*4025BF*/  SAR EAX,2
/*4025C2*/  MOV EDX,DWORD PTR DS:[6B4624]
/*4025C8*/  MOV EDX,DWORD PTR DS:[EDX+EAX*4-C]  <<<--- падает здесь
/*4025CC*/  MOV DWORD PTR SS:[EBP-8],EDX
/*4025CF*/  CMP DWORD PTR SS:[EBP-8],0
/*4025D3*/  JE dumped_.00402662
/*4025D9*/  MOV EDX,DWORD PTR SS:[EBP-8]
/*4025DC*/  ADD EDX,EBX
/*4025DE*/  MOV DWORD PTR SS:[EBP-14],EDX
...
в этот момент в DWORD PTR DS:[EDX+EAX*4-C] находится адрес из самых низов, откуда читать запрещено, вот и падает подлец, Что делать? Что это за адрес? Прогу качать здесь: http://www.aignes.com/download/wswsetup.exe http://www.aignes.com/download/wswsetup.exe (1.9 МБ) Если хотите могу где-нить положить распакованный мною файл. (в RAR-е весит порядка 1.3 МБ)




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 13 февраля 2005 23:10
· Личное сообщение · #2

arnix
Посмотри в оригинальном файле, как выполняется твой кусочек, сравни с распакованным. Что лежит по адресу 6B4624 в твоей и ориг. файлах?



Ранг: 210.5 (наставник), 2thx
Активность: 0.140
Статус: Участник

Создано: 13 февраля 2005 23:37
· Личное сообщение · #3

Ara запустил оригинал, сделал дамп, посмотрел, в этом адресе там DWORD 0015DAE0, а в распакованном - 0015D6B0: Оригинал:
.006B461F: 0000                         add         [eax],al
.006B4621: 0000                         add         [eax],al
.006B4623: 00E0                         add         al,ah
.006B4625: DA1500E4F015         ficom       d,[15F0E400]
.006B462B: 00B4F015000000     add         [eax][esi]*8[00000015],dh
.006B4632: 0000                         add         [eax],al
.006B4634: 0000                         add         [eax],al
Распакованный:
.006B461F: 0000                       add         [eax],al
.006B4621: 0000                       add         [eax],al
.006B4623: 00B0D6150028       add [eax][280015D6],dh
.006B4629: 46                           inc         esi
.006B462A: 6B0028                   imul        eax,d,[eax],000000028
.006B462D: 46                           inc         esi
.006B462E: 6B0000                   imul        eax,d,[eax],000000000
.006B4631: 0000                       add         [eax],al
.006B4633: 0000                       add         [eax],al
сделал всё как в оригинале, не помогло



Ранг: 253.9 (наставник)
Активность: 0.130
Статус: Участник

Создано: 14 февраля 2005 00:06 · Поправил: Tim
· Личное сообщение · #4

Попробуй использовать для теста Stripper. Если конечно, не пробовал...
Иначе, там наверное лежит что-то от самого ASPr'а.

-----
MicroSoft? Is it some kind of a toilet paper?




Ранг: 210.5 (наставник), 2thx
Активность: 0.140
Статус: Участник

Создано: 14 февраля 2005 00:12 · Поправил: arnix
· Личное сообщение · #5

Stripper пробовал, 2.07f (ведь 2.11rc2 для 1.3 и 2 да?), после чего пришлось перезагрузить комп Винда выдала ошибку, закрыла Стриппер, а прога осталась в памяти, жрала проц. на все 100% и не вырубалась Больше Стриппер пробовать не буду


Update:

Кажется знаю как его "сделать", завтра попробую, о резултатах скажу




Ранг: 332.0 (мудрец)
Активность: 0.180
Статус: Участник
•Pr0tEcToRs KiLLeR•

Создано: 14 февраля 2005 01:25
· Личное сообщение · #6

arnix пишет:
падает вот здесь

ну по такому куску мало что сказать можно, но скорее всего причина - записи сделанные апром в третью секцию (BSS которая)... просто попробуй заполнить её нолями ;)



Ранг: 210.5 (наставник), 2thx
Активность: 0.140
Статус: Участник

Создано: 14 февраля 2005 01:40
· Личное сообщение · #7

Mario555 пишет:
ну по такому куску мало что сказать можно, но скорее всего причина - записи сделанные апром в третью секцию (BSS которая)... просто попробуй заполнить её нолями ;)


Опа, спасибо, сделал так как ты сказал, прогресс есть но теперь выдаёт другую ошибку: Internal Error (1161) Please Reinstall WebSite-Watcher

Помоему это уже из части защиты копать и выяснять причины буду завтра, сейчас спать хочется ) Кстати, если не трудно, можешь обяснить что это за секция была и чем она мешала? Или ссылку на статью где об этом говорится.. спасибо.



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

Создано: 14 февраля 2005 04:19
· Личное сообщение · #8

если я ничё не путаю, то в этой проге часть кода без валидного ключа тебе не достать



Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

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

arnix
Напрасно ты на стрипер обиделся! Он прекрасно распаковывает
WebSite-Watcher 4.02 без всяких проблем!




Ранг: 124.7 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 14 февраля 2005 20:03
· Личное сообщение · #10

угу. есть покриптваные участки



Ранг: 9.3 (гость)
Активность: 0.010
Статус: Участник
KpTeaM

Создано: 14 февраля 2005 20:34
· Личное сообщение · #11

arnix
>Internal Error (1161) Please Reinstall WebSite-Watcher
Насколько я помню, она пару раз свой размер проверяет.
Там еще есть случайные проверки по дате номерка из ключа + проверка номера ключа в файле закладок + еще чего мож забыл. Получал полностью рабочую распакованную версию, а не такую, как некоторые делают, только давно это было ;)

Gelios
>если я ничё не путаю, то в этой проге часть кода без
>валидного ключа тебе не достать
Не путаешь, ключей к ней было завались. Так что проблем быть не должно с этим.



Ранг: 210.5 (наставник), 2thx
Активность: 0.140
Статус: Участник

Создано: 14 февраля 2005 21:59 · Поправил: arnix
· Личное сообщение · #12

Значит так, решил всё на всякий случай сделать снова, но на этот раз основную работу ImpRec-a сделал сам (использовал метод Рикардо Нарвахи, из его статьи "ASProtect 1.2 o 1.3 paso a paso"), тойсть занопил место где Аспр меняет настоящий апи-шный адрес на свой, внутренний, в результате в таблицу импортов записались настоящие адреса, а эмулированные функции находил вручную, без плагинов ImpRec-a. После того как залил нолями третью секцию (привет Mario555 ;), программа уже не говорит Runtime error, но зато происходит exception - Olly говорит "Access violation when executing [00000000] - use Shift+F7/F8/F9 to pass execution to program". Когда нажимаю Shift-F9, прога берёт обработку ИС на себя и предлагает послать разработчикам какую-то инфу (там нет ничего интересного), когда нажимаю Shift-F7/F8 Оlly ругается (на картинке). И что самое интересное, я не могу найти где происходит exception, и где его обработчик. Потрейсил вручную, потрейсил.. долго будет. Поставил бряк на адресе текущего обработчика ИС, нажал F9, но бряк не сработал, наверно беред возникновением ИС обработчик поменялся... И есть один вопрос, насчёт эмулированных функций, посмотрите на этот:
00D41420   55               PUSH EBP
00D41421   8BEC             MOV EBP,ESP
00D41423   8B05 F86CD400    MOV EAX,DWORD PTR DS:[D46CF8]
00D41429   8B45 08          MOV EAX,DWORD PTR SS:[EBP+8]
00D4142C   5D               POP EBP
00D4142D   C2 0400          RETN 4
Как вы думаете, это FreeResource или SetHandleCount, я смотрел код этих функций в kernel32, помоему оба подходят, я думаю разницы нет, но так, для проверки спрашиваю, может кто что-нить знает А что насчёт того что без ключа прога не будет функционировать полностью, то ну и ладно, мне прога не нужна, просто после тренировок на всяких FSG,ARM Protector, PECompact и даже SVKP , решил что я уже готов для схватки с Аспром, и взял первую попавшую под руку Аспрованную прогу, откуда мне было знать что он так накручен Но я еще не сдался, я его еще сделаю И без всякиз стрипперов! (со всем уважением к этой замечачельной программе и Syd-у) 465b_clip.png



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

Создано: 14 февраля 2005 22:33
· Личное сообщение · #13

вообще-то данная программа уже давно взломана (v 4.02)
так что не знаю фиг ли мудохаться. Хотя конечно качать "мышцы" надо конечно...



Ранг: 9.3 (гость)
Активность: 0.010
Статус: Участник
KpTeaM

Создано: 14 февраля 2005 22:40
· Личное сообщение · #14

arnix
LockResource это.

>После того как залил нолями третью секцию (привет Mario555 ;),
>программа уже не говорит Runtime error, но зато происходит exception
А не надо всю секцию было обнулять, там ссылка на рег.инфу должна быть, возможно из-за этого и вылетает. Так же возможно это проверки на наличие аспра.

>Но я еще не сдался, я его еще сделаю И без всякиз стрипперов!
Молоток, не раслабляться ;)



Ранг: 210.5 (наставник), 2thx
Активность: 0.140
Статус: Участник

Создано: 14 февраля 2005 23:05 · Поправил: arnix
· Личное сообщение · #15

Madness пишет:
LockResource это


ок, спасибо


Madness пишет:
А не надо всю секцию было обнулять, там ссылка на рег.инфу должна быть, возможно из-за этого и вылетает. Так же возможно это проверки на наличие аспра.


Ойй, наверно в этом и проблема, я там нули пишу, а управление наверно туда передайтся - вот и результат - Access violation when executing [00000000], а я поверил Mario555 наслово Значит мне нужно посмотреть что Аспр там хочет делать, что он там ожидает увидеть.. (если конечно причина в этом)

Madness пишет:
Молоток, не раслабляться ;)






Ранг: 9.3 (гость)
Активность: 0.010
Статус: Участник
KpTeaM

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

arnix
>поверил Mario555 наслово
Он правильно сказал, только всё нулями забивать не надо было.

>начит мне нужно посмотреть что Аспр там хочет делать, что он там ожидает увидеть..
Дампишь файл на oep, смотришь где в BSS не нули, ищешь адреса, по ссылке которых будет 00h (нет ключа) или рег.инфа (есть ключ), да и где то рядом с аспровой dll они будут, их видно.

А вообще пусти прогу не под olly, и посмотри в виндовой ошибке по какому адресу вылетает.



Ранг: 9.3 (гость)
Активность: 0.010
Статус: Участник
KpTeaM

Создано: 14 февраля 2005 23:46
· Личное сообщение · #17

И еще. Ключ в этой проге раньше она сама читала с реестра (щас не в курсе), потому эту функцию (легко) в проге и рядом смотри апи аспра, там и будут все ссылки на секцию BSS.



Ранг: 210.5 (наставник), 2thx
Активность: 0.140
Статус: Участник

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

Хотел сообщить что всё еще борюсь
И еще, уверяю вас, это особенный случай, здесь не только простой Аспр, я так, из интереса распаовал вчера две программы запакованные Аспром этих версий, всё очень легко, после распаковки программы нормально запускаются, а этот WebSite-Watcher 4.02 - особенный, в нём очень много дополнительной защиты, сотни обращений на несуществующие аспровые адреса, я даже пробовал сдампить эту часть памаяти из нераспакованного аспра, стоя на OEP, потом добавил в распакованной проге секцию, и туда всё это поставил, переходы из BSS секции поменял на новые адреса, всё равно падает... и всё так, что патчишь одно место, падает в другом, патчишь эту, падает в другой, и не видно конца всему этому...
Так что опытные АспраРаспаковщики, попробуйте распаковать!


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


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