Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2015, 06:57   #11
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Ixmil Посмотреть сообщение
Можно и по структуре Асма - Обратный текст, теоритически вернуть...
Теоретически можно. Но, это такой титанический труд, что лучше уж исходники по новой написать.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 30.09.2015, 07:03   #12
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Цитата:
Сообщение от Ixmil Посмотреть сообщение
Можно и по структуре Асма - Обратный текст, теоритически вернуть...
Давайте с простого:
асм: add eax, 1
паскаль: а := а +1 или Inc(a) или ...?
p51x вне форума Ответить с цитированием
Старый 30.09.2015, 07:06   #13
Ixmil
Пользователь
 
Регистрация: 27.09.2015
Сообщений: 47
По умолчанию

Как будто промежуточных версий языка между навороченным паскалем и асмом, при компиляции уже быть не может.
Ixmil вне форума Ответить с цитированием
Старый 30.09.2015, 07:13   #14
Ixmil
Пользователь
 
Регистрация: 27.09.2015
Сообщений: 47
По умолчанию

А приведённая вариабельность "или" - зачачка не сложная

пишем скажем команду NOP - нужное кол во раз и понимаем которое - "или". Или как то иначе смещаем Add EAX по месту находжения.
Незаметно и кротко.
Ixmil вне форума Ответить с цитированием
Старый 30.09.2015, 07:14   #15
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Ixmil Посмотреть сообщение
Как будто промежуточных версий языка между навороченным паскалем и асмом, при компиляции уже быть не может.
Есть ещё объектные файлы. Они являются промежуточным звеном между исходным кодом и исполняемым. Вот только я слабо себе представляю как они устроены. Вроде как они для компоновщика нужны, но не факт.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 30.09.2015, 07:37   #16
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

По теме - нецелесообразно реверсить экзешки, кроме как для получения профита.
Например, чтобы получить зачёт, взяв в инете какую-то программу без сурсов - нецелесообразно.
А вот белый (например, написание опенсурс-аналога проприетарного продукта с теми же протоколами/апи) или "чёрный" (крекинг) реверс вполне себе оправдан.

С паскаля очень сложно получить даже осмысленный асм-код, т.к. пас компилится вместе со своей ртл в единую кашу и найти где код именно программы, а где именно ртл - сложно, даже просто потому, что на уровне асма нет ни "программы", ни "ртл", это человеческие понятия. Если использовать хитрую технику обрезки ртл (гуглим демосцена) до минимально рабочего уровня, и в своём коде работать на низком уровне (по меркам паскаля, ессно) - то полученный экзешник будет маленький и целевой код в соответствующих секциях (гуглим формат PE) будет небольшой и вполне себе понятный и восстановимый компетентным человеком.

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

То куда тема ушла - асм слишком узкий инструмент, зачем ещё на уровне асма выдумывать хаки ? Ради возможности реверсить попроще ? смешно Эффективность предлагаемого, а в ещё большей степени надёжность, будут слабы.
phomm вне форума Ответить с цитированием
Старый 30.09.2015, 07:37   #17
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Цитата:
Сообщение от Ixmil Посмотреть сообщение
А приведённая вариабельность "или" - зачачка не сложная

пишем скажем команду NOP - нужное кол во раз и понимаем которое - "или". Или как то иначе смещаем Add EAX по месту находжения.
Незаметно и кротко.
И что это даст?

nop; add eax, 1 превратится в Inc(a) или nop; nop; add eax, 1?
p51x вне форума Ответить с цитированием
Старый 30.09.2015, 08:11   #18
Ixmil
Пользователь
 
Регистрация: 27.09.2015
Сообщений: 47
По умолчанию

Именно так.

Можно ещё задать определённую константу регистру, которая тоже сотрётся по ходу программы. Но зато по ней понять.

А можно на уровне асма заменить механизм одного и тогоже оператора.
Т.е. Оператор - один, а механизмы разные.

Можно просто некоторые команды местами поменять, при этом не поменяв смысл.
Ixmil вне форума Ответить с цитированием
Старый 30.09.2015, 09:08   #19
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Что-то вы какой-то отстраненный бред несете... Задача простая (по вашему):
Есть только exe. В нем add eax, 1. Вопрос: что было в исходнике a = a + 1 или Inc(a) или что-то еще?
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исполняемый файл Михаил Юрьевич Общие вопросы Delphi 2 17.07.2013 01:27
исполняемый файл meevka Общие вопросы C/C++ 3 07.04.2012 16:10
Pascal ABC исполняемый файл misher666 Паскаль, Turbo Pascal, PascalABC.NET 4 21.09.2009 19:28
Единый исполняемый файл phobos Общие вопросы .NET 9 25.05.2009 19:32
mp3 в исполняемый файл JRcoker Мультимедиа в Delphi 5 01.10.2008 14:42