|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.09.2015, 06:57 | #11 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Теоретически можно. Но, это такой титанический труд, что лучше уж исходники по новой написать.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
30.09.2015, 07:03 | #12 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,759
|
|
30.09.2015, 07:06 | #13 |
Пользователь
Регистрация: 27.09.2015
Сообщений: 47
|
Как будто промежуточных версий языка между навороченным паскалем и асмом, при компиляции уже быть не может.
|
30.09.2015, 07:13 | #14 |
Пользователь
Регистрация: 27.09.2015
Сообщений: 47
|
А приведённая вариабельность "или" - зачачка не сложная
пишем скажем команду NOP - нужное кол во раз и понимаем которое - "или". Или как то иначе смещаем Add EAX по месту находжения. Незаметно и кротко. |
30.09.2015, 07:14 | #15 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Есть ещё объектные файлы. Они являются промежуточным звеном между исходным кодом и исполняемым. Вот только я слабо себе представляю как они устроены. Вроде как они для компоновщика нужны, но не факт.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
30.09.2015, 07:37 | #16 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,885
|
По теме - нецелесообразно реверсить экзешки, кроме как для получения профита.
Например, чтобы получить зачёт, взяв в инете какую-то программу без сурсов - нецелесообразно. А вот белый (например, написание опенсурс-аналога проприетарного продукта с теми же протоколами/апи) или "чёрный" (крекинг) реверс вполне себе оправдан. С паскаля очень сложно получить даже осмысленный асм-код, т.к. пас компилится вместе со своей ртл в единую кашу и найти где код именно программы, а где именно ртл - сложно, даже просто потому, что на уровне асма нет ни "программы", ни "ртл", это человеческие понятия. Если использовать хитрую технику обрезки ртл (гуглим демосцена) до минимально рабочего уровня, и в своём коде работать на низком уровне (по меркам паскаля, ессно) - то полученный экзешник будет маленький и целевой код в соответствующих секциях (гуглим формат PE) будет небольшой и вполне себе понятный и восстановимый компетентным человеком. По поводу где хранить код - используйте разные VCS и хостинги проектов (можно и локальные репы) - одни плюсы, нет мороки с хранением в разных местах, синхронизацией, бэкапом и прочим. То куда тема ушла - асм слишком узкий инструмент, зачем ещё на уровне асма выдумывать хаки ? Ради возможности реверсить попроще ? смешно Эффективность предлагаемого, а в ещё большей степени надёжность, будут слабы. |
30.09.2015, 07:37 | #17 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,759
|
Цитата:
nop; add eax, 1 превратится в Inc(a) или nop; nop; add eax, 1? |
|
30.09.2015, 08:11 | #18 |
Пользователь
Регистрация: 27.09.2015
Сообщений: 47
|
Именно так.
Можно ещё задать определённую константу регистру, которая тоже сотрётся по ходу программы. Но зато по ней понять. А можно на уровне асма заменить механизм одного и тогоже оператора. Т.е. Оператор - один, а механизмы разные. Можно просто некоторые команды местами поменять, при этом не поменяв смысл. |
30.09.2015, 09:08 | #19 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,759
|
Что-то вы какой-то отстраненный бред несете... Задача простая (по вашему):
Есть только exe. В нем add eax, 1. Вопрос: что было в исходнике a = a + 1 или Inc(a) или что-то еще? |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Исполняемый файл | Михаил Юрьевич | Общие вопросы 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 |