Сейчас на форуме: -Sanchez-, Alf, Adler, Rio (+5 невидимых)

 eXeL@B —› Софт, инструменты —› Interactive Delphi Reconstructor (IDR). Миттельшпиль
<< 1 ... 18 . 19 . 20 . 21 . 22 . 23 . 24 . 25 . 26 . 27 . 28 ... 47 . 48 . >>
Посл.ответ Сообщение

Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 06 декабря 2009 17:29 · Поправил: crypto
· Личное сообщение · #1

IDR (Interactive Delphi Reconstructor) – декомпилятор исполняемых файлов (EXE) и динамических библиотек (DLL), написанных на языке Delphi и выполняемых в среде 32х-разрядных операционных систем Windows.



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

Текущей версией программы могут обрабатываться файлы (как GUI, так и консольных приложений), скомпилированные компиляторами версий Delphi2 – Delphi2010. Ведется работа по поддержке Дельфи 2011.

Конечной целью проекта является разработка программы, способной восстановить большую часть исходных Delphi-текстов из скомпилированного файла, но пока IDR, как и другие Delphi-декомпиляторы, сделать этого не может. Тем не менее, IDR может значительно облегчить такой процесс. По сравнению с другими декомпиляторами анализ, выполненный IDR, отличается наибольшей полнотой и достоверностью. Кроме того, высокая интерактивность делает работу с программой комфортной и (не побоимся этого слова) приятной.

IDR выполняет статический анализ (анализируемый файл не запускается на выполнение), что позволяет безопасно изучать вирусы, трояны и прочие приложения, запуск которых опасен или нежелателен.

Программа не требует установки и не делает никаких записей в реестр Windows.


Официальный сайт:
kpnc.org/idr32
[Note] Недоступен после трагической гибели Криса (RIP)

Гитхаб
Github sources

Скачать:
Страница загрузки

Dropbox автора
https://www.dropbox.com/sh/9ran313nidqtagb/AADl_m_9GVYSiXUviZtDQWQHa?dl=0

Актуальная версия программы:

Исполняемый файл
Внимание! Требует наличия вспомогательных файлов и баз знаний!!!

Базы данных качать по
ссылке.

Для работы необходимо скачать базу знаний + последнюю версию программы



Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 06 февраля 2013 17:28
· Личное сообщение · #2

Тут такое дело. Для фиксирования багов понадобилась мне процедура unmangle. Исходники ее нашел в Дельфи, более или менее свежие. Однако процедура наворачивается на некоторых простых конструкциях (например, @System@@GetMem$qqri). Я даже нашел причину, но не могу понять, как исправить ошибку? Может быть кто-то уже встречался с подобными вещами и может подсказать?

| Сообщение посчитали полезным: slayerslayer


Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 06 февраля 2013 18:06
· Личное сообщение · #3

crypto
дык, а что за ошибка-то? если че - за тредом не следил

-----
От многой мудрости много скорби, и умножающий знание умножает печаль


| Сообщение посчитали полезным: slayerslayer

Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 06 февраля 2013 19:32
· Личное сообщение · #4

ajax
Ошибка серьезная - длина пересылаемых данных < 0.




Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

Создано: 06 февраля 2013 20:17
· Личное сообщение · #5

crypto

Я себе эту функцию из C++ брал. Потому использую в декомпиляторе внешнюю DLL для этого. Могу поделиться - пиши на email, хотя думаю для тебя это не решение.

-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!




Ранг: 10.0 (новичок), 44thx
Активность: 0.010
Статус: Участник

Создано: 06 февраля 2013 22:07
· Личное сообщение · #6

crypto
здесь формат описан: http://edn.embarcadero.com/article/27758
вот упрощенная версия, писал давно, не знал еще что есть описание:
Code:
  1. function TLibFuncs.Demangle(const S: string): string;
  2. var
  3.   APos: Integer;
  4.   TmpS: string;
  5.  
  6.   procedure ParseParams(const S: string);
  7.   var
  8.     LenS: string;
  9.     i, Len, LenEnd: Integer;
  10.   begin
  11.     //searching param len
  12.     LenEnd := 0;
  13.     for i := APos to Length(S) do
  14.     begin
  15.       if CharInSet(S[i], ['0'..'9']) then
  16.         LenS := LenS + S[i]
  17.       else if LenS <> '' then
  18.       begin
  19.         LenEnd := i;
  20.         Break;
  21.       end;
  22.     end;
  23.     Len := StrToIntDef(LenS, 0);
  24.     if (Len > 0) and (LenEnd > 0) then
  25.     begin
  26.       Result := Result + IfThen(Pos('(', Result) = 0, '(', ', ');
  27.       Result := Result + Copy(S, LenEnd, Len);
  28.       ParseParams(RightStr(S, Length(S) - LenEnd));
  29.     end;
  30.   end;
  31.  
  32. begin
  33.   if Pos('@', S) = 0 then
  34.     Exit;
  35.   TmpS := RightStr(S, Pred(Length(S)));
  36.   TmpS := ReplaceStr(ReplaceStr(TmpS, '@@', '@'), '@', '.');
  37.   APos := Pos('$', TmpS);
  38.   Result := TmpS;
  39.   if APos > 0 then
  40.   begin
  41.     Result := LeftStr(TmpS, Pred(APos));
  42.     ParseParams(TmpS);
  43.   end;
  44.   Result := ReplaceStr(Result, '%', '');
  45.   APos := Pos('$', Result);
  46.   if APos > 0 then
  47.     Result := LeftStr(Result, Pred(APos));
  48.   if Pos('(', Result) > 0 then
  49.     Result := Result + ')';
  50. end;
  51.  


| Сообщение посчитали полезным: crypto

Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 07 февраля 2013 11:27
· Личное сообщение · #7

A V
Я немецкий не очень знаю. Может пояснишь, что означает квалификатор t1 (t2,...)? Я так уловил, что это повторение (аргумента номер 1, 2?)




Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 07 февраля 2013 11:35
· Личное сообщение · #8

родной деманглинг имен от XE3 SP1 --> Link <-- катит?

-----
От многой мудрости много скорби, и умножающий знание умножает печаль




Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 07 февраля 2013 12:52
· Личное сообщение · #9

ajax
Я его в начале и взял. Только во-первых, он для С++, а мне нужно разбирать декорированные имена Дельфи, а во-вторых, наворачивается на простых именах вроде @System@@GetMem$qqri. Переписывать его под Дельфи не хочется, проще все-таки свой парсер написать.




Ранг: 251.8 (наставник), 17thx
Активность: 0.120
Статус: Участник
Seeker

Создано: 07 февраля 2013 15:53 · Поправил: =TS=
· Личное сообщение · #10

crypto
ТУТ почти полностью расписано в разделе "8.2 Borland name mangling". В таблицах расшифровка параметров.
Есть почти полная самопальная реализация на плюсах.
PS. Единственный встреченный мною документ с такой полнотой описания.

-----
DREAMS CALL US


| Сообщение посчитали полезным: crypto

Ранг: 10.0 (новичок), 44thx
Активность: 0.010
Статус: Участник

Создано: 07 февраля 2013 21:52
· Личное сообщение · #11

cryptocrypto пишет:
Я немецкий не очень знаю. Может пояснишь, что означает квалификатор t1 (t2,...)? Я так уловил, что это повторение (аргумента номер 1, 2?)

да, я так же понял



Ранг: 6.8 (гость), 3thx
Активность: 0.010
Статус: Участник

Создано: 11 февраля 2013 07:24
· Личное сообщение · #12

Что еще декомпилит кроме screenruler?



Ранг: 133.4 (ветеран), 57thx
Активность: 0.110
Статус: Участник

Создано: 16 февраля 2013 10:29
· Личное сообщение · #13

На сайте обнова. Пофиксены баги.

| Сообщение посчитали полезным: sendersu, DimitarSerg, Dart Raiden, nick8606, _ruzmaz_, NikolayD

Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 19 февраля 2013 09:33
· Личное сообщение · #14

Вот, оказывается, кто автор IDR
http://www.pozitiff.info/user/BemsNewssweby/

Немного о себе: Interactive Delphi Reconstructor (IDR)
Место жительства: Москва
Номер ICQ: 177371231

| Сообщение посчитали полезным: Vovan666, 4kusNick, sendersu, norvt2

Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 19 февраля 2013 11:02
· Личное сообщение · #15

crypto
Отпиши ему какую-нибудь багу, пусть фиксит(и сколько это будет стоить).

| Сообщение посчитали полезным: 4kusNick

Ранг: 397.0 (мудрец), 179thx
Активность: 0.170.1
Статус: Участник

Создано: 19 февраля 2013 17:55 · Поправил: BfoX
· Личное сообщение · #16

crypto

обана, даже твой ник не перебит на скрине. походу телепортом контекст стянули

-----
...или ты работаешь хорошо, или ты работаешь много...




Ранг: -0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 13 апреля 2013 16:36
· Личное сообщение · #17

а какой пароль или где скачать delphi 2010 бд без пароля?



Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 13 апреля 2013 16:51
· Личное сообщение · #18

destrojer пишет:
а какой пароль или где скачать delphi 2010 бд без пароля?

вы халявщик или....
все есть тут kpnc.org/idr32



Ранг: -0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 13 апреля 2013 17:09 · Поправил: destrojer
· Личное сообщение · #19

у меня архиватор 7zip глючит, пишет что там пароль. Хотя вроде это бесплатная прога.




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 13 апреля 2013 17:20
· Личное сообщение · #20

Ясно же на сайте написано
База знаний для версии 2010 kb2010.bin защищена паролем, обращайтесь к автору (crypto2011@gmail.com)
Вот и обращайся.



Ранг: -0.5 (гость)
Активность: 0=0
Статус: Участник

Создано: 26 апреля 2013 12:00
· Личное сообщение · #21

т.е еще ни кто не узнал пароль на архив за это время?


или все такие честные что еще никто не опубликовал пароль к архиву? :D




Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 26 апреля 2013 12:19
· Личное сообщение · #22

NezabanennyNick пишет:
все такие честные


все именно так

-----
-=истина где-то рядом=-


| Сообщение посчитали полезным: yanus0, Hellspawn, SaNX

Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 17 августа 2013 22:15
· Личное сообщение · #23

25 августа на 1 неделю будет выложена ограниченная приватная версия IDR (с некоторыми ограничениями, как сами понимаете). Версия практически полная (т.е. декомпилировать сможете, почти...). Ладно, сами увидите. За паролем обращайтесь ко мне лично. Пароль не совпадает с уже известными.

| Сообщение посчитали полезным: sendersu, nick8606, 4kusNick, Isaev, SReg, linhanshi, plutos, SaNX, Jaa, verdizela, HandMill, vnekrilov, m0bscene, =TS=, v00doo, Artem_N, KViNTO, daFix, reversecode, alexpol, obfuskator, drone, tihiy_grom, sierra, neomant, sapog93, zNob, DYUMON, Jim DiGriz, BoRoV, void, awlost, VodoleY, NikolayD, Gideon Vi, Airenikus, d0wn, Zabyl parol, hlmadip, XQuader, bbuc, Error13Tracer, AKAB, Paranoid Koneko

Ранг: 6.4 (гость), 4thx
Активность: 0=0
Статус: Участник

Создано: 20 августа 2013 17:32
· Личное сообщение · #24

crypto просто замечательно, порадуем тебя донейтами =)



Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 20 августа 2013 19:22
· Личное сообщение · #25

crypto Лично на мыло или лично ПМ?

-----
старый пень




Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 20 августа 2013 19:52
· Личное сообщение · #26

crypto кастомный билд базы знаний отладил?

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 20 августа 2013 21:39
· Личное сообщение · #27

r_e
Местным лучше в ПМ, остальные будут мылом.

VodoleY
А в чем там проблемы были, напомни-ка?



Ранг: 58.1 (постоянный), 42thx
Активность: 0.060.01
Статус: Участник

Создано: 25 августа 2013 05:10
· Личное сообщение · #28

to crypto:
В ЛС пишет адресат не существует, поделись паролем в личку.



Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 25 августа 2013 19:53
· Личное сообщение · #29

Пароли будут раздаваться завтра всем, кто обратился ко мне в личку или на мыло

| Сообщение посчитали полезным: alexpol, icerix, XQuader


Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 26 августа 2013 09:20
· Личное сообщение · #30

Получил ключ, спасибо. Давно не открывал IDR и первое что бросилось в глаза пункт меню Plugins.
Я так понял SDK приватно?

-----
Лучше быть одиноким, но свободным © $me




Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 26 августа 2013 10:15 · Поправил: crypto
· Личное сообщение · #31

BoRoV
Нет. Я уже отписался по-этому вопросу Isaev.
Плагины для загрузки форм существуют с Новогодней версии. Но поскольку подарок был испорчен, у меня не было настроения описывать подробности и выкладывать примеры.


<< 1 ... 18 . 19 . 20 . 21 . 22 . 23 . 24 . 25 . 26 . 27 . 28 ... 47 . 48 . >>
 eXeL@B —› Софт, инструменты —› Interactive Delphi Reconstructor (IDR). Миттельшпиль
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати