Гость
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Дизассемблирование / 7 сообщений из 7, страница 1 из 1
12.08.2020, 16:38
    #39989084
Двоичник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дизассемблирование
ребят, хочу научиться переиспользовать чужой код. научите, пожалуйста, куда копать и как с этим жить

есть некая DLL, в которой, с помощью FileInfo я вижу набор экспортных функций в ней. По имени, могу примерно понимать, что именно делает данная функция в комплексе ПО, которое мне нужно частично повторить.

Для начала бы мне сделать свое приложение, которое могло бы эту функцию переиспользовать
как например диассемблировать dll, выдрать из нее кусок кода

Код: pascal
1.
2.
3.
4.
5.
6.
function fn_power(x, z: integer): integer;
asm
  mov ebx,z
  mov eax,x
  imul ebx
end;



Осталось научиться выдрать дизассемблером правильный кусок из чужой DLL, и если в целевую функцию есть набор параметров, то как их определить в чужой DLL.

Владею только языком Delphi со школьной скамьи, в памяти только базовые знания.
Спасибо
...
Рейтинг: 0 / 0
12.08.2020, 18:27
    #39989125
x1ca4064
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дизассемблирование
Двоичник
ребят, хочу научиться переиспользовать чужой код. научите, пожалуйста, куда копать и как с этим жить

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


Осталось научиться выдрать дизассемблером правильный кусок из чужой DLL, и если в целевую функцию есть набор параметров, то как их определить в чужой DLL.

Это может работать только для относительно простых функций. Очень часто проще создать собственную реализацию "по мотивам" оригинала, чем реверсировать весь код, понять что и зачем он делает, а потом "выдрать".
Владею только языком Delphi со школьной скамьи, в памяти только базовые знания.
Спасибо
Тяжело придется. Берите IDA, смотрите на результат, много думайте :)

Проще использовать саму dll
...
Рейтинг: 0 / 0
12.08.2020, 20:09
    #39989140
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дизассемблирование
Двоичник
ребят, хочу научиться переиспользовать чужой код. научите, пожалуйста, куда копать и как с этим жить

есть некая DLL ...

DLL задумана как раз для того чтобы код в ней использовать в разных приложениях. Бери эту DLL, загрузи и вызвай в ней нужную функцию. Для подробностей как это работает можешь Рихтера почитать "Windows via C/C++"

Слово "дизассемблирование" пока просто забудь, вернешься к нему когда станешь гуру в С/С++ и попутно ассемблер освоишь.

PS Переиспользовать чужой код нынче очень просто - качай код с github.com
...
Рейтинг: 0 / 0
13.08.2020, 05:00
    #39989196
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дизассемблирование
Двоичник,

Тогда причём тут dll и дизассемблирование? Ты что, хакир, чтоли? Бери библиотеки с открытыми исходниками, читай докуминтацию да используй
...
Рейтинг: 0 / 0
13.08.2020, 11:45
    #39989284
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дизассемблирование
Двоичник,

Выдирать ничего не нужно. DLL можно вызывать из программы на Дельфи. Просто положите эту DLL в одну папку с программой.
...
Рейтинг: 0 / 0
13.08.2020, 13:55
    #39989356
x1ca4064
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дизассемблирование
Eolt
DLL можно вызывать из программы на Дельфи. Просто положите эту DLL в одну папку с программой.


Это если известен интерфейс, а если нет - реверсинг.
...
Рейтинг: 0 / 0
13.08.2020, 16:46
    #39989439
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дизассемблирование
Двоичник

Для начала бы мне сделать свое приложение, которое могло бы эту функцию переиспользовать
как например диассемблировать dll, выдрать из нее кусок кода
.....
Владею только языком Delphi со школьной скамьи, в памяти только базовые знания.
Спасибо

Хотелось-бы понять насколько дорога и близка твоему сердцу эта функциональность что ты хочешь
аж дизассемблировать? Что там внутри? Лекарство от covid? Или формула вечного топлива?

Может лучше найти автора и заплатить ему несколько долларов? Или просто заказать этот реверс у тех
кто давно этим занимается и набил руку?

Если ты просто хочешь изучать ассемблер - то начни изучать со стандартных книг и учебников.
Юров например. Бери базовые алгоритмы (сортировки там) и реализуй их на асме. Потом приходи
сюда в форум но только с конкретными сорцами и с вопросами.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Дизассемблирование / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]