|
|
|
Возможно ли добавить "функционал" в бинарник?
|
|||
|---|---|---|---|
|
#18+
День добрый, подумалось тут, а возможно ли добавить свой метод/функцию/действие... в уже скомпилированную программу, т.е есть например программа, я хочу в ней по нажатию скажем на кнопке тулбара выполнить своё действие, возможно ли? Как? И куда зашивать свой код? Т.е это может быть какой-то отдельный модуль, или можно прям в бинарник вшить свой код? Объясните на пальцах :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2011, 08:10 |
|
||
|
Возможно ли добавить "функционал" в бинарник?
|
|||
|---|---|---|---|
|
#18+
I dont know, Если на пальцах, то можно найти в бинарнике код, который выполняется по нажатию на кнопку, заменить первые инструкции безусловным переходом на начало своего кода, в конце своего кода выполнить убранные инструкции и сделать переход обратно (т.н. hook). Требуется знание по крайней мере основ ассемблера и строения исполняемого файла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2011, 08:29 |
|
||
|
Возможно ли добавить "функционал" в бинарник?
|
|||
|---|---|---|---|
|
#18+
Abstraction, А свой код куда прятать? Дописывать в конец программы или можно как-то отдельным модулем? И в каком виде должен быть этот код? Т.е я так понимаю, пишем скажем на С, компилим в объектный файл(с расширением .о) и потом его дописываем в конец прог, так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2011, 08:40 |
|
||
|
Возможно ли добавить "функционал" в бинарник?
|
|||
|---|---|---|---|
|
#18+
Abstraction, ... или вешаем в память агента, отлавливаем нажатие нужной кнопки, перехватываем управление и вызываем свой метод! _) но сдается мне что основами асма тут не обойтись_) Но возможно программа имеет какие то интерфейсы, типа plugin, тогда читаем к ней документацию лепим библиотеки и получаем нужные конопочки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2011, 08:41 |
|
||
|
Возможно ли добавить "функционал" в бинарник?
|
|||
|---|---|---|---|
|
#18+
I dont knowAbstraction, А свой код куда прятать? Дописывать в конец программы или можно как-то отдельным модулем? И в каком виде должен быть этот код? Т.е я так понимаю, пишем скажем на С, компилим в объектный файл(с расширением .о) и потом его дописываем в конец прог, так? Так не выйдет (теоретически конечно можно, практически мало вероятно). Берем бинарник дизассемблируем его, там же дизассемблером разбираем свой, код пишем в конец ну и затем танцы с хуками и переходами как писал Abstraction. После чего собираем новый бинарник. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2011, 08:45 |
|
||
|
Возможно ли добавить "функционал" в бинарник?
|
|||
|---|---|---|---|
|
#18+
I dont knowДень добрый, подумалось тут, а возможно ли добавить свой метод/функцию/действие... в уже скомпилированную программу, т.е есть например программа, я хочу в ней по нажатию скажем на кнопке тулбара выполнить своё действие, возможно ли? Как? И куда зашивать свой код? Т.е это может быть какой-то отдельный модуль, или можно прям в бинарник вшить свой код? Объясните на пальцах :) Да. В бинарник зашивать можно разными способами. Самое простое наверное создать новую секцию. Ну или можно изменить размер существующей. Про дизассемблирование, дописывание и ассемблирование забудь сразу. Слишком легко может всё навернуться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2011, 11:11 |
|
||
|
Возможно ли добавить "функционал" в бинарник?
|
|||
|---|---|---|---|
|
#18+
I dont knowДень добрый, подумалось тут, а возможно ли добавить свой метод/функцию/действие... в уже скомпилированную программу, т.е есть например программа, я хочу в ней по нажатию скажем на кнопке тулбара выполнить своё действие, возможно ли? Как? И куда зашивать свой код? Т.е это может быть какой-то отдельный модуль, или можно прям в бинарник вшить свой код? Объясните на пальцах :) зашить не знаю как. но если пишешь под винду, то для перехвата действий можешь использовать hook. код скомпилишь в dll-ку, и зарегистрируешь ее на необходимые события. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2011, 11:25 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=83&tid=1342892]: |
0ms |
get settings: |
5ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 345ms |

| 0 / 0 |
