Сейчас на форуме: -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

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

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

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

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




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 26 августа 2011 14:08
· Личное сообщение · #2

PS Если не можешь скомпилить то вот:
Code:
  1. MOV ESI,1
  2. LEA EBX,DWORD PTR SS:[EBP-50]
  3. @L004642D5:
  4. LEA EDX,DWORD PTR SS:[EBP-54]
  5. MOV EAX,ESI
  6. CALL test.0040A670
  7. MOV EDX,DWORD PTR SS:[EBP-54]
  8. MOV EAX,EBX
  9. MOV ECX,test.00464354                   ; UNICODE ": 127.0.0.1"
  10. CALL test.0040578C
  11. LEA EDX,DWORD PTR SS:[EBP-58]
  12. MOV EAX,ESI
  13. CALL test.0040A670
  14. MOV EDX,DWORD PTR SS:[EBP-58]
  15. LEA EAX,DWORD PTR DS:[EBX+28]
  16. MOV ECX,test.00464378                   ; UNICODE ": Bill"
  17. CALL test.0040578C
  18. INC ESI
  19. ADD EBX,4
  20. CMP ESI,0B
  21. JNZ @L004642D5
  22. XOR EAX,EAX


-----
Yann Tiersen best and do not fuck




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

Создано: 26 августа 2011 14:26
· Личное сообщение · #3

PE_Kill
Спасибо. А если так:
Code:
  1. # type
  2. #   TPlayStat = packed record
  3. #     PlayerIP : String;
  4. #     PlayerName : String;
  5. #   end;
  6. # var
  7. #   PlayStat: array [1..10] of TPlayStat;





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 26 августа 2011 14:43
· Личное сообщение · #4

Ну сам то подумай. Тогда будут структуры по 8 байт. Или тебе нужно знать как это будет выглядеть для анализа? Тогда позже скомпилю, щас ухожу.

-----
Yann Tiersen best and do not fuck




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

Создано: 26 августа 2011 14:48
· Личное сообщение · #5

PE_Kill
Мне надо знать, как это выглядит в оригинале. Ладно, попробую скомпилировать оба варианта.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 26 августа 2011 14:52
· Личное сообщение · #6

В оригинале я тебе уже показал как это. Вот твой вариант:
Code:
  1. CPU Disasm
  2. Address   Hex dump          Command                                  Comments
  3. 00464862  |.  BE 01000000   MOV ESI,1
  4. 00464867  |.  8D5D B0       LEA EBX,[EBP-50]
  5. 0046486A  |>  8D55 AC       /LEA EDX,[EBP-54]
  6. 0046486D  |.  8BC6          |MOV EAX,ESI
  7. 0046486F  |.  E8 0C62FAFF   |CALL 0040AA80                           ; [test.0040AA80
  8. 00464874  |.  8B55 AC       |MOV EDX,DWORD PTR SS:[EBP-54]
  9. 00464877  |.  8BC3          |MOV EAX,EBX
  10. 00464879  |.  B9 F0484600   |MOV ECX,004648F0                        ; UNICODE ": 127.0.0.1"
  11. 0046487E  |.  E8 DD10FAFF   |CALL 00405960
  12. 00464883  |.  8D55 A8       |LEA EDX,[EBP-58]
  13. 00464886  |.  8BC6          |MOV EAX,ESI
  14. 00464888  |.  E8 F361FAFF   |CALL 0040AA80                           ; [test.0040AA80
  15. 0046488D  |.  8B55 A8       |MOV EDX,DWORD PTR SS:[EBP-58]
  16. 00464890  |.  8D43 04       |LEA EAX,[EBX+4]
  17. 00464893  |.  B9 14494600   |MOV ECX,00464914                        ; UNICODE ": Bill"
  18. 00464898  |.  E8 C310FAFF   |CALL 00405960
  19. 0046489D  |.  46            |INC ESI
  20. 0046489E  |.  83C3 08       |ADD EBX,8
  21. 004648A1  |.  83FE 0B       |CMP ESI,0B
  22. 004648A4  |.75 C4         \JNE SHORT 0046486A

Как я и сказал тут работа со структурой в 8 байт.

-----
Yann Tiersen best and do not fuck




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

Создано: 26 августа 2011 15:18
· Личное сообщение · #7

PE_Kill
Все, спасибо, разобрался.



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

Создано: 16 сентября 2011 12:48
· Личное сообщение · #8

Архив последней базы данных для 2010 битый?



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

Создано: 16 сентября 2011 12:49
· Личное сообщение · #9

Vostol пишет:
битый

платный



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

Создано: 18 октября 2011 09:22 · Поправил: crypto
· Личное сообщение · #10

Обновление софта до версии 2.5.3 бета

1. Исправлен баг, связанный с переполнением внутреннего буфера для преобразования строковых переменных
2. Исправлены серьезные баги генератора idc-скрипта (в частности, для версии Дельфи 2010)
3. В генератор idc-скрипта добавлен анализ повторяющихся имен
4. В списке юнитов значок разделителя '+' заменен на ';'
5. Добавлена возможность отказаться от сохранения дерева классов в файле проекта
6. Построить дерево классов повторно можно теперь в любой момент
7. Добавлено копирование текста в окне SourceCode в Clipboard, временный файл $$$.$$$ не создается

| Сообщение посчитали полезным: SReg, HandMill, obfuskator, drone, mak, JokeInMe, Airenikus, _ruzmaz_, =TS=, sierra, daFix, Gideon Vi, BAHEK, MarcElBichon, dimka_new, Dazz

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

Создано: 20 октября 2011 14:52 · Поправил: justincase
· Личное сообщение · #11

Hello crypto,

I am trying to use "IDR" to decompile a Pascal script that is found inside a "Inno Setup" file, but it fails with this error:
Code:
  1. Error
  2. File is not executable



I downloaded Unicode Inno Setup(isetup-5.4.2-unicode.exe) from here:
http://www.jrsoftware.org/isdl.php

After installing, I ran Inno Setup Compiler. I opened up Example1.iss and directly after these lines of code:
Code:
  1. [Icons]
  2. Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"

I pasted this in:
Code:
  1. [Code]
  2. function InitializeSetup(): Boolean;
  3. begin
  4.   Log('InitializeSetup called');
  5.   Result := MsgBox('InitializeSetup:' #13#13 'Setup is initializing. Do you really want to start setup?', mbConfirmation, MB_YESNO) = idYes;
  6.   if Result = False then
  7.     MsgBox('InitializeSetup:' #13#13 'Ok, bye bye.', mbInformation, MB_OK);
  8. end;


and then compiled and ran it. This setup.exe file was created in this directory:
C:\Documents and Settings\Administrator\My Documents\Inno Setup Examples Output


Next I downloaded innounp, the Inno Setup Unpacker from here:
https://sourceforge.net/projects/innounp/files/innounp/innounp%200.36/
and extracted it to:
C:\Documents and Settings\Administrator\My Documents\Inno Setup Examples Output


Next I used command prompt(cmd.exe) and innounp to view general information about the setup.exe file:
Code:
  1. C:\Documents and Settings\Administrator\My Documents\Inno Setup Examples Output>
  2. innounp.exe setup.exe
  3. ; Version detected: 5402 (Unicode)
  4. Compression used: lzma2
  5. Files: 4 ; Bytes: 17664
  6. Compiled Pascal script: 637 byte(s)
  7.  
  8. C:\Documents and Settings\Administrator\My Documents\Inno Setup Examples Output>



Then I used innounp to extract all the files from the setup.exe file:
Code:
  1. C:\Documents and Settings\Administrator\My Documents\Inno Setup Examples Output>
  2. innounp.exe ---a setup.exe
  3. ; Version detected: 5402 (Unicode)
  4. #1 {app}\MyProg.exe
  5. Reading slice C:\Documents and Settings\Administrator\My Documents\Inno Setup Ex
  6. amples Output\setup.exe
  7. #2 {app}\MyProg.chm
  8. #3 {app}\Readme.txt
  9. #4 embedded\CompiledCode.bin
  10. #5 embedded\WizardImage.bmp
  11. #6 embedded\WizardSmallImage.bmp
  12. #7 embedded\default.isl
  13. #8 install_script.iss
  14.  
  15. C:\Documents and Settings\Administrator\My Documents\Inno Setup Examples Output>



I am trying to decompile this file:
C:\Documents and Settings\Administrator\My Documents\Inno Setup Examples Output\embedded\CompiledCode.bin

When I tried to open it up within IDR that is when I got the "File is not executable" error.


This is from the Inno Setup help file:
Code:
  1. Unicode Inno Setup is compiled with Delphi 2009 instead of Delphi 2 and 3, leading to slightly larger files. The source code however is still compatible with Delphi 2 and 3, and a non Unicode version will remain available.




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

Создано: 20 октября 2011 15:02 · Поправил: justincase
· Личное сообщение · #12

Привет crypto,

Я пытаюсь использовать "IDR" декомпилировать сценарий Паскаль, что находится внутри "Inno Setup" файл, но ничего не получается с этой ошибкой:
Code:
  1. Error
  2. File is not executable



Я скачал Unicode Inno Setup (isetup-5.4.2-unicode.exe) в этом месте:
http://www.jrsoftware.org/isdl.php

После установки, я побежал Inno Setup Compiler. Я открыл Example1.iss и непосредственно после этих строк кода:
Code:
  1. [Icons]
  2. Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"

Я вставил это в:
Code:
  1. [Code]
  2. function InitializeSetup(): Boolean;
  3. begin
  4.   Log('InitializeSetup called');
  5.   Result := MsgBox('InitializeSetup:' #13#13 'Setup is initializing. Do you really want to start setup?', mbConfirmation, MB_YESNO) = idYes;
  6.   if Result = False then
  7.     MsgBox('InitializeSetup:' #13#13 'Ok, bye bye.', mbInformation, MB_OK);
  8. end;


, а затем скомпилирован и запустил его. Этот файл setup.exe, был создан в этот каталоге:
C:\Documents and Settings\Administrator\My Documents\Inno Setup Examples Output


Следующая я скачал innounp, Inno Setup Unpacker отсюда:
https://sourceforge.net/projects/innounp/files/innounp/innounp%200.36/
и экстрагируют его по адресу:
C:\Documents and Settings\Administrator\My Documents\Inno Setup Examples Output



Далее я использовал командную строку (cmd.exe) и innounp, чтобы просмотреть общую информацию о файле setup.exe:
Code:
  1. C:\Documents and Settings\Administrator\My Documents\Inno Setup Examples Output>
  2. innounp.exe setup.exe
  3. ; Version detected: 5402 (Unicode)
  4. Compression used: lzma2
  5. Files: 4 ; Bytes: 17664
  6. Compiled Pascal script: 637 byte(s)
  7.  
  8. C:\Documents and Settings\Administrator\My Documents\Inno Setup Examples Output>



Тогда я использовал innounp, чтобы извлечь все файлы из файла setup.exe:
Code:
  1. C:\Documents and Settings\Administrator\My Documents\Inno Setup Examples Output>
  2. innounp.exe ---a setup.exe
  3. ; Version detected: 5402 (Unicode)
  4. #1 {app}\MyProg.exe
  5. Reading slice C:\Documents and Settings\Administrator\My Documents\Inno Setup Ex
  6. amples Output\setup.exe
  7. #2 {app}\MyProg.chm
  8. #3 {app}\Readme.txt
  9. #4 embedded\CompiledCode.bin
  10. #5 embedded\WizardImage.bmp
  11. #6 embedded\WizardSmallImage.bmp
  12. #7 embedded\default.isl
  13. #8 install_script.iss
  14.  
  15. C:\Documents and Settings\Administrator\My Documents\Inno Setup Examples Output>



Я пытаюсь декомпилировать данный файл:
C:\Documents and Settings\Administrator\My Documents\Inno Setup Examples Output\embedded\CompiledCode.bin

Когда я попытался открыть его с IDR, то есть когда я получил эту "File is not executable" ошибка.

Эта информация поступает из "Inno Setup" справочная документация:
Code:
  1. Unicode Inno Setup is compiled with Delphi 2009 instead of Delphi 2 and 3, leading to slightly larger files. The source code however is still compatible with Delphi 2 and 3, and a non Unicode version will remain available.





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 20 октября 2011 16:19
· Личное сообщение · #13

justincase пишет:
I am trying to use "IDR" to decompile a Pascal script

Поздравляю вы даун.

-----
Yann Tiersen best and do not fuck


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


Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 20 октября 2011 17:18
· Личное сообщение · #14

PE_Kill пишет:
Поздравляю вы даун.

Зачем так грубо
justincaseэто всё равно что отлаживать програаму в блокноте б у inno свой скриптовый движок.

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.




Ранг: 112.9 (ветеран), 186thx
Активность: 0.090.01
Статус: Участник

Создано: 20 октября 2011 19:26 · Поправил: vden
· Личное сообщение · #15

justincase как не русскоязычный товарищ скорее всего не так понял что делает IDR.

justincase IDR is tool to assist in reversing compiled Delphi apps.
http://kpnc.org/idr32/en/

InnoSetup scripts are not Delphi applications. They are byte-code (compiled RemObjects Pascal Script).
There are no complete decompilers for it. Though you can disassemble it with:

ifps3 disassembler

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

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

Создано: 28 октября 2011 12:18
· Личное сообщение · #16

Для тестирования базы знаний для 2011 нужна нетривиальная программа, скомпилированная в 2011. Если есть у кого в загашнике, киньте плиз мне на мыло.
ЗЫ
Истинно ли равенство: Дельфи2011=XE1? Кто сможет просветить в версиях после 2010?



Ранг: 112.9 (ветеран), 186thx
Активность: 0.090.01
Статус: Участник

Создано: 28 октября 2011 12:43
· Личное сообщение · #17

Версии
http://docwiki.embarcadero.com/RADStudio/en/Compiler_Versions



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

Создано: 28 октября 2011 13:34 · Поправил: crypto
· Личное сообщение · #18

vden
Много буков, однако, но мало полезной информации. Как этим пользоваться?




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

Создано: 28 октября 2011 13:37 · Поправил: ajax
· Личное сообщение · #19

15.x=2010=XE, 16.x=2011=XE2

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




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

Создано: 28 октября 2011 14:08
· Личное сообщение · #20

ajax
Судя по таблице 14.x тоже 2010 <> XE




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 28 октября 2011 15:03
· Личное сообщение · #21

ОФФТОП. Видели, они 13 пропустили в продукт вершин?

-----
Yann Tiersen best and do not fuck




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

Создано: 28 октября 2011 15:29
· Личное сообщение · #22

PE_Kill пишет:
Видели, они 13 пропустили в продукт вершин?

Суеверные
2010 это 14(140)



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

Создано: 28 октября 2011 16:59
· Личное сообщение · #23

Ладно, версию замнем для ясности. А файлов под 2011 нет что-ли? Видать, девелоперы еще не освоили... Тогда, поскольку тестить не на чем, ухожу в себя до Нового 2012 Года. Аста ла виста!



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

Создано: 28 октября 2011 18:10
· Личное сообщение · #24

crypto
постой паровоз, не стучите колеса.....
есть



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

Создано: 28 октября 2011 19:08
· Личное сообщение · #25

sendersu
Спасибо, получил.
Модератору
Похоже, тему пора закрывать.



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

Создано: 28 октября 2011 19:08
· Личное сообщение · #26

А кто пояснит, что значит Delphi 2007 for .Net?



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

Создано: 28 октября 2011 20:56
· Личное сообщение · #27

всё просто - это поддержка .Net



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

Создано: 20 ноября 2012 16:51
· Личное сообщение · #28

Could not convert variant of type (String) into type (Integer) че за фигня и как убрать ?



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

Создано: 21 ноября 2012 08:43
· Личное сообщение · #29

parovoZZ
Баг декомпилятора. Убрать можно только путем его исправления.



Ранг: 33.8 (посетитель), 38thx
Активность: 0.060
Статус: Участник

Создано: 21 ноября 2012 16:16
· Личное сообщение · #30

crypto

Вопрос - публичные релизы будут или нет ?
Имеется вопрос по улучшению - а спросить боюсь...



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

Создано: 21 ноября 2012 17:08
· Личное сообщение · #31

dimka_new
Только они и будут
Неужели я такой страшный? Если есть предложения, озвучь.

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