PDA

Просмотр полной версии : vb decompile help


lis84
01.12.2009, 14:22
ГГ. Собсно такой вопросец.
Озадачился я зачем то прогой http://lancer.ho.ua/Fugihhuio.exe

Она разумеется упакована. Но распаковалась быстренько, и под ней оказался старый добрый вижл васик.

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

http://letitbit.net/download/9124.926b68a81db5a6c47d1d7f164/unpacked.rar.html
Собсно распакованное файло. Внимание, авира на сам распаковщик и на его результат материццо это это вирьё.

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

собсно декомпиленый проект
http://letitbit.net/download/8456.d8974c02d3d8c8cc493ef4344/decompiled.rar.html

Хто нить в базике шарит. Поясните как в этом копаться.

s0l_ir0n
01.12.2009, 15:04
вот когда научишься заливать на нормальные обменники, тогда возможно и помогут

lis84
01.12.2009, 15:34
Чем тебе этот не нравитцо?
Или не разглядел батон скачать бесплатно?
Щас любой обменник минуту ждать заставляет. Этот хоть скорость вроде не режет.

InFlame
01.12.2009, 19:09
Почему название темы не в тему темы? И не любой обменник заставляет ждать минуту.

По теме. Совеутю не декомпилировать, а дизассемблировать, если, конечно, знаний достаточно. Если нет, то курите маны.

lis84
01.12.2009, 19:58
Эммм, с каких пор стало проще дизассемблить прогу, которая написанна на языке хранящим кучу данных о структуре? Извините конечно, но совет не в тему.

Вы ещё .net посоветуйте дизассемблировать а не декомпилировать.

root_sashok
01.12.2009, 20:03
Помогите плиз мне взломать интернет!
У меня на свои мозги время-времени нет!
Так что-уо залью я пинчик на letitbit.net,
И нафлужу на ачате на 1000 GET!

А вообще, ТС, юзай vb-decompiler.org.

InFlame
01.12.2009, 20:49
Я про то, что когда декомпилятор не помогает выручает дизассемблер.

neprovad
02.12.2009, 01:29
VB Decompiler отлично декомпилирует. Ищите где открываются файлы *.key
p.s. противно смотреть на название темы =\

lis84
02.12.2009, 02:46
Для всех кто пишет не посмотрев хотябы декомпилированный проект (уж он то чистый)
Декомпилированно именно vb-decompiler 7.6

И именно где эти файлы открываются, и не могу найти :(

ПыСы. Господа, если вам нечего сказать по делу, хоть не флудите, а то тема уже на 9 сообщений, а кроме флуда нифига нету.

neprovad
02.12.2009, 05:09
Время затраченное на крики к совести реверсеров можно было потратить более продуктивно.

00414E42 PUSH Fugihhui.00404E60 ; UNICODE ".KEY"
....
00414E9C CALL Fugihhui.0041DB00
внутри 41DB00
0041DC14 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFileO>; MSVBVM60.__vbaFileOpen
...
0041DDE4 CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrCm>; MSVBVM60.__vbaStrCmp
; не обязательно оно, но момент интересный
.....
0041DED8 CALL DWORD PTR DS:[<&MSVBVM60.rtcHexVarF>; MSVBVM60.rtcHexVarFromVar

lis84
02.12.2009, 05:36
Время затраченное на крики к совести реверсеров можно было потратить более продуктивно.


:) а кто сказал что я сижу сложа руки.
Спасибо за подсказку.

Всегда уважал людей которые не флудят когда не знают ответа.

Можешь сказать как нашёл. Ибо мне нужен не результат, а способ его достижения. Если есть ман, дай пожалуйста линк.

ПыСы. Пробовал в декомпилёре юзать поиск, но он выдавал что строк не найдено, даже если искал строку которая была тут же в нём и открыта.

neprovad
02.12.2009, 05:55
Даже не зная правильного ответа сначала, мысль у меня была верной. В olly нашли строку по сочетанию .key, нашли "code xref" на строку, вот мы и на месте.
Декомпилятор лишь подтвердил мою мысль. Код не был превращен в vb "кашу", что позволило более менее разглядеть логику. Вот и все, ничего мудреного.
p.s. Декомпилятором искать строки - дикость, это почти тоже самое что блокнотом открывать exe и dll.

lis84
02.12.2009, 06:59
:)
Щас олькой поковырялся.
Файл с ключом проверяется с тем же именем что и АES
В памяти у меня настойчиво висит строка
0012FD78 |00152F44 UNICODE "WD-WCAPD2050354" что навевает мысль о привязке к винту.

Вооот. Прога при неверном key файле тихо загибается. Судя по процедуре чтения файла

0041DC64 . FF15 14114000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaGet4>>; MSVBVM60.__vbaGet4

Автор использует какую то свою структуру, и читает её с файла. (если я правильно понял смысл http://www.firststeps.ru/vba/vbahelp/r.php?24)
Вооот... пока мысли иссякают, но буду ковырять далее.
Где то в середине чтения с файла вылазит уникодная TP_INVALID, и собсно программа умирает в муках эксепшнов.

Чешу затылок дальше.

UPD. До сравнения строк дошёл после заполнения файла 1 до талого. В памяти при этом висит строка моей кучи еденичек и 0, короче видимо строка на пустоту проверяется

Потом генерится строка из склеенных кодов символов. Для еденичек это было 313131313131, причём строка это первые 51 символ, а всего в файле данных должно быть гораздо больше, порядка 300 байт. Дойдя до конца строки, падает в эксепшн. Я в растерянности

neprovad
02.12.2009, 09:00
Если не получается раскусить генерацию кода, то что мешает изменить результат функции, как мне показалось он либо целочисленный либо boolean. Если так, то патчим результат, надеясь что результаты "вычислений" нигде не используются. Опять же, чтоб не надеяться на авось, есть бряки аппаратные на чтение\запись :)