eXeL@B —› Крэки, обсуждения —› Visual Basic native code |
<< . 1 . 2 . |
Посл.ответ | Сообщение |
|
Создано: 31 января 2007 02:14 · Личное сообщение · #1 |
|
Создано: 05 февраля 2007 05:28 · Личное сообщение · #2 sen пишет: не преувеличивай о сложности ThisVCallHresult )) , впрочем у каждого свои грабли. Мне пришлось пол парсера VB структур переписать, полностью заменив порядок парсинга и введя новые структуры для хранения нужных данных. Не говоря уже о парсере VTable и таблиц имен функций и параметров. Короч для меня это вылилось в 3 дня работы по 18 часов в день (типа утром встал - сел писать, в 2 ночи уже следующего для лег и так 3 дня). sen пишет: а если завалишь натив бейсика хотя бы до уровня который получается для пкода, то бонусом получишь декомпиль visual C У меня нет такоих планов. Моя цель показывать все параметры API в асм листинге плюс показ вызовов из VTable в нативе ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! |
|
Создано: 06 февраля 2007 02:20 · Личное сообщение · #3 sen пишет: на практике надо разбираться с кодогенератором конкретного компилера и очень сильно портит картину оптимизатор. Дык, кто же спорит. Если бы все было просто, то давно были бы декомпили в любой ЯВУ. Кстати, не в курсе, существуют ли методы моделирования алгоритма по его реализации? GPcH пишет: Мне пришлось пол парсера VB структур переписать, полностью заменив порядок парсинга и введя новые структуры для хранения нужных данных. Что-то ты как-то сложно все повел.... Можно было только расширить существующие (не зная сырца - только ИМХО). То, что было работало на ура и так. |
|
Создано: 07 февраля 2007 11:42 · Личное сообщение · #4 entusiast пишет: Что-то ты как-то сложно все повел.... Можно было только расширить существующие (не зная сырца - только ИМХО). То, что было работало на ура и так. Ну через жопу я делать не привык, особенно в тех случаях, когда самому в будущем развивать программу. Потому делаю так, чтобы двиг был максимально расширяемый. ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! |
|
Создано: 07 февраля 2007 16:31 · Личное сообщение · #5 GPcH если понял как vtable работает в пкоде, то вызовы vtable в нативе прописываются быстро и без эмуляции, в VB хоть и сильный оптимизатор но вызовы внешних функций ему особо разгуляться не дают. параметры АПИ прописываются через не особо полную эмуляцию. это вполне реальные цели, основное время уйдет на эмулятор. entusiast задача декомпилирования серьезна и набегом-наскоком не решается. я пробовал - с одного раза не получилось. про методы моделирования ничего не слышал. |
|
Создано: 07 февраля 2007 17:09 · Поправил: GPcH · Личное сообщение · #6 sen пишет: параметры АПИ прописываются через не особо полную эмуляцию. это вполне реальные цели, основное время уйдет на эмулятор. Ну эмуль уже написан (ушло на него 2 дня, правда и эмулит только основные инструкции плюс стэк и все регистры) - эт ты увидишь открыв любую натив кодовую прогу в декомпиле. Только вот самое сложное со строками - они напрямую в API не передаются, а через __vbaVarDup - вот это и нужно обработать. Как обработать я уже понял - дело во времени. 0040160A: lea ecx, var_30
Если я правильно понимаю __vbaVarDup в переменную, адрес которой лежит в ECX кладет строку, которая во второй переменной (если читать вверх по стэку, ведь переменные это ни что иное как ebp-XX) Если я конечно не ошибаюсь Кстати на данный момент декомпилятор умеет по VcallAd определять имя объектов (респект entusiast'у) и его листинг после декомпиляции крякмисов и прочей мелочи уже можно скомпилять ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! |
|
Создано: 07 февраля 2007 17:43 · Личное сообщение · #7 |
|
Создано: 08 февраля 2007 07:53 · Личное сообщение · #8 |
<< . 1 . 2 . |
eXeL@B —› Крэки, обсуждения —› Visual Basic native code |