Снял конверт с Guardant Stealth II, в общем-то при наличии ключа всё тривиально: дамп, восстановление импорта и запуск. Судя по логу, обращение к ключу происходит только при старте, проверяется его наличие. Однако в процессе вызова одной нужной функции из сдампленного exe получаю такое исключение: Stack [0012EB14]=77C114BC (msvcrt.77C114BC), ASCII "Access violation - no RTTI data!" ESI=0012EBA8 Которое ловится стандартным сишным обработчиком программы и пользователю выводится левый MsgBox "Нет места на диске!". Подскажите, что я делаю не так и отчего может возникать эта ошибка? msvcrt в испорте, естесственно есть и все функции из неё зарезолвлены.
Вот и пропатчь в отладчике без распаковки, то и есть на оригинальном(разумеется тот который от разработчиков)... Если работает, значит распаковал не удачно... Может лучше онлайн патчинг? А может и правда нету места?
seniour_juggler Novex envelope killer 1.41 от infern0 говорит, что 4.46 assasincore А что там патчить? Ф-ю InitPropApp из novex32.dll или написать лоадер, который перехватывает DeviceIOControl? Места на диске есть, оригинальный exe с ключем работает к тому же.
Скорее всего в этом проблема - конверт тот снимается несложно. Патчить в конверте ничего не надо, а вот в оригинальном exe может и придется. А вообще, это гадание на кофейной гуще. Приложение в студию.
Снимал конверт так, как описано здесь: http://www.hackersrussia.org/forum/showthread.php?t=39 С виду всё нормально было и работало, пока не наступил на грабли, описанные выше. Где ещё можно почитать, как грамотно снять конверт? Например, руками с помощью OllyDbg. Пока решил проблему так, может кому-то пригодится: При старте программы она 4 раза обращается к ключу с помощью _lopen('\\.\NVKEYNT', ...), _hread(...) 3 раза возвращаются одинаковые данные, а один раз разные, потому что перед чтением идёт вызов GetLocalTime. Сдампил все возвращаемые значения, написал лоадер с перехватом вышеописанных функций и подсовываю одни и теже валидные значения. Недостаток только в том, что на машину придётся всё равно ставить хасповские драйвера и прога стартует не так быстро, как без конверта.
М-да... понял свою ошибку, технология с дампом будет работать только на одной машине, чтобы работало на другой нужно дампить ответы и там. seniour_juggler Написал PM с линком на прогу.
Имею проблему описанную GroundHog. Конверт снимал ручками через OllyDbg и PETools. Софтина запускается (без ключа) работает все кроме функций ради которых она собсна и нужна. Так же как и у GroundHog пишет, что не хватает места на диске. Подскажите как найти и пропатчить.
AlexLain Вот цитата переписки с человеком, который помог: Функция можно легко найти по кроссрефу на GetDiskFreeSpaceExA
AlexLainAlexLain!не сбросишишь екзешник winпос который ты взломал?очень надо!box2442 собака rambler.ru
GetDiskFreeSpaceExA не отрабатывает, потому что конверт снят уже. Столько постов по поводу конверта 10-и летней давности и одного вызова в последнюю секцию из пользовательского кода
Хотел сказать, что задача очень несложная - достаточно было поставить точку останова на последнюю секцию и посмотреть что там происходит. Мы с коллегами очень мило поглумились над всем этим делом, когда увидели что ты прислал Сделав соответствующие выводы, мы связались с НПП "Мера", предложив им полноценно использовать возможности Gurdant-овского донгла. Еще требуются какие-нибудь объяснения, почему тебе не стали патчить приложение люди, которые работали и дружили с теми, кто этот конверт 10 лет назад создавал?
Это отлично Вас характеризует, что скажешь - сначала предложить помощь, а потом искать свою выгоду. Ну, и конечно, да - в интернете все смелые и глумливые Можете не отвечать, диалог с Вами больше не интересен. P.S. Ну и для чистоплюеев, WinPos у меня купленный, по закону что хочу с конвертом, то и делаю, для "обеспечения совместимости с собственным ПО".