· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.RESEARCH —› Помогите разобраться

<< . 1 . 2 . 3 . 4 . >>

Посл.отвђт Сообщенiе


Дата: Июл 28, 2004 11:55:13

Вау, спасибо! Попробую!!!

Аттач будет эти 2 лога читать вместо ключа?

Я тоже пока подебажил прогу, так как в заведение попаду где-то в конце недели. Посмотрел, что она творит с марудой. Понял принцип кодирования даты биоса и марки материнской платы. Принцип такой.
Она высчитывает длину строки (у меня 43 символа) и начинает шивровать её начиная с последней буквы.
Шифр следующий:

Байт - последовательность из 8 байтов (HEX 01 C4 73 37 A3 5D 1B 00), меняется последовательно с каждой буквой, потом но новой и т.д.

XOR буква,байт
ROR буква,7
NEG буква

И потом записывает её обратно. И так со всеми буквами.
Получается зашифрованная строка, потом он сравнивает её с аналогичной строкой из Маруды, если я не ошибаюсь. Но дальше пока не разобрался, не буду говорить, в чёи не уверен. Прога перезаписывает Маруду после каждого запуска. Причём если Маруду стереть, то создаёт новую со стандартным содержимым. А если дать стыренную (там значений больше), то работает дольше и те другие значения не стирает. И по-моему к реестру обращается. Я там при создании шифра видел открытие файла c:\windows\user.dat
Второе значение из Маруды новое после каждого запуска. По-моему зависит от системного времени.
Есть ещё два. До них пока не дошёл.

А вот обращения к ключу найти не могу:( не соображаю достаточно... подскажи где искать.

Я сегодня выложу на ФТП сайта фирмы дистрибутив, dll-ку и скину линк, кому интересно. exe-шник правда лучше отсюда брать, он тут не зашифрован. И нужна 98-я винда.


Дата: Июл 28, 2004 12:07:49

Ещё скину то, до чего дошёл путём дебага по бряку, что ты дал.

1) GetCurrentDirectory() - возвращает C:\Program Files\Server\

2) lstrcatA() - добавляет к той строке слово "Marouda"

3) GetVersionExA()

4) GetCurrentProcess()

5) ReadProcessMemory() - при завершении после ещё пары команд в EDI появляется адрес строки с версией БИОСА

6) lstrcatA() добавляет к этой строке дату прошивки

7) lstrcatA() добавляет туда марку мат. платы\

8) lstrlenA() - возвращает длину полученной строки

9) lstrcopyA()

10) GetLocalTime()

11) SystemTimetoFileTime()

12) lstrcopyA()

13) GetWindowDirectoryA() - возвращает C:\Windows\

14) lstrcatA() - возвращает c:\windows\user.dat

15) CreateFileA() - насколько понял, открывает user.dat

16) GetFileTime()

17) CloseHandle()

Потом идёт последовательность команд, которых я не знаю (краснеет)

FILD
FIDIV
FRNDINT
FISTP
WAIT

затем трижды GetPrivateProfileString()

затем начинает процедуру шифрования строки, которую я уже описал.

Потом внимательно не смотрел, ибо начал путаться. Сегодня продолжу.


Дата: Июл 28, 2004 13:12:43 · Поправил: tsatidis

!


Дата: Июл 28, 2004 13:57:10

> FILD
FIDIV
FRNDINT
FISTP
WAIT


Это команды FPU

> затем трижды GetPrivateProfileString()
DWORD GetPrivateProfileString(

    LPCTSTR lpAppName,	// points to section name 
    LPCTSTR lpKeyName,	// points to key name 
    LPCTSTR lpDefault,	// points to default string 
    LPTSTR lpReturnedString,	// points to destination buffer 
    DWORD nSize,	// size of destination buffer 
    LPCTSTR lpFileName 	// points to initialization filename 
   );


Читает строку из ini файла, где lpFileName указатель на строку с именем файла, а lpReturnedString указатель на буфер куда будет считана строка.


Дата: Июл 28, 2004 14:35:47

„А вот обращения к ключу найти не могу“

Следи за структурой (SKEY) в памяти . У меня туда и в eax пишет типа FFFE,FFFF если нет ключа или ошибка .

Возьми в аттаче новую экзешку , там добавил ещё функций чтения всякой лабуды из ключа (может пригодиться) . Она сделает 5 файлов (логов) , заберёшь их оттуда , а потом уже будет видно что нам нужно от skeydrv.dll .
Прототип этой длл тоже в аттаче , там добавил эмуляцию WRITING_MODE , т.е. пока будем писать не в ключ , а в файл . И их него же считывать (READING_MODE) . Как разберёмся , то можно данные вшить в саму длл .

На счёт user.dat , я сомневаюсь , чтоб прога его как-то использовала . А пока таки да , можно покопать маруду .

1422020925__eutron.zip


Дата: Июл 28, 2004 14:45:31 · Поправил: bogrus

tsatidis
А без ключа саму прогу лучше попробуй дебажить с этой skeydrv.dll (пустышка) , она хоть ничего не делает , но главное ошибок не возвращает .

„1) GetCurrentDirectory() - возвращает C:\Program Files\Server\ “
„5) ReadProcessMemory() “

Какая бацила у тебя вызывает эти ф-ции ? Я их не нашёл ни в проге , ни в dll .

_1322787278__null.zip


Дата: Июл 28, 2004 21:15:00

C:\Program Files\Server - каталог, где находится файл и куда я устанавливал прогу.

Скину тебе скриншоты из Olly. Почти сразу после бряка по адресу, что ты мне дал.

Дистрибутив в RAR'е можно скачать по адресу

http://visionstudio.hosting.amiteg.ru/download/serverjpv64.rar - 2.5MB

Если каких-нить dll при установке не будет хватать - ругайтесь, пришлю:)

У меня сейчас просто прога дебажится, как закончу - скину, откуда она эти функции зовёт.


Дата: Июл 28, 2004 22:12:12

Вот на этом скриншоте показаны функции. Здесь я как раз в самом начале skeydrv.dll на следующей команде после бряка, что ты мне дал.

209165751__debug.png


Дата: Июл 28, 2004 23:11:14

Да у тебя не тот skeydrv.dll вообще ! Ты вылаживаешь не тот файл , что у тебя дебажиться . В skeydrv.dll , который ты сюда аттачил и который в дистрибутиве , НЕТ КОДА который у тебя на скриншоте , и entry point ф-ции msclink другой . Найди у себя skeydrv.dll тот , который ты дебажишь , сравни и приаттачь .

Вот , что у меня на след. команде после бряка .


_1359487671__skeydrv.png


Дата: Июл 29, 2004 11:39:34 · Поправил: tsatidis

хм... стоп! Нашёл! Я тебе из Windows\system присылал, а есть ещё один в каталоге с прогой... ёптить, запутался я с ними...

Значит так... этот skeydrv.dll был в заведении в каталоге с программой, я его так себе и перекачал и забыл. Вот он. В нём есть и маруда и секции и всё остальное. Его я видать и дебажу... А я то думал, почему он у тебя маруду не видит...

Вот файл.

_1149483811__SKEYDRV.rar


Дата: Июл 30, 2004 18:24:17

Это совсем другое дело , евтроном тут и не пахнет , в заведение можешь не идти .
Но , во-первых дистрибутив корявый , на NT он не ставиться полностью , во-вторых не понятно почему в нём лежит skeydrv.dll от EUTRON , а прога вообще работает с другой skeydrv.dll от хитропопого автора проги , в третьих эта dll толи умышленно , толи от корявости рук её писателя не возвращает TRUE при её инициализации , из-за чего прога не будет работать (на NT так точно , а у тебя на 9х видимо работает) , а по коду видно что она рассчитана и на NT , т.к. проверяет версию винды и соответственно использует разные способы чтения биоса (если NT , то через ntdll.ZwOpenSection) . В общем чтобы длл подгрузилась , надо пропатчить её entry point (push 1,pop eax) .

Ну да ладно , бери уже в аттаче патчер на прогу и длл её обманывающую . Прога запускаеться (проверял на w2k) , тока я понять не могу что там делать , не знаю я языка греческих крякозябликов :) См. скриншот .
Если что не так , то сорцы приложены , дебаж и анализируй дальше .

_717409992__bandites.jpg


Дата: Июл 30, 2004 18:25:46


Дата: Июл 31, 2004 14:07:09

супер! Запустилась!!!! Мне б такие мозги как у тебя:)

хм... вот теперь самое интересное начинается.
ВИдать у него эта версия глючная, поэтому он её и не шифровал даже. Но попробую подебажить на обработку клавиш. В заведении знаю точно F6 отправляла на выбранный клиент 500 кредитов. А тут даже в выпадающем меню Screen Saver to Send игр нет. Должны были быть Petaloudes_50, Petaloudes_80 и ещё дофига всего. НО нужны только эти Петалудес (по-гречески бабочки) :)
В прогу как-то можно войти в режиме администратора, где смотришь кассу, выставляешь, сколько бандиты будут оставлять, сколько брать:) Сейчас показывает режим юзера.
Было бы неплохо применить патч именно к тому екзешнику, который он юзает в заведении. но он зашифрован. Выдаёт какой-то yoda's cryptor 1.x / modified.
Я распаковал его одним декриптером, в хексе видно, что распаковалась, да и показывает вместо криптера теперь Ms Visual basic 5.0 or 6.0 но прога запускаться не захотела. ВИдать что-то попортилось:( Видимо импорт испорчен...

http://reng.ru/board/viewtopic.php?t=1418&sid=bf2e51d25903f0bc46283d17cd1b1eef - инфа по похожей теме.

Ладно, прилагаю декриптер, который я использовал (просто бросил иконку проги на его иконку), экзешник последней версии и мой расшифрованный вариант, который не запустился.
Пока пойду переустановлю клиента (у меня 2 компа в мастерской, на один сервер поставил, на другой клиент) и попробую сделать так, чтобы прога его увидела. Дальше буду ломать голову над тем, как зайти в неё под другими правами. Там и в хексе если её смотреть, есть 3 вида юзеров. АДмин там Master вроде как.
Иначе видать надо юзать именно тот экзешник, который в заведении. Заодно смотаюсь к нему посмотрю, как там настройкт работают, если он конечно сам туда зайти может:)


Аттач - распаковщик для Yod-ы, который подошёл, но угробил прогу.

1835770838__DEYC.rar


Дата: Июл 31, 2004 14:10:21

Второй аттач из двух частей - оригинальный экзешник, который там работает. Зашифрованный.

1534251096__crypted.part1.rar


Дата: Июл 31, 2004 14:11:02

Вторая часть

1668066598__crypted.part2.rar

<< . 1 . 2 . 3 . 4 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.062