Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Реверсинг (https://forum.antichat.xyz/forumdisplay.php?f=94)
-   -   vb decompile help (https://forum.antichat.xyz/showthread.php?t=160391)

lis84 01.12.2009 14:22

vb decompile help
 
ГГ. Собсно такой вопросец.
Озадачился я зачем то прогой 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
Время затраченное на крики к совести реверсеров можно было потратить более продуктивно.

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

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

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

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

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. Если так, то патчим результат, надеясь что результаты "вычислений" нигде не используются. Опять же, чтоб не надеяться на авось, есть бряки аппаратные на чтение\запись :)


Время: 00:10