Периодически вылетает программа после обфускации

Issues related to VMProtect
Nalik
Posts: 36
Joined: Mon Jan 20, 2020 8:01 pm

Периодически вылетает программа после обфускации

Postby Nalik » Thu Apr 16, 2020 8:12 pm

После обфускации периодически вылетает программы.
Написана на c#.
Журнал событий фиксирует такую ошибку.
Имя сбойного приложения: XXXXX.exe, версия: 1.6.0.0, метка времени: 0x5e96d23d
Имя сбойного модуля: clr.dll, версия: 4.8.4121.0, метка времени: 0x5deace54
Код исключения: 0xc0000409
Смещение ошибки: 0x0060c9a8
Идентификатор сбойного процесса: 0x1df0
Время запуска сбойного приложения: 0x01d61423f68a4cb1
Путь сбойного приложения: D:\Programs\XXXX\XXXX.exe
Путь сбойного модуля: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Идентификатор отчета: 81fd89ca-5e81-4c63-a21b-9ea010e25a55
Полное имя сбойного пакета:
Код приложения, связанного со сбойным пакетом:


Без обфускации вылетов нет.
К сожалению закономерности вылетов определить не смог. Она проявляется как-будто спонтанно. При одном и том же действии может появится, а может нет.

Nalik
Posts: 36
Joined: Mon Jan 20, 2020 8:01 pm

Re: Периодически вылетает программа после обфускации

Postby Nalik » Thu Apr 16, 2020 8:14 pm

Вылетает без каких-либо ошибок. Просто закрывается программа и все. В программе есть логирование try catch, но оно не фиксирует ошибок. Ошибки видны только в журнале windows. Обфускатор использую для нескольких критических функций, только виртуализацию.

Nalik
Posts: 36
Joined: Mon Jan 20, 2020 8:01 pm

Re: Периодически вылетает программа после обфускации

Postby Nalik » Thu Apr 16, 2020 8:27 pm

На паре форумах вычитал, что это чаще всего ошибка переполнения стека вызванная рекурсией или чем-то подобным.
Вот пример ссылки: линк1 линк2

Возможно в обфускаторе используются какие-то защитные механизмы вызывающие переполнение стека и нужно это подправить?)

Nalik
Posts: 36
Joined: Mon Jan 20, 2020 8:01 pm

Re: Периодически вылетает программа после обфускации

Postby Nalik » Sat Apr 18, 2020 9:36 pm

Есть ли какие-нибудь рекомендации, что мне делать?
Как мне посодействовать в поиске проблемы?

Nalik
Posts: 36
Joined: Mon Jan 20, 2020 8:01 pm

Re: Периодически вылетает программа после обфускации

Postby Nalik » Wed Jul 22, 2020 1:56 pm

Спустя 3 месяца проблема актуальна.

Admin
Site Admin
Posts: 2021
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Периодически вылетает программа после обфускации

Postby Admin » Thu Jul 23, 2020 6:14 am

Крешдамп пришлете?

JackGrenness
Posts: 10
Joined: Wed Jan 16, 2019 10:54 am

Re: Периодически вылетает программа после обфускации

Postby JackGrenness » Thu Aug 27, 2020 9:16 am

не считаю это недоработкой, т.к. обычно сам компилятор (visual studio) пишет предупреждение если стек функции больше чем 16384 kB

Например краш будет возникать у вас при следующем коде в фунции (после vmprotect), если эта функция периодически будет вызываться в коде:

char buffer[100000] = {0};

фиксится так:

char* buffer = (char*)malloc(100000);
..
free(buffer );

Admin
Site Admin
Posts: 2021
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Периодически вылетает программа после обфускации

Postby Admin » Fri Sep 04, 2020 10:17 am

не считаю это недоработкой, т.к. обычно сам компилятор (visual studio) пишет предупреждение если стек функции больше чем 16384 kB

Вы сейчас говорите про С/С++, а в топике идет речь идет про .NET приложение, написанное на C#.