Сейчас на форуме: Magister Yoda, vasilevradislav (+5 невидимых) |
eXeL@B —› Крэки, обсуждения —› Мозговыносящий пикод в VB |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 14 февраля 2014 23:53 · Личное сообщение · #1 Всем привет! Пытаюсь отреверсить софт в пикоде, кто-нибудь разбирающийся в VB может помочь осознать логику? Code:
|
|
Создано: 15 февраля 2014 00:13 · Личное сообщение · #2 |
|
Создано: 15 февраля 2014 00:28 · Личное сообщение · #3 сперва проверяется размер строки из какого-то текстового поля, потом эта же строка сравнивается с той что лежит в памяти (MemVar_B4E248) и если они совпадают друг с другом то выполняется куча действия по скрытию или отображению контролов на форме. Например свойство .Visible как можно догадатся делает контрол видимым или не видимым, .Caption это текст контрола и т.д. | Сообщение посчитали полезным: TryAga1n |
|
Создано: 15 февраля 2014 00:35 · Личное сообщение · #4 |
|
Создано: 15 февраля 2014 00:37 · Личное сообщение · #5 |
|
Создано: 15 февраля 2014 02:17 · Личное сообщение · #6 Разобрался при помощи крупиц информации из подвалов интернета. Только сейчас я понял, какую невероятно сложную вещь написал ГПЧ и какой титанический труд он выполнил. Даже не знаю, где он брал информацию об этих гребаных пикодах. ARCHANGEL, отправил в ПМ | Сообщение посчитали полезным: ARCHANGEL |
|
Создано: 15 февраля 2014 02:18 · Личное сообщение · #7 |
|
Создано: 15 февраля 2014 04:13 · Поправил: Gideon Vi · Личное сообщение · #8 |
|
Создано: 15 февраля 2014 08:44 · Поправил: DrVB_5_6 · Личное сообщение · #9 TryAga1n Скинь в личку бинарь, сделаю нормальный компилируемый код, а не тот, что у тебя представлен. ARCHANGEL Не стоит тренироваться на этой ВМ. Долгая история, там более 1500 разных опкодов. Лучше и попроще на NETе или на Java, там опкодов значительно меньше. Тем более, что примерно 30% таблицы опкодов, со ссылки выше - откровенное враньё. /* Прошу прощения, в данной таблице только названия, практически другой информации и нет. Есть более приличные, в которых приводится кроме названия команды ещё и её длина, но в них во всех как раз и есть ошибки. */ И вообще, на этом форуме можете обращаться с VB6 пикодом, могу изобразить исходник примерно на 90-95% соответствующий оригиналу. К примеру у GPcH результат для пикода где-то от 40 до 60% (по моим оценкам). |
|
Создано: 15 февраля 2014 09:34 · Личное сообщение · #10 DrVB_5_6, спасибо. Код уже разобран, а цель была взломать, а не скомпилировать. DrVB_5_6 пишет: могу изобразить исходник примерно на 90-95% Ну это наверное ручным допилом и/или приватным софтом, а тут обработка паблик-тулзой. Главный мой вопрос к вам, где вы находите информацию по опкодам? Если x86 опкоды на каждом повороте лежат и присутствуют в интеловских мануалах, то тут вообще темнота |
|
Создано: 15 февраля 2014 10:13 · Личное сообщение · #11 |
|
Создано: 15 февраля 2014 11:47 · Поправил: DrVB_5_6 · Личное сообщение · #12 TryAga1n Главный мой вопрос к вам, где вы находите информацию по опкодам? Да нет её нигде, это приватная информация Microsoft, корректных описаний не попадалось: тесты... тесты. Уже несколько лет не встречал ничего нового. Для этого даже не нужно декомпилировать саму VM, мне пришлось разбираться только с 4 или 5 опкодами в самой VM. На данный момент ни один из разработчиков декомпиляторов VB полностью не декомпилирует корректно все опкоды, я им почти всем писал и приводил примеры. Как правило, это достаточно экзотические вещи, касающиеся работы с объектами. Если есть вопросы по конкретным опкодам, готов ответить. Ну это наверное ручным допилом и/или приватным софтом, а тут обработка паблик-тулзой. Да, приват, могу выдавать только результат работы (это скрипт). Ну а для взлома гораздо больше информации выдаёт мой декомпилятор. Могу продемонстрировать на вашем же примере. Увидите и почувствуете разницу. Так что можете прислать исходник, лишнее выкладывать в паблик не буду, покажу реальные возможности и ... попиарюсь... а цель была взломать, а не скомпилировать Кстати, когда корректно декомпилировано, разбираться на порядок проще. А уж что и как делать дальше, так это уже другой вопрос. Хочу запатчить If (Ucase(CVar(Me.Text1)) = CVar(MemVar_B4E248)) Then В этом случае проще всего патчить "Branch" или "BranchF" |
|
Создано: 15 февраля 2014 12:44 · Личное сообщение · #13 DrVB_5_6 пишет: Ну а для взлома гораздо больше информации выдаёт мой декомпилятор. Могу продемонстрировать на вашем же примере. Увидите и почувствуете разницу. Так что можете прислать исходник, лишнее выкладывать в паблик не буду, покажу реальные возможности и ... попиарюсь... Ну давайте немного попиарим вас, заинтриговали |
|
Создано: 15 февраля 2014 13:19 · Поправил: VodoleY · Личное сообщение · #14 DrVB_5_6 TryAga1n ну давайте уже.. хоть кусочек выложите.. декомпиленого, для общественности.... для оценки З.Ы. тоже заинтригован.. ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... | Сообщение посчитали полезным: daFix |
|
Создано: 15 февраля 2014 13:24 · Личное сообщение · #15 |
|
Создано: 15 февраля 2014 14:34 · Личное сообщение · #16 |
|
Создано: 15 февраля 2014 16:14 · Поправил: OKOB · Личное сообщение · #17 Посмотрите историю постов DrVB_5_6, один и тот-же холивар. GPcH согласен в том, что его декомпиль не дает 100% корректній код, но считает, что большинству пользователей его инструмента это и не нужно. У DrVB_5_6 есть приватный инструмент, хорошо что есть, но где тот VB. ----- 127.0.0.1, sweet 127.0.0.1 | Сообщение посчитали полезным: tihiy_grom |
|
Создано: 15 февраля 2014 17:24 · Личное сообщение · #18 Kindly Нет, никто меня не банил Просто сейчас сильно занят и работой и личными вопросами. Топик увидел только сегодня утром. По опкодам тут все верно сказано - готового увы нигде нет, каждый приходилось изучать, писать кучу всяких тестовых программ, их декомпилировать и анализировать. Работы проделано было масса. Сейчас уже довольно долго и много работаю над натив кодом. Разобрал почти все функции msvbvm60.dll , сделал автопарсер внешних typelib'ов при нахождении clsid отсутствующего в базе моего декомпилятора. Плюс очень много работы проделал над эмулятором. Кстати раз уж пишу, кто не в курсе VB Decompiler давно поддерживает еще и .net (правда только дизасм IL и unmanaged native), с возможностью редактирования строк, показом адресов, ansi и unicode поиском в hex и многими другими интересными плюшками. Подробнее в видео: http://youtube.com/watch?v=-QyVAWb0sOA ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! |
|
Создано: 15 февраля 2014 18:32 · Личное сообщение · #19 |
|
Создано: 15 февраля 2014 19:04 · Поправил: DrVB_5_6 · Личное сообщение · #20 OKOB Странно, и где Вы тут в этом посте узрели "holy war"? Сразу объясняю, чтоб далее вопросов ни у кого не было. Я решал и продолжаю решать задачу более узкую, чем GPcH, прекрасно знаю, что может его продукт, представляю тот грандиозный объём работы, который он проделал и продолжает делать, развивая свой проект. И тем более, не собираюсь меряться ни с ним (кстати, мы с ним и в личке пересекаемся) ни с кем-то другим. Ни NET ни найтивом я до сей поры не занимался, есть кое какие результаты по найтиву, но пока не оформленные... Ну а теперь попытаюсь выдать обещанный результат, привожу без всякого допила: "as is". Code:
и ещё, по просьбе TryAga1n ещё одну процедуру (имена внутренних процедур у нас отличаются !!!) Code:
Утверждать, что на 100% всё декомпилировано правильно, не буду, некогда было проверять, а методы проверки у меня разработаны, некогда пока возиться, на досуге сделаю. Да, и огромное спасибо TryAga1n за предоставленный тест (с турецкими программами до сих пор не сталкивался), навел на некоторый мысли, есть что доделать. | Сообщение посчитали полезным: TryAga1n |
|
Создано: 15 февраля 2014 20:13 · Личное сообщение · #21 Извиняюсь, может не в тему, но блин просто интересно, тем более все спецы по Вб собрались в кучу: Имеется алго на визаул базике - жуткие гото страницы на 3-4 листинга, в отладчике голову отломаешь от этих прыгов, плюс как бы их назвать то - on error go to label. Возможно ли это скомпилить в что-то разумное ? Сорри за Офф. |
|
Создано: 15 февраля 2014 20:27 · Личное сообщение · #22 |
|
Создано: 15 февраля 2014 20:50 · Личное сообщение · #23 TryAga1n пишет: а что с твоим http://vb-decompiler.com/ стало то? Он не мой. Его автор просто забил на этот форум. Увы я никакого отношения к нему не имел никогда. Хотя не спорю инфы в нем полезной было масса. Из моей инфы по VB только вот (на английском): http://www.vb-decompiler.org/articles.htm И на русском: http://www.dotfix.net/doc.htm&theme=/GPcH ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! |
|
Создано: 15 февраля 2014 21:06 · Личное сообщение · #24 dimka_new Практика показывает - лучше переписать заново чем рефакторить говнокод. Несмотря на то что сам стараюсь писать довольно качественно - при портировании VB Decompiler'а с VB6 на Delphi пару лет назад очень многое переписывал с нуля. И это правильно я считаю. PS: А вообще рекомендую в плане разработок чего-то своего отказываться от VB6 в пользу QT/Delphi (и не дай бог .NET). ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! | Сообщение посчитали полезным: VodoleY |
|
Создано: 16 февраля 2014 00:36 · Личное сообщение · #25 GPcH пишет: Практика показывает - лучше переписать заново чем рефакторить говнокод. Факт. P.S. Я сам начинал кодить на VB (в школе - pascal), при этом неоднократно обращался сюда за помощью, которую мне, собсно, практически всегда, и оказывал GPcH (99% решений моих проблем), за что хочется конкретно поблагодарить, пока выдался момент. GPcH пишет: PS: А вообще рекомендую в плане разработок чего-то своего отказываться от VB6 в пользу QT/Delphi Delphi... Да упаси Господь... Я конечно понимаю, что конструктор лего - это хорошо, и довольно неплохо развивает "детей", но сталкиваясь в повседневной жизни с дельфями - я понимаю, если бы я бы выбрал путь дельфей - я бы себе этого никогда не простил. ИМХО. |
|
Создано: 16 февраля 2014 01:21 · Личное сообщение · #26 Rainbow пишет: Delphi... Да упаси Господь... Я конечно понимаю, что конструктор лего - это хорошо, и довольно неплохо развивает "детей", но сталкиваясь в повседневной жизни с дельфями - я понимаю, если бы я бы выбрал путь дельфей - я бы себе этого никогда не простил. ИМХО. Вот тут я бы не согласился . Приятны оба языка что С что Делфя , задачи разные . В защиту делфей скажу что если надо в теении 15-20 минут набросать интерфейс аля летающий глубоководный танк , то это сделать на много проще на делфях |
|
Создано: 16 февраля 2014 09:42 · Личное сообщение · #27 |
|
Создано: 16 февраля 2014 17:29 · Личное сообщение · #28 DrVB_5_6GPcH, спасибо за ответ, но у меня не исходники, у меня готовый бинарь. Думал с маху перенесу все это дело в excel, понимаю что по детски - но студии всякие ставить желания не было. пару дней убил - исплевался( Куча переменных и запутанных переходов - пытался восстановить логику, но не сумел. Смотрел VBDecompiler lite версию уже и не помню Вопрос в следующем - реально получить типа компилируемого кода, даже не понимая его назначение ? Алго - генерация ключека. //В курсе что оффтоп, но если приведете пример будет просто отлично, я как бы не навязываюсь что бы за меня сделали, просто академический интерес. Заранее спасибо |
|
Создано: 16 февраля 2014 18:31 · Поправил: DrVB_5_6 · Личное сообщение · #29 dimka_new пишет: у меня не исходники, у меня готовый бинарь. Вопрос в следующем - реально получить типа компилируемого кода, даже не понимая его назначение ? Алго - генерация ключека. Мы немного "специализируемся" по VB, а не по гаданиям вокруг да около. Ты уж выставь свой бинарь на рассмотрение, если сам определиться не можешь, тогда, глядишь, что-то конкретное и ответят. А в нынешней ситуации 50 на 50, даже теорвер знать не нужно. |
|
Создано: 17 февраля 2014 12:08 · Личное сообщение · #30 |
. 1 . 2 . >> |
eXeL@B —› Крэки, обсуждения —› Мозговыносящий пикод в VB |