Я c++ программист, реверсингом никогда особо не занимался, а тут вдруг понадобилось, поэтому просьба объяснить как можно подробнее Итак, есть dll, к которой нет исходников. Незакриптованная, IDA Pro+Hexrays спокойно ее дизассемблировали. Есть конкретное место в этой DLL, куда мне нужно вставить вызов своей функции. Как это сделать? Есть ли софт, позволяющий сделать это в "дружелюбном" режиме, не прибегая к hex редактору? а если нет, то как это грамотно сделать - куда чего вписывать??? Проблема еще в том, что это место - середина другой функции, там нет незаполненных кодом "дырок", т.е. я это понимаю так придется затирать часть кода dll и переносить его в свою функцию, или что-то вроде того
В статьях "Введение в крэкинг с нуля, используя OllyDbg - Глава 43" упоменаеться об этом. Там все описано в картинках.
В каком виде твоя функция? Если Dll, то добавь в импорт нужный фунции LoadLibrary, GetProcAddress и FreeLibrary. А дальше вписывай в свое "конкретное место" вызов функций из своей Длл
xcode Если в модуле нет самопроверок, он не самомодифицируется и тп., то подходит простой патч, если места не достаточно - расширение секций или добавление своей секции. Если модуль криптованный, самомодифицируется код, имеются проверки и тп., то наш код должен быть выполнен до начала исполнения какоголибо кода из целевого модуля. Это достигается внедрением кода в модуль(как в пред.) и изменением указателя на вход в хидере. Проще говоря пркручиваем к модулю загрузчик. Часто эффективны хардварные точки останова, так как ни одно приложение не следит должным образом за этим.