Русский / Russian English / Английский

Сейчас на форуме: axiosaz, _MBK_, dezmand07 (+7 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

 eXeL@B —› Основной форум —› Чо за зверь?
Посл.ответ Сообщение


Ранг: 127.3 (ветеран)
Статус: Участник

Создано: 29 января 2007 07:23 New!
Цитата · Личное сообщение · #1

Ковыряю тут одну софтину. kitchendraw.com/FTP/Kd50e.exe. Размер - 11м.
Пейд показал UPolyX v0.5 *, софтина от Хелспауна - говорит "не пакован" . Да вроде и сам вижу, что не пакован, но с такой фишкой просто не сталкивался.
Имеется два екзешника один типа загрузчика. Хотя он и нах не нужен второй запускается и сам по себе. А вот дальше интересно. Основной екзешник создает в темповой дире файл вида cks*, где * - это номер. При каждом запуске предыдущий cks* удаляется, а на его место пишется такой же, с номером некст. Это обычный РЕ-файл. А вот чо делает этот cks* - хз. Возможно дебажит основной процесс. Потому как олька не может приатачиться к основному процессу.
Я в основном екзешнике пропатчил, теперь прога не создает каждый раз новый лоадер, а берет один и тот же из своей диры. В принципе, можно с ним работать. Тока в какую сторону? Просто никогда такая хрень не попадалась.Интересны и секции. Кроме обычных еще присутствуют
.INIT , .edata , .loader , .wreloc , .widata
И влезть в основной екзешник не получается никак. Потому как если трейсить до запуска лоадера, то олька просто зависает. Лоадер не может подрубиться к основному процессу. Короче, ковыряю ужо пол дня. Никуда не сдвинулся.
Качать, думаю никто не станет 11 метров, но может кто-то уже сталкивался с таким?

ЗЫ. Я вот обратил внимание, что если прога написана нашими программерами, то даже если цена - 20 баксов - защита может быть - не балуйся. А буржуи продают проги по несколько килобаксов, а защиты почти нет.

Ранг: 108.7 (ветеран)
Статус: Участник

Создано: 29 января 2007 07:33 New!
Цитата · Личное сообщение · #2

ИМХО это что-то самописное. Ты лоадер поковыряй. Я вот только не понял - 1 exe отбрасываем, он не влияет, второй при запуске создаёт лоадер и ... что? убивает себя а потом запускает через лоадер?

Ранг: 20.8 (новичок)
Статус: Участник

Создано: 29 января 2007 07:38 New!
Цитата · Личное сообщение · #3

stahh пишет:
Пейд показал UPolyX v0.5

Это просто лажовая сигнатура, нужно её вообще убрать, не обращай внимания.

Ранг: 108.7 (ветеран)
Статус: Участник

Создано: 29 января 2007 07:41 New!
Цитата · Личное сообщение · #4

ага, ?? ?? ?? итд.


Ранг: 528.5 (!)
Статус: Участник
5KRT

Создано: 29 января 2007 07:58 New!
Цитата · Личное сообщение · #5

Ссылка не работает, может кто залить на рапиду?

Ранг: 116.1 (ветеран)
Статус: Участник

Создано: 29 января 2007 08:04 New!
Цитата · Личное сообщение · #6

daFix пишет:
Ссылка не работает, может кто залить на рапиду?


Работает, только сам скачал. Точку убери в конце

Ранг: 116.1 (ветеран)
Статус: Участник

Создано: 29 января 2007 10:24 New!
Цитата · Личное сообщение · #7

Если нужен сам распакованный главный экзэшник, то тут:

h X X p://download.yousendit.com/AFA59D7175271475


Только там еще и dv.dll (а может и еще чего) покрыта этой хренью.... сегодня снимать лень.


Ранг: 127.3 (ветеран)
Статус: Участник

Создано: 29 января 2007 12:04 New!
Цитата · Личное сообщение · #8

BoOMBoX/TSRh
Так чо это такое? И как оно распаковывается? Если влом писать, дай линк, где можно почитать. Или коротко - типа "бряк тут - смотрим сюда" . Интересно самому разобраться. И для чего там этот лоадер. А куча драйверов? Чота такое намучено. ХАЧУ понять логику!

Ранг: 24.9 (новичок)
Статус: Участник

Создано: 29 января 2007 12:20 New!
Цитата · Личное сообщение · #9

$144,$588 - CurrentProcessId

$047CD31 $144 GetModuleFileNameA $00000000
$047CD50 $144 CreateFileA D:xakKDKD_app.EXE
$047CD70 $144 SetFilePointer $00000040 $00000000 $00000000 $00000002
$0047CD98 $144 CreateFileMappingA $00000040
$047CDBE $144 MapViewOfFile
$047C375 $144 UnmapViewOfFile
$047C391 $144 CloseHandle

$:0047F36B $144 CreateFileA F:...Tempck delete.list
$:0047EC11 $144 CreateFileA F:...TempcksFE.tmp
$0047F449 $144 DeleteFileA
$:0047F2FE $144 CreateFileA F:...Tempck delete.list
$:0047EEDA $144 CreateFileA F:...TempcksFF.tmp
$0047F031 $144 GetCurrentProcessId 144
$:0047F05C $144 CreateEventA 00000000 00000001 00000000 0012FC10
$0047F095 $144 CreatePipe
$0047F0CB $144 CreatePipe
$:0047F1D8 $144 GetModuleFileNameA $00400000
$0047F1F1 $144 GetCurrentProcessId 00000144
$:0047F263 $144 CreateProcessA
F:...TempcksFF.tmp runtime.exe 144 4C 58 47C020 "D:xakKDKD_app.EXE"
$:0047F2A6 $144 WaitForSingleObject 00000040 00011170
$:00401022 $588 Sleep 000007D0
$00401780 $588 GetCommandLineA
runtime.exe 144 4C 58 47C020 "D:xakKDKD_app.EXE"
$:004017E1 $588 OpenProcess $144
$0040103A $588 DebugActiveProcess

$0040129A $588 ContinueDebugEvent
$004010E5 $588 WaitForDebugEvent
$0047F2D3 $144 CloseHandle
$:0047E422 $144 LoadLibraryA KERNEL32.dll
$:0047E422 $144 LoadLibraryA dv.dll
$004013B5 $588 LocalAlloc
$:004013E9 $588 lstrlenA CKSMDSH
$00401419 $588 LocalFree
$0040129A $588 ContinueDebugEvent
$00C3F2F3 $144 CreateMutexA
$004010E5 $588 WaitForDebugEvent
$00401547 $588 GetThreadContext
$004015B1 $588 FlushInstructionCache $000007C8 $00000000 $00000000
$004015C4 $588 SetThreadContext
$004015D4 $588 ContinueDebugEvent

$0124367A $00000144 GetTickCount

stahh пишет:
ХАЧУ понять логику!

Ну и как к этим процессам подцепиться?
Как закрыть DebugActiveProcess, не закрывая основной процесс?
Пока тоже ничего не понял.

Ранг: 116.1 (ветеран)
Статус: Участник

Создано: 29 января 2007 21:47 · Поправил: BoOMBoX New!
Цитата · Личное сообщение · #10

stahh пишет:
Так чо это такое? И как оно распаковывается? Если влом писать, дай линк, где можно почитать. Или коротко - типа "бряк тут - смотрим сюда" . Интересно самому разобраться. И для чего там этот лоадер. А куча драйверов? Чота такое намучено. ХАЧУ понять логику!


Что это - сказать трудно, может быть это конверт Eutron Smart Key, в общем х.з.

Вопросы по распаковке экзэхи - в личку.
длл еще не смотрел.


Ранг: 127.3 (ветеран)
Статус: Участник

Создано: 30 января 2007 05:53 New!
Цитата · Личное сообщение · #11

Xserg
Там в импорте полно dv.dll_lock_debug_data и unlock_debug_data, думаю это надо убрать, и тогда можно будет подцепиться к основному процессу.
Чо у меня за хрень. Если аттачусь к процессу, олька виснет в нтдлл на дебугбрекпойнте. Как это побороть? Вроде раньше такого не было.


Ранг: 127.3 (ветеран)
Статус: Участник

Создано: 30 января 2007 11:14 New!
Цитата · Личное сообщение · #12

Зверь называется CrypKey. Какой-то старый прот. Но дело не в нем, и олька нормально отлаживает, и патчить можно. Дело в темп-файле, который создается. Эта хрень дебажит основноц процесс, и в то же время запускает его.
Сначала
004025AE=<JMP.&KERNEL32.GetCurrentProcess>
004025A8=<JMP.&KERNEL32.GetCommandLineA>
004025DE=<JMP.&KERNEL32.OpenProcess>
00402590=<JMP.&KERNEL32.DuplicateHandle>
004025EA=<JMP.&KERNEL32.ReadProcessMemory>
Далее
0040258A=<JMP.&KERNEL32.DebugActiveProcess>
004025C6=<JMP.&KERNEL32.InitializeCriticalSection>
00402584=<JMP.&KERNEL32.CreateThread>
00402608=<JMP.&KERNEL32.WaitForDebugEvent>
00402596=<JMP.&KERNEL32.EnterCriticalSection>
004025CC=<JMP.&KERNEL32.LeaveCriticalSection>
004025EA=<JMP.&KERNEL32.ReadProcessMemory>
00402572=<JMP.&KERNEL32.ContinueDebugEvent>
Если убрать
0040258A=<JMP.&KERNEL32.DebugActiveProcess>
00402608=<JMP.&KERNEL32.WaitForDebugEvent>
00402572=<JMP.&KERNEL32.ContinueDebugEvent>
то этот темп просто закрывается. Естественно, я их не просто ноплю, а аккуратно убираю. В регистрах все что надо, чтоб переходы отрабатывали как если бы прога дебажилась. Но вот чота я там не учитываю.
Сделал так, чтоб основной екзешник брал темповый из той диры где запускается, и не переписывал его. Т.е. - можно патчить темповый как надо.
Если кто заинтересуется - куда-нить залью.

Где-то, что-то подобное читал, тока вспомнить не могу.

Ранг: 24.9 (новичок)
Статус: Участник

Создано: 31 января 2007 08:01 New!
Цитата · Личное сообщение · #13

stahh
Работает эта защита так:
// имеется в виду протектор от патчей.
1. Создается и запускается темповый файл. Основной процесс уходит в ожидание.
2. Тмр файл открывает основной процесс DebugActiveProcess(pId)
// вызвав DebugActiveProcessStop(pId) из тмр процесса можно, отключится от
//отлаживаемого процесса не убивая его.
3. Запускает основной процесс.
4. Как только в основном процессе происходит исключение,
// я видел только int 3, ставится EXCEPTION_DEBUG_EVENT)
тмп процесс считывает байт с адреса исключения (ReadProcessMemory)
5. Восстанавливает код в основном процессе по 30-250байт (WriteProcessMemory)
6. Запускает основной процесс и ждет следующего исключения.
И т.д. до полного восстановления кода программы.
// Защищены два файла KD_app.EXE, Dv.dll

Как восстановить код и снять протектор - думаю … (в свободное время)


Ранг: 127.3 (ветеран)
Статус: Участник

Создано: 31 января 2007 11:58 New!
Цитата · Личное сообщение · #14

Xserg
Если бы только до полного восстановления. Распакованный файл тоже создает темп. Там как раз проблема в том, что без темпового файла - основной не работает. Я пробовал патчить, он запускается, но виснет. И это, я думаю, не защита пакера. Пакер там навешан для проверки целостности файлов. А вот тепм-файл - и есть защита.
Кстати, распакованный файл, если убрать сообщения о вирус детектед, тоже виснет. Падла. Но интересно. За::%;:%ся уже. Мля, наверное надо в ринг0 лезть. У мну сайс не ставиться, тока недавно машину еле поднял, не хочу рисковать. Попробуй из сайса приатачиться к основному процессу.
Я вот думаю, что отвязать основной от темпового не получиться. Там, когда основной файл распаковывается, куча импорта в dv.dll, а из этой либы уже в темп. Тоже трабла.
Вот если б сделать так, чтобы основной процесс сам себя и юзал. Надо думать. Самое интересное, что кряк есть в продаже.

Ранг: 116.1 (ветеран)
Статус: Участник

Создано: 31 января 2007 12:04 New!
Цитата · Личное сообщение · #15

stahh пишет:
Распакованный файл тоже создает темп


Ничего он там не создает, ибо даже теоретически не может, т.к. стаб лоадера отсутствует в нем.
А то, о чем ты говоришь, это файл, который создается при подгрузке пакованной библы Dv.dll.


Ранг: 127.3 (ветеран)
Статус: Участник

Создано: 1 февраля 2007 01:08 New!
Цитата · Личное сообщение · #16

BoOMBoX/TSRh
Т.е. ты хочешь сказать, что если распаковать либу, то этот cks* создаваться не будет? Сомневаюсь, но попробую.
Пакер ведь старый, неужели такой неплохой? Я видел, ты еще года три назад его обламывал.

Ранг: 24.9 (новичок)
Статус: Участник

Создано: 1 февраля 2007 10:50 New!
Цитата · Личное сообщение · #17

Полностью восстановленный код KD_app.EXE (156к)
_http://ifolder.ru/1020610

stahh пишет:
Кстати, распакованный файл, если убрать сообщения о вирус детектед, тоже виснет.


У протектора есть одна хитрость, после восстановления кода в одном месте, он портит его в другом. Так что дамп с запущенной программы не прокатит.
Сделал так:
Запустил KD_app.EXE, и приаттачил к обоим процессам Длл,
Одна искала в секции CODE слова $cccccccc и jmp на это место. Тмп файл добросовесно восстанавливал код. Вторая Длл не давала затереть распакованный код.

После этого снял дамп с процесса , и заменил секцию CODE, в файле созданным
BoOMBoX/TSRh , сам то я вообще не умею, делать исполняемые файлы из дампа,
и сайса у меня нет.

Теперь буду пытаться восстановить dv.dll ( думаю это на долго)


Ранг: 127.3 (ветеран)
Статус: Участник

Создано: 1 февраля 2007 12:05 New!
Цитата · Личное сообщение · #18

Xserg Нда, это ты круто завернул. А я вот так не умею. Ты думаешь если распаковать, защита отвалится? Ну пробуй распаковать либу. Если чо, пиши в личку. Думаю, тема скоро уйдет с главной страницы.
Приатач сюда распакованный файл, а то чот не могу скачать.

Ранг: 323.6 (мудрец)
Статус: Участник
ILSpector Team

Создано: 1 февраля 2007 22:03 New!
Цитата · Личное сообщение · #19

Во-во как раз в тему тоже непонятный зверь может кто глянет
slil.ru/23860011

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

Создано: 1 февраля 2007 22:46 · Поправил: addy New!
Цитата · Личное сообщение · #20

И еще один !!! Непонятный зверь !!!
Был упакован UPX !
После распаковки , PEID определил как --------- WARNING -> TROJAN -> HuiGeZi * Но это точно не троян !
Кто знает --- скажите !!

Ранг: 1045.7 (!!!!)
Статус: Участник

Создано: 1 февраля 2007 22:53 New!
Цитата · Личное сообщение · #21

Medsft
Судя по огромнумы размеру bss скорей всего PEP какой то ранний так как падает

Ранг: 24.9 (новичок)
Статус: Участник

Создано: 2 февраля 2007 09:42 New!
Цитата · Личное сообщение · #22

stahh пишет:
Приатач сюда распакованный файл,


Tmp файл отказывается восстанавливать некоторые участки кода в dv.dll (будем изучать)
B dv.dll не могу найти DllEntryPoint что бы стряхнуть упаковщик (будем искать)
Сегодня я немного пьян (будем спать)


{ Атач доступен только для участников форума } - _KD_app.rar

Ранг: 24.9 (новичок)
Статус: Участник

Создано: 4 февраля 2007 10:25 New!
Цитата · Личное сообщение · #23

Распакованный dv.dll (890kb)
H t t p://xserg11.narod.ru/Dv.rar
// тмп файлы он все еще создает, но не запускает.

Только пройдется KD_app.EXE , самому распаковывать.
Выше по топику ссылки на KD_app.EXE - не рисует картинки на моем компьютере, даже с не распакованным dv.dll.

Зато можно вводить пароль , и лазить по процессу олей.


Ранг: 127.3 (ветеран)
Статус: Участник

Создано: 4 февраля 2007 11:22 New!
Цитата · Личное сообщение · #24

Xserg Рулез, конечно. Рассказывай, как распаковал. Опять цеплял либы? Слишком сложно. Должен быть способ попроще.
Выше по топику ссылки на KD_app.EXE - не рисует картинки на моем компьютере, даже с не распакованным dv.dll. - у мну тоже есть екзешник, не помню, чо я там с ним делал. А, это вроде тот, который работает с одним и тем же cks. Так он тоже запускается, а картинки не рисует. Там, походу, ф-ция отрисовки через dv.dll проходит, а возвращается через cks . Наверное не полностью распаковал.

Щас времени нету плотно заняться этой прогой. BoOMBoX/TSRh обещался статью написать. Бум ждать.

Ранг: 24.9 (новичок)
Статус: Участник

Создано: 6 февраля 2007 23:33 New!
Цитата · Личное сообщение · #25

Загрузчик для KD_app.EXE и dv.dll ,вместе с исходником на Delphi.
hттp://xserg11.narod.ru/KD.rar (12,6кБ)
Тестировалась только на XP sp2 ( пролежит 2 дня)
Кому интересно доводите до ума.

Делает:
При входе в функцию GlobalHandle (kernel32)
с адресом возврата 5e7b44 из dv.dll
размещенной по адресу 480000 ;
push eax
mov eax,[esp+4]
cmp eax,$5e7b44 ; realoc
pop eax
jne pga
mov [edi-16],0
mov [edi-20],$7fff
mov [edi-24],0
mov [edi-28],$7fff
pga: jmp GlobalHandle
обеспечивает полную функциональность.

Р.s. тех кто будет смеяться над кодом укусю. Хотел просто , по быстрому, попробовать сломать тем - же способом что зашита ,и.. получилось.

Ранг: 116.1 (ветеран)
Статус: Участник

Создано: 8 февраля 2007 06:45 · Поправил: BoOMBoX New!
Цитата · Личное сообщение · #26

stahh пишет:
BoOMBoX/TSRh обещался статью написать.


уже в RAR-статьях
 eXeL@B —› Основной форум —› Чо за зверь?

Видеокурс ВЗЛОМ