Сейчас на форуме: asfa (+6 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Как поставить заглушку на завершение работы программы |
Посл.ответ | Сообщение |
|
Создано: 23 мая 2010 01:01 · Личное сообщение · #1 |
|
Создано: 23 мая 2010 04:44 · Личное сообщение · #2 e53 пишет: заглушке на exit. Как понять? Есть другая идея или алгоритм. - Распаковываем; - Записываем куда-нибудь, также изменяем указатель на точку входа (если нужно); - Запускаем (CreateProcess); - Потом ждем пока программа выполняется (кажется WaitForSingleObject (hProccess, INFINITE); - Делаем все остальное; В инете уже был какой-то криптер, который делает тоже самое (но не ждет завершения). По примеру распаковки думаю будет понятно как оно работает. www.4shared.com/file/18076073/efbc883d/UnpackingCelsiusCrypt2English.html ![]() |
|
Создано: 23 мая 2010 08:20 · Личное сообщение · #3 |
|
Создано: 23 мая 2010 10:22 · Личное сообщение · #4 |
|
Создано: 23 мая 2010 10:29 · Личное сообщение · #5 |
|
Создано: 23 мая 2010 11:33 · Личное сообщение · #6 |
|
Создано: 23 мая 2010 12:22 · Личное сообщение · #7 |
|
Создано: 24 мая 2010 01:35 · Личное сообщение · #8 |
|
Создано: 24 мая 2010 03:23 · Личное сообщение · #9 e53 пишет: Во время обработки таблицы импорта нужно для ф-ций типа ExitProcess, exit и пр. подставить адрес своей функции, которая будет это отрабатывать. Решение не универсальное. Например для этого крякми www.crackmes.de/users/little_brother/key4lilbro_1/ (написан на VB). Там я не нашел ничего про ExitProcess. ![]() |
|
Создано: 24 мая 2010 18:03 · Личное сообщение · #10 |
|
Создано: 24 мая 2010 19:36 · Личное сообщение · #11 Archer Слух. Вы явно не понимаете. Что клерк не читает или не то пишет вы заблуждаетесь. Вы слишком грубы, даже я так не пишу. Это можно было написать комуто иному, но не мне. То что вы сейчас пытаетесь понять и то что вам предстоит узнать из области ядра и далее я знаю досконально, незачем мне чтото упоминать про юзермод, вы так скажем есчо не доросли чтобы спорить со мной и подобными. Про разрушение стека, дебугпорты и пр. - незачем мне меняже цитировать и обьяснять примитивные вещи. Ктото может вас рассматривать как весьма шарящего, для меняже вы не особо продвинуты в подобных вопросах. Это в качестве демотиватора вам. Сосредоточтесь и почитайте вопрос есчо раз. Автору не нужно обрабатывать всякие крэши для изоляции своих потоков. ![]() |
|
Создано: 24 мая 2010 20:06 · Личное сообщение · #12 Прочитал вопрос ещё раз: автор пишет пакер. Поскольку 99% пакеров с 1 процессом, делаю предположение, что процесс один. Поскольку 99% пакеров без дрова и юзаются юзермодные апи, делаю предположение, что это чисто юзермод. Автору надо получить управление после отработки упакованного приложения, что не исключает возможности получения управления при фолтах (например, удалять временные файлы надо в этом случае тоже). Я утверждаю, что в общем случае этого не получится и привёл примеры таких случаев. Что я прочитал не так, я хз. Остальное пропущу, ибо вырос из того возраста, когда меряются достоин-не достоин. З.Ы. Что интересно, автор почему-то молчит на эту тему, что конкретно ему надо и зачем. ![]() |
|
Создано: 24 мая 2010 20:21 · Поправил: Clerk · Личное сообщение · #13 Archer > не исключает возможности получения управления при фолтах ну так мб нужно есчо багчеки в ядре отслеживать ![]() Фоллты могут возникать везде в любой момент при необычных ситуациях, например изза косяков в нижележащем софте. Это никто не учитывает. > Я утверждаю, что в общем случае этого не получится и привёл примеры таких случаев. Вы пишите бред, согласитесь. ![]() |
|
Создано: 24 мая 2010 20:27 · Личное сообщение · #14 Я соглашусь, что фолты могут быть везде, в том числе и в упакованном приложении. Всё зависит от задачи. Если в конверте, например, он создаёт временные файлы, которые потом хочет удалить, то задача носит характер: получить управление после любого завершения упакованного приложения. Пока автор не озвучит цель, которую он хочет достичь, обсуждение смысла не имеет. ![]() |
|
Создано: 24 мая 2010 20:30 · Поправил: Clerk · Личное сообщение · #15 Archer Имеет смысл. Не рассматриваю патч кодосекций как жизнеспособное решение. Нормальное решение я описал в #5. Касательно ошибок - не зависимо от задачи, фолты софт не учитывает. Всякие ошибки ловятся через VEH, подобные разрушению стека - это фолты и по определению они не могут быть обработаны(ут. задача должна быть прибита вот). ![]() |
|
Создано: 25 мая 2010 15:55 · Личное сообщение · #16 Наверное, мне сразу нужно было написать, что я хочу, что бы не было таких споров. Работаю с юзермоде исключительно. Я хотел просто получить управление после того, как программа отработает и вывести в лог, что программа отработала нормально. Но, судя по комментариям, возможна масса вариантов, за разруливание которых мне браться пока рано. ![]() |
|
Создано: 25 мая 2010 19:51 · Личное сообщение · #17 |
|
Создано: 25 мая 2010 21:26 · Личное сообщение · #18 |
![]() |
eXeL@B —› Вопросы новичков —› Как поставить заглушку на завершение работы программы |
Эта тема закрыта. Ответы больше не принимаются. |