eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: tihiy_grom (+2 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Софт, инструменты —› DRX: Delphi 2010/XE RTTI eXtractor
. 1 . 2 . 3 . >>
Посл.ответ Сообщение

Ранг: 10.0 (новичок)
Статус: Участник

Создано: 6 ноября 2010 16:20 New!
Цитата · Личное сообщение · #1

Начиная с delphi2010, в exe включается расширенная RTTI-информация, теперь это не только секция published, но по умолчанию, для полей начиная с private, для свойств и методов - начиная с public.
Т.к на паблике тулзов для 2010+ не видно, решил сделать свою:
zalil.ru/29925555

Процесс при анализе не запускается, так что запакованные фалы не поддерживает.

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



Ранг: 116.6 (ветеран)
Статус: Участник

Создано: 6 ноября 2010 16:22 New!
Цитата · Личное сообщение · #2

A V пишет:
теперь это не только секция published, но по умолчанию, для полей начиная с private, для свойств и методов - начиная с public.

Поэтому рекомендуется использовать это:
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}

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



Ранг: 752.7 (! !)
Статус: Участник
Student

Создано: 6 ноября 2010 16:25 New!
Цитата · Личное сообщение · #3

A V пишет:
Начиная с delphi2010, в exe включается расширенная RTTI-информация, теперь это не только секция published, но по умолчанию, для полей начиная с private, для свойств и методов - начиная с public.Т.к на паблике тулзов для 2010+ не видно, решил сделать свою:

Для чего тулза хоть напишите

Ранг: 10.0 (новичок)
Статус: Участник

Создано: 6 ноября 2010 16:36 New!
Цитата · Личное сообщение · #4

dermatolog
я в курсе, но т.к это 'по умолчанию', то много где и будет
Isaev
ну из названия -- для извлечения RTTI инфы. Типа exe2dpr/dede, так что можно назвать это 'декомпилятор'

Ранг: 184.8 (ветеран)
Статус: Участник

Создано: 6 ноября 2010 16:46 · Поправил: crypto New!
Цитата · Личное сообщение · #5

A V
Т.к на паблике тулзов для 2010+ не видно
IDR поддерживает 2010 и извлекает информацию о RTTI.

Ранг: 10.0 (новичок)
Статус: Участник

Создано: 6 ноября 2010 16:48 New!
Цитата · Личное сообщение · #6

crypto
ну на сайте написано:
kb2010.bin – база знаний версии Delphi 2010 (архив защищён паролем)

так что не совсем паблик -)

Ранг: 184.8 (ветеран)
Статус: Участник

Создано: 6 ноября 2010 17:54 New!
Цитата · Личное сообщение · #7

A V
Против правды не попрешь


Ранг: 1964.3 (!!!!)
Статус: Модератор
retired

Создано: 6 ноября 2010 17:55 New!
Цитата · Личное сообщение · #8

А сорцы будут?

Ранг: 10.0 (новичок)
Статус: Участник

Создано: 6 ноября 2010 19:21 New!
Цитата · Личное сообщение · #9

Archer
будут, когда оно научится себя декомпилить -)
вообще, если кому интересно, могу скинуть, но там пока смотреть-то не на что - весь код по-сути - сдвиг указателей в структуре PackageTypeInfo + обертка над стандартным парсером rtti)
вот если сделаю трассировку значений параметров/лок. переменных + распознавание вызовов rtl/vcl, то
может и будет полезно


Ранг: 1964.3 (!!!!)
Статус: Модератор
retired

Создано: 6 ноября 2010 19:34 New!
Цитата · Личное сообщение · #10

Ну лучше, вообще говоря, выкладывать параллельно с ехе, типа аналог опенсорса. Хорошие или плохие-другой вопрос, плохие лучше, чем ничего.

Ранг: 10.0 (новичок)
Статус: Участник

Создано: 19 ноября 2010 00:40 New!
Цитата · Личное сообщение · #11

version 0.2.0a [18.11.2010]
! recognition of _some_ rtl/vcl library functions (test mode)
+ dll files support
* improved string refs detection
+ creates dpr/dpk
+ intialization/finalization sections

http://zalil.ru/29993870

зы: сорцы тулзы по запросу

Ранг: 10.0 (новичок)
Статус: Участник

Создано: 18 декабря 2010 21:04 · Поправил: A V New!
Цитата · Личное сообщение · #12

version 0.2.3 [09.12.2010]
* disasm module is changed to BeaEngine
+ recognition of types/methods attributes
+ detection of references to resourcestrings
* improved output of nested and generic types
* fixes in displaying derived enum types

version 0.2.2 [03.12.2010]
+ recogniton of
> interfaces that class implements
> 'reference to method' types
> variant parts in records

version 0.2.1 [30.11.2010]
+ creates map file
* improved recognition of
> props getters, setters and stored methods
> event handlers params in forms w/o extended RTTI
> var/out/const param flags in event and procedure types
+ optimized for multi-core cpus
* fix: v0.2.0 didn't create dfm files

zalil.ru/30174688 (fixed)

Ранг: 10.0 (новичок)
Статус: Участник

Создано: 12 января 2011 11:27 New!
Цитата · Личное сообщение · #13

version 0.3.0 [11.01.2011]
! support files built with runtime packages
! improved recognition of references to class fields and methods params
+ recognition of some methods w/o rtti (private/protected)
+ recognition of calls to some virtual methods
* improved recognition of calls to library functions
* critical fixes: v0.2.3 may crash on some resourcestrings and empty records
* fixes in producing units which contained form class with other classes
* fixes in map file data
* fixes in displaying variant parts of records
+ 'uses' section

rghost.ru/3908049

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


Ранг: 10.0 (новичок)
Статус: Участник

Создано: 28 августа 2011 12:04 New!
Цитата · Личное сообщение · #14

version 0.5.0 [27.08.2011]
! supports 64-bit files compiled with XE2 (use drx64.exe for x64 files, drx32.exe for x86)
+ recognition of methods in records and indexed properties in XE2
* fixed AV in producing dpr/dpk files

version 0.4.1 [16.04.2011]
+ units that were added implicitly (most of vcl/rtl files and components in design time)
are not produced by default, this handled by 'a' switch
- no more init/finit sections (they were displayed incorrectly)

version 0.4.0 [06.02.2011]
! recognition of non-RTTI virtual, dynamic, message and some abstract methods
(messages names are stored in msgnames.lst in 'name=message_code' format)
! recognition of methods calls is significantly improved (but the speed is much slower)
+ detection of references to class types
+ methods params info in map file
* fixes in displaying non-RTTI methods
* fixes in displaying fields with array and 'inplace record' types

rghost.ru/19573231

| Сообщение посчитали полезным: Airenikus, ajax, 4kusNick, daFix, VodoleY, yagello, Gideon Vi, _ruzmaz_


Ранг: 22.5 (новичок)
Статус: Участник

Создано: 7 октября 2011 18:50 New!
Цитата · Личное сообщение · #15

Перезалейте пожалуйста, файл удален.

Ранг: 9.5 (гость)
Статус: Участник

Создано: 8 октября 2011 18:56 New!
Цитата · Личное сообщение · #16

x123
http://rghost.ru/24719291

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


Ранг: 22.5 (новичок)
Статус: Участник

Создано: 9 октября 2011 00:03 New!
Цитата · Личное сообщение · #17

antipod
Спасибо.


Ранг: 1964.3 (!!!!)
Статус: Модератор
retired

Создано: 9 октября 2011 10:29 New!
Цитата · Личное сообщение · #18

Для Спасиб есть вполне себе хорошая кнопка под названием Полезное сообщение, пользуйтесь.

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


Ранг: 10.0 (новичок)
Статус: Участник

Создано: 9 октября 2011 14:56 New!
Цитата · Личное сообщение · #19

x123
Та версия, что я выкладывал в последний раз (0.5.0 RC1) - дико глючная - там библиотека дизасма новая, а хедеры старые остались - не понятно как вообще она работала

Вот RC2 - должна глючить поменьше
http://rghost.ru/24820571

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


Ранг: 10.0 (новичок)
Статус: Участник

Создано: 15 октября 2011 22:55 New!
Цитата · Личное сообщение · #20

Поправил еще неск-ко критичных баг, приводящих к AV
вот 0.5.0 RC3
http://rghost.ru/25724231

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



Ранг: 629.9 (!)
Статус: Участник
Автор VB Decompiler

Создано: 16 октября 2011 00:13 New!
Цитата · Личное сообщение · #21

A V

А на чем хоть увидеть результат работы можно? На программах, скомпилированных XE и XE2 не работает. По крайней мере на реальных проектах (на hello world не проверял).

Ранг: 10.0 (новичок)
Статус: Участник

Создано: 16 октября 2011 11:09 · Поправил: A V New!
Цитата · Личное сообщение · #22

GPcH
скинь на av.junk2007 эт гмайл.сом примеры, на чем не сработало, поправлю.
и не работает - это вылетает с ошибкой или пишет, что не та версия ?
И еще, если exe импортирует какие-то ф-ии из собственных dll/bpl, то лучше чтобы они лежали в той-же папке или были доступны по PATH.

зы: а вобще можно собственно на самих drx32/drx64.exe проверить (только скопировать их сначала под другим именем)

Ранг: 505.2 (!)
Статус: Модератор

Создано: 16 октября 2011 22:03 New!
Цитата · Личное сообщение · #23

64 битка падает на станд. модулях из Дельфи XE2

пример

d:\archive\Delphi\drx_rc3>drx64.exe fmxdae160.bpl
Fatal error: Access violation at address 000000000055C4B9 in module 'drx64.exe'. Read of address 000
0000000000010

d:\archive\Delphi\drx_rc3>drx64.exe xmlrtl160.bpl
Fatal error: Access violation at address 000000000055C4B9 in module 'drx64.exe'. Read of address 000
0000000000010
^C

32 битка тоже не очень любит стд. бпл-ки (32 битки)

d:\archive\Delphi\drx_rc3>drx32.exe rtl160.bpl
Error: Can't load image

d:\archive\Delphi\drx_rc3>drx32.exe BeaEngine.dll
Fatal error: Access violation at address 004E6714 in module 'drx32.exe'. Read of address 00000000
^C
d:\archive\Delphi\drx_rc3>drx32.exe BeaEngine64.dll
Error: Can't load image

Ранг: 10.0 (новичок)
Статус: Участник

Создано: 16 октября 2011 23:22 New!
Цитата · Личное сообщение · #24

sendersu
>64 битка падает на станд. модулях из Дельфи XE2
Падать конечно не должно, но и обрабатывать 32-битные dll-и, как ты понимаешь, 64-битка тоже не будет.. поправил, в след. билде будет по другому ругаться -)

>32 битка тоже не очень любит стд. бпл-ки (32 битки)

>drx32.exe rtl160.bpl
>Error: Can't load image
Вот это уже странно, очень.. у меня rtl160 обрабатывается нормально. bpl'ка точно в текущей папке есть?
Кто-то еще может проверить, у всех так?

>drx32.exe BeaEngine.dll

BeaEngine написана на C, так что вполне может и упасть.. хотя стоит конечно добавить проверок на принадлежность к дельфям, но не думаю что это критично

спасибо за фидбэк!
и, да, если тестить на стандартных дельфевых библиотеках, то лучше это делать с ключем '+a' либо убрать exclude.lst (иначе стандартные дельфевые модули, к-е в этих либах и есть, не будут выдываться)

Ранг: 10.0 (новичок)
Статус: Участник

Создано: 17 октября 2011 00:51 New!
Цитата · Личное сообщение · #25

посмотрел, действительно drx64 на большинстве 64-bit bpl'ек падал..

поправил в RC4
http://rghost.ru/25890721

вопрос, глючит ли у кого еще drx32 на rtl160.bpl, открытый..


Ранг: 629.9 (!)
Статус: Участник
Автор VB Decompiler

Создано: 18 октября 2011 03:04 · Поправил: GPcH New!
Цитата · Личное сообщение · #26

A V пишет:
и не работает - это вылетает с ошибкой или пишет, что не та версия ?


На 32 битных файлах, собранных в Delphi XE2 писало:

Scanning type info..
Can't find data file dir

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

Установка через команду cd рабочей директории на папку с твоей программой - решило проблему. Вообще странно что ты путь берешь не через ExtractFilePath(Application.ExeName).

Ранг: 10.0 (новичок)
Статус: Участник

Создано: 18 октября 2011 21:55 · Поправил: A V New!
Цитата · Личное сообщение · #27

GPcH пишет:
. Вообще странно что ты путь берешь не через ExtractFilePath(Application.ExeName).

забавно, всегда через ExeName/ParamStr(0) и узнаю, но здесь почему-то поставил GetCurrentDir


Ранг: 78.9 (постоянный)
Статус: Участник

Создано: 19 декабря 2011 11:32 New!
Цитата · Личное сообщение · #28

Ссылки не работают

Ранг: 10.0 (новичок)
Статус: Участник

Создано: 29 декабря 2011 23:05 New!
Цитата · Личное сообщение · #29

AKAB
http://www.multiupload.com/JXPZNGLHXW

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


Ранг: 0.6 (гость)
Статус: Участник

Создано: 4 июня 2012 14:39 New!
Цитата · Личное сообщение · #30

Пожалуйста, перезалейте.
. 1 . 2 . 3 . >>
 eXeL@B —› Софт, инструменты —› DRX: Delphi 2010/XE RTTI eXtractor

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS