Сейчас на форуме: igorcauret (+8 невидимых)

 eXeL@B —› Вопросы новичков —› Вопрос по Delphi
Посл.ответ Сообщение

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

Создано: 29 июня 2014 22:18 · Поправил: Dimarik5
· Личное сообщение · #1

Привет всем.

Изучал мат. часть по Delphi.Я так понял что в Среде разработки Delphi.Скомпилинная программа поддерживает статическую линковку. Тоесть либы все уже лежат в исполняемом файле.Отсюда и размер написанных в Delphi программ больше.
А как обстоят дела с реверсом этих программ какой способ "выдирания" либ. Что бы использовать для анализа примерный код который был написан кодером.(Мусора все же очень много).
Кроме как IDR ничего в голову не приходит.
Если в чем ошибся прошу поправить.

Спасибо всем.



Ранг: 14.4 (новичок), 8thx
Активность: 0.050
Статус: Участник

Создано: 29 июня 2014 22:57
· Личное сообщение · #2

Dimarik5, для делфи есть замечательная программа Dede, которая показывает все процедуры и адреса их.



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

Создано: 29 июня 2014 23:03 · Поправил: ThugboyZ
· Личное сообщение · #3

kola1357 пишет:
Dimarik5, для делфи есть замечательная программа Dede, которая показывает все процедуры и адреса их.

Читаем внимательно.ТС юзал IDR, куда более совершенный инструмент для декомпиляции с куда более широким функционалом, нежели DEDE.
Dimarik5 пишет:
А как обстоят дела с реверсом этих программ какой способ "выдирания" либ.

Импотр/экспорт функций можно получить под любым маломальски функциональным отладчиком или дизассемблером в независимости от ЯП, на котором написана программа.Исключение - C#, там отдельный разговор.Да банально с помощью hex-редактора можно получить список нужных функций.




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 05 июля 2014 19:31
· Личное сообщение · #4

Dimarik5 пишет:
Мусора все же очень много

мусора много в Basic'е, а дельфи реверсить само удовольствие

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh


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

Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 05 июля 2014 20:35
· Личное сообщение · #5

Isaev пишет:
дельфи реверсить само удовольствие

На примере delphi 7. Если скомпилировать пустую форму, то 80% кода - мусор(который при том не выполняется)




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

Создано: 06 июля 2014 02:31
· Личное сообщение · #6

Если код не выполняется, компиль его не собирает. Наверняка там зависимости.




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 06 июля 2014 04:21
· Личное сообщение · #7

TryAga1n пишет:
На примере delphi 7. Если скомпилировать пустую форму, то 80% кода - мусор


Rema на вас нет



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

Создано: 06 июля 2014 07:41 · Поправил: VodoleY
· Личное сообщение · #8

TryAga1n не нравится таскать с собой VCL ради бога, компилите с внешними либами будет 8кб экзешник или KOL юзайте.. еслиб MSV с собой таскали свой набор эллементов.. то думаю ещеб и больше экзешники были.

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




Ранг: 145.8 (ветеран), 190thx
Активность: 0.140.36
Статус: Участник

Создано: 06 июля 2014 09:26
· Личное сообщение · #9

VodoleY
Да что ты говоришь. Разница между тасканием с собой самодельного квадратного колеса и использованием уже имеющего круглого не понятна?

Gideon Vi
Если бы в то время был супер популярен C# были бы проги на сишарпе и фапали вы бы все щас на статьи с дотнетом. Не язык или иде определяет навык программиста, а его голова и руки.




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 06 июля 2014 09:39 · Поправил: Gideon Vi
· Личное сообщение · #10

Alchemistry пишет:
Разница между тасканием с собой самодельного квадратного колеса и использованием уже имеющего круглого не понятна?


полагаю, круглым квадратное колесо делает то, что либы для его использования интегрированы в ос? А как с их круглостью дела обстоят, если не ставить свежие дистрибутивы этих самых либ?

Alchemistry пишет:
Если бы в то время был супер популярен C#


если бы, да кабы, то во рту росли б грибы (с) Где Ваше заявление про руки противоречит моему посту? На делфи можно писать качественно, а используя С не менее качественно стрелять себе в ногу. Это, если вдруг мой пост не понятен.



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

Создано: 06 июля 2014 10:03 · Поправил: VodoleY
· Личное сообщение · #11

Alchemistry та да.. считается 150кб делфишный экзешник жирный? а ствить фрейм на 400метров .НЕТ это считается нормальным. про производительность. я молчу. IL в конце концов все равно интерпритируется.. так что более менее серьезные производительные вещи.. вам не светят. Борланду в благодарность за его компиллер по хорошему памятник поставить.. ибо так.. как обрабатываются ошибки с сях.. и в том же .НЕТ я рыдаю
З.Ы. я не агетирую писать на асме.. но поклонникам .НЕТ не стоит так пыжится.. и считать всех остальных ниже себя
З.Ы,Ы это холивар на чем писать.. мое мнение.. что лучше писать на том на чем умееш.. чем на ПРАВИЛЬНОМ языке.. но криво.. нет плохих инструментов.. есть кривые руки

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


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


Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 06 июля 2014 10:37 · Поправил: Gideon Vi
· Личное сообщение · #12

нет плохого слога... есть обилие многоточий...

возвращаясь к вопросу топикстартера: чем и кому мешают при реверсе прилинкованные либы? Сигнатур вагон, инструменты есть. ТС, Вы хоть пробовали смотреть код в отладчике/дизасме/декомпиле и сравнивать с c++ или так поинтересоваться решили?




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

Создано: 06 июля 2014 12:07
· Личное сообщение · #13

VodoleY пишет:
IL в конце концов все равно интерпритируется..

Если быть точнее - IL-код компилится по мере надобности

-----
IZ.RU




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

Создано: 06 июля 2014 12:12
· Личное сообщение · #14

DenCoder пишет:
Если быть точнее - IL-код компилится по мере надобности

я до такой степени в частности вдаваться не хотел. от этого суть не меняется

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





Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 06 июля 2014 12:40
· Личное сообщение · #15

для иды есть готовы сигны под delphi 7-9 а под новые можно самому нагенерить и все норм реверсится.

-----
[nice coder and reverser]




Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 06 июля 2014 12:56 · Поправил: TryAga1n
· Личное сообщение · #16

Ее есть отличный плагин для ольки, называется Point(E), очень помогает в реверсе делфепрог

beb8_06.07.2014_EXELAB.rU.tgz - Point E(eng).dll

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


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

Создано: 06 июля 2014 13:51 · Поправил: ClockMan
· Личное сообщение · #17

TryAga1n пишет:
называется Point(E)

Только он сцуко не понимает ,юникод строки а так норм плагин...........

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





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

Создано: 06 июля 2014 14:08
· Личное сообщение · #18

считается 150кб делфишный экзешник жирный?

если хеллворд весит 150 кб, а я могу написать такой размером в 1500 байт, то это слишком жирный




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 06 июля 2014 14:08
· Личное сообщение · #19

для юникод срок тоже, наверное, такая точка есть в дельфях, надо глянуть.

-----
[nice coder and reverser]





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

Создано: 06 июля 2014 14:44
· Личное сообщение · #20

Чуть не забыл в новых версиях делфи идут две секции кода, поэтому надо протрейсить до первого call, войти в него и потом только запускать этот плаг.

Hellspawn пишет:
для юникод срок тоже, наверное, такая точка есть в дельфях, надо глянуть.

отображает только первую букву названия функции.

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





Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 06 июля 2014 16:27
· Личное сообщение · #21

ClockMan а переписать плаг? он хексом почти в исходник раскладывается

-----
[nice coder and reverser]





Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 06 июля 2014 17:04
· Личное сообщение · #22

jangle пишет:
если хеллворд весит 150 кб, а я могу написать такой размером в 1500 байт, то это слишком жирный


а полноценный интернет-браузер во сколько байт умещать будете? И главное, сколько времени на это потратите и какое кол-во критических ошибок допустите.



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

Создано: 07 июля 2014 00:35
· Личное сообщение · #23

TryAga1n пишет:
Ее есть отличный плагин для ольки, называется Point(E), очень помогает в реверсе делфепрог


перепиcaл плаг для ollydbg2

353b_07.07.2014_EXELAB.rU.tgz - DEF.rar

| Сообщение посчитали полезным: Gideon Vi, SReg


Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 07 июля 2014 18:42
· Личное сообщение · #24

Alchemistry пишет:
Да что ты говоришь. Разница между тасканием с собой самодельного квадратного колеса и использованием уже имеющего круглого не понятна?

он говорит, что со стандартным VCL в том же Delphi 7 мелкий кейген будет около 500кб, а с использованием KOL около 8кб, вот и вся разница квадратного колеса... И естественно ясно где меньше будет мусора

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh



 eXeL@B —› Вопросы новичков —› Вопрос по Delphi
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати