Имя: Пароль:
1C
1С v8
Вопрос разработчикам алгоритмов защиты.
0 _r2003
 
04.08.12
12:01
То что и и или операторы перехода используется?
1 ДенисЧ
 
04.08.12
12:02
Чо?
2 aleks-id
 
04.08.12
12:03
(0) на тебе ",,,,,,,". не жадничай, рассыпь как полагается. если не хватит, то я тебе еще дам
3 Ksandr
 
04.08.12
12:14
The fact that and and or operators using the transition
4 Ksandr
 
04.08.12
12:15
Похоже разработчики алгоритмов защиты настолько телепаты что и и или переходы то операторы используются
5 VladZ
 
04.08.12
12:17
(4) Ты все напутал... Не "что и и", а "то что и и или". Это важно!
6 Ksandr
 
04.08.12
12:19
+ (2) или отсыпь, не жадничай :)
7 Voronve
 
04.08.12
12:29
(0) Ты не поверишь, иногда используется:
mov eax, offset Метка1
push eax
ret
8 aleks-id
 
04.08.12
12:35
(7) изврат в первой строке. так явно делают только первоклассники. профи вычисляют динамически, с использованием данных текущего куска программы, что затрудняет отладку.
9 aleks-id
 
04.08.12
12:37
я вообще делал - лез в недоступную на 3 кольце память. под отладчиком прокатывало а при выполнении в среде перехватывал экцепшн и в нем расшифровывал участок кода.
10 Voronve
 
04.08.12
13:03
(8) В качестве примера сойдет.
11 dmpl
 
04.08.12
13:25
(7) На современных процессорах это сильно просадит производительность.
12 dmpl
 
04.08.12
13:28
(9) Это отлично отлавливается time-sample профайлером. Плюс любой более-менее опытный программист-ассембрелщик отличит незашифрованный x86 код от защифрованного. Ну а далее - точка останова в конце расшифровки - и готово.
13 Voronve
 
04.08.12
13:29
(11) Не сильно. Конвеер все равно перезагрузится, что скрытый что явный jmp. Падение производительности будет только при кэш-промахе.
14 dmpl
 
04.08.12
13:37
(13) Собьется стэк call/ret, а это промахи при каждом более высоком уровне call и ret, плюс не сработает store-to-load forward, что еще тактов 20 накинет, плюс будет гарантированный кеш-промах при возврате, потому как предсказатель возьмет адрес из стэка call/ret, плюс за адресом возврата в кеш придется лезть.