.dynamic |
[Oct. 9th, 2008|07:27 pm] |
К 32-м нулям в .dynamic зарезервированым для prelink можно ещё добавить DT_INIT/DT_FINI (в экзешках линкер игнорирует эти таги, а в библиотеках их можно использовать, как точку входа). А можно не убивать, а заменить на DT_FLAGS со значением DF_BIND_NOW, после чего можно грохнуть команды (push .../jmp _plt) в .plt и получить 16 + <number of .plt entries>*10 байт. Можно связать освобождённое таким образом место при помощи «EB 06». И следить за тем, чтобы в собственном коде не было инструкций длинее 8 байт.
( Где-то так... ) |
|
|