Dede Декомпилятор Инструкция

Posted on by  admin

Бесплатный декомпилятор. А не просто перегон инструкций байткода в инструкции.

Dede Декомпилятор Инструкция
  • Nov 3, 2011 - Декомпиляция *.ехе файла Delphi XE Общие вопросы Delphi. Ну кроме как через DeDe пожалуй никак. Он тебе хотя бы формы.
  • Delphi Decompiler(DeDe) - декомпилятор кода для x86 в высокоуровневый компилируемый код на Delphi.
  • Декомпилятор программ написанных на Visual Basic pcode. Ivslavik добавь еще декомпилятор DeDe.
Dede

Недавно нашел в инете 'Декомпилятор Дельфи-прог и Си-Билдеровских прог' -отстойнейшая прога. Достает из проги только формы (то бишь окна) и всё. Интерфейс проги - аля 'три кнопки'. Код не декомпилирует, и даже не дизассемблирует. И вспомнил о старой проге Delphi Deсompiler (сокращенно называемая DeDe), у меня старая версия осталась. В инете давно качал (она где то 2002-2003 года).

Сделал ее некий чел под ником DaFixer. DeDe Версия 3.10b - DeDe Версия 3.10b ИСХОДНИКИ!!! - И вот щас нарыл поновей версию - но уже без исходников. Эта 2003 года аж =) свежатина DeDe Версия 3.50 - Умеет аж по седьмую (включительно) версию дельфи декомпилить экзешники. Декомпилирует разумеется не в исходный код, а просто создает формы DFM, и с eventами ассоциирует процедуры в исходниках. А в процедурах этих - закомментированный ассемблерный код со ссылками на вызовы стандартных процедур и функций Дельфи (и компонентов Дельфи). Также показывает вероятные ссылки на строки.

Декомпилить так - запускаем декомпилер, жмем наверху кнопку с иконкой открытой папки и выбираем exe-прогу (сделанную када то в дельфи). Далее жмем 'Process' - дельфовская прога запускается и выдается сообщение о том что 'жмите ОК когда прога будет до конца запущена'. Ну дожидаемся когда у нашей вскрываемой проги появится хоть одно окно - и жмем ОК в месаге. Далее декомпилер сканит память, извлекает из вскрываемой проги все формы, весь исходный код, дизассемблит его, ищет ссылки на известные функции, ищет ссылки на строки, и все это в себя запоминает. Далее возможно будут у декомпилера к вам вопросы типа 'хотите более подробный анализ' или 'хотите убрать ненужные, пустые или неправильные ссылки на процедуры или переменные' - на это всё надо нажимать Yes - пусть полученный код проги будет как можно более чистым.

Когда будет завершена декомпиляция - надо выбрать вкладку наверху Project и там указать путь к проекту (по умолчанию предложит папку Dumps в корне проги - ну пусть туды и кладет) и нажать 'Create files' - весь декомпиленный код будет сохранен в папке Dumps в папку Project1. Кстати если захотим другую потом прогу декомпилить када нить - то опять ее попытается декомпилер запхнуть в Project1 и будет ругаться - поэтому надо взять за правило сразу перемещать из Dumps куды нить декомпиленный проект, чтоб када будем декомпилить следующий - никаких ошибок не было. В проге еще всякие настройки есть. Ими можно поиграться, но рассказывать о них долго. А вкратце все уже описал выше. ЗЫ если в проге выбрать в меню наверху Options-Languages-RUSSIAN - то весь интерфейс станет по-русски (это для тех кто не любит английский).

Журнал учета проверки и испытаний электроинструмента пример заполнения. Apr 13, 2017 - Разберёмся, как документально оформить наличие электроинструмента и факт его своевременных проверок. Приведём журнал учёта.

Я продолжаю публиковать заметки о защите программного обеспечения на Delphi и сегодня мы рассмотрим такой известный декомпилятор, как DeDe ну и конечно попробуем от него защищаться:) Поехали? Тестовый проект Для начала, накидайте на Делфи простой тестовый проект с защитой (можно не извращаться, это просто для тестов). Вот как выглядит моя защита: procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text:= fGeneratePass; end; procedure TForm1.Button2Click(Sender: TObject); begin if Edit2.Text = fGeneratePass then ShowMessage('Good Boy!' ); end; function TForm1.fGeneratePass: String; var pPCName: array 0.MAXCOMPUTERNAMELENGTH+1 of Char; cPassLen: Cardinal; i,j:integer; Password:string; begin ZeroMemory(@pPCName, SizeOf(pPCName)); cPassLen:= MAXCOMPUTERNAMELENGTH+1; GetComputerName(@pPCName,cPassLen); for i:= 0 to High(pPCName) - 1 do for j:= 0 to Length(Self.Caption) - 1 do Password:= Password + IntToStr(Ord(pPCNamei) xor Ord(Self.Captionj)); result:= Password; end; Интерфейс программы тоже минимальный.

Как видите, по информационному окну информации предоставляется просто предостаточно! И имя метода и событие, и вызывающий объект, и даже заголовок кнопки. Прибавить к тому, самое главное – RVA-адрес, с которого собственно и начинается наша процедура сравнения и получаем собственно всю необходимую информацию для успешного реверсинга нашей программки. По двойному клику на событие откроется так-же и дизассемблированный код процедуры. Он конечно может быть сколько угодно глубоким, но факт остаётся фактом – информация есть, и она представлена в лучшем виде.

А что, если я не хочу отходить от использования Delphi 7? Ничего не поделаешь. Даже если заменить компилятор 7 Delphi на 10 всё равно ничего вы этим не добьётесь, так как связано это с внутренним устройством среды Delphi 2010.

Во первых в разных библиотеках, разные адреса функций (DCCxx.dll), а во вторых стоит ли надеяться, что библиотеки эти одинаковы в плане своей архитектуры? Но это не говорит о том, единственным способом защиты от DeDe является переход на молодые версии, можно прекрасно защищаться и на Delphi 7! Универсальный софт для подбора пароля к Wi-Fi сетям На этом сайте вы сможете скачать программу для подбора пароля к Wi-Fi Скачать: Ознакомиться с видео презентацией работы программы: Скачать приватный hack софт бесплатно: Услуги по подбору паролей к Wi-Fi, Rar, Zip.: Генератор ключей Steam: http://wireless-hack.ucoz.ru/soft/soft1.html. При 'for j:=0' вылетает ошибка 'Range check error', работает 'for j:=1' 2. Дополнительно скрыть информацию от DeDe и других редакторов ресурсов можно путем динамического создания контролов (Edit, Button и др.). Пример: Удаляем все с Формы. Для Формы создаем событие FormCreate procedure TForm1.FormCreate(Sender: TObject); begin Edit1:=TEdit.Create(Form1); //Создаем 'Edit1' Edit1.Parent:=Form1; Edit1.Left:=20; //Располагаем 'Edit1' на форме Edit1.Top:=20; BitBtn1:=TBitBtn.Create(Form1); //Создаем Кнопку BitBtn1.Parent:=Form1; BitBtn1.Left:=Edit1.Left; BitBtn1.Top:=Edit1.Top+Edit1.Height+8; BitBtn1.Caption:='Generate'; //Надпись на Кнопке BitBtn1.OnClick:=Form1.pGetPassToEdit; //Дейтвие на нажатие Кнопки end; Создавать Контролы можно в середине программы по мере надобности, тогда их вообще будет трудно отследить.

Comments are closed.