Программинг Форум для тем связанных с программированием
10.03.2011, 15:57
#341
Местный
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
значит есть шанс что юзают полиморфику. Например чето меняют в коде перед его исполнением и назад после. Да тотже сплайсинг мб
Добавлено через 1 минуту
какую память? Какова модуля хоть..
__________________
читернуть бы ништяг
Последний раз редактировалось mira, 10.03.2011 в 15:57 .
Причина: Добавлено сообщение
10.03.2011, 16:01
#342
Местный
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
скорее всего только энжини палят, но это пох по двум причинам:
1. Вся память открыта для чтенья и записи уже.
2. ???
__________________
Н а ч а л о .
10.03.2011, 16:48
#343
Местный
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
согласен с обоими доводами.
__________________
читернуть бы ништяг
21.03.2011, 18:03
#344
Рыцарь
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
было так:
Код:
.text:00401000 ; int __cdecl main(int argc, const char **argv, const char **envp)
.text:00401000 _main
.text:00401000 push 0 ; uType
.text:00401002 push offset Caption ; lpCaption
.text:00401007 push offset Text ; "hello"
.text:0040100C push 0 ; hWnd
.text:0040100E call ds:MessageBoxW
.text:00401014 xor eax, eax
.text:00401016 retn
.text:00401016 _main endp
потом погромист добавляем специальный макрос который обьясняет упаковщику откуда докуда шифровать код.
становится так:
Код:
.text:00401000 ; int __cdecl main(int argc, const char **argv, const char **envp)
.text:00401000 _main proc near
.text:00401000 argc = dword ptr 4
.text:00401000 argv = dword ptr 8
.text:00401000 envp = dword ptr 0Ch
.text:00401000
.text:00401000 jmp short loc_401012
.text:00401002 db 43h, 56h, 20h, 20h, 0Ch, 0, 0, 0, 0, 0, 0, 0, 43h, 56h, 20h, 20h
.text:00401012 loc_401012:
.text:00401012 push 0 ; uType
.text:00401014 push offset Caption ; lpCaption
.text:00401019 push offset Text ; "hello"
.text:0040101E push 0 ; hWnd
.text:00401020 call ds:MessageBoxW
.text:00401026 jmp short loc_401038
.text:00401028 db 43h, 56h, 20h, 20h, 0Dh, 0, 0, 0, 0, 0, 0, 0, 43h, 56h, 20h, 20h
.text:00401038 loc_401038:
.text:00401038 xor eax, eax
.text:0040103A retn
.text:0040103A _main endp
потом код можно прогнать упаковщиком, и станет он выглядеть так:
Код:
.text:00401000 ; int __cdecl main(int argc, const char **argv, const char **envp)
.text:00401000 _main proc near
.text:00401000 argc = dword ptr 4
.text:00401000 argv = dword ptr 8
.text:00401000 envp = dword ptr 0Ch
.text:00401000
.text:00401000 jmp sub_408520 ; полетели в дебри виртуальной машины
.text:00401000 ; ------------------------------тут рандомный мусор------------------------
.text:00401005 db 33h, 5Ah, 0B0h, 90h, 0DBh, 7Eh, 0F3h, 0AAh, 0F2h, 0F7h, 0C7h, 0C4h, 0B7h, 0F0h, 1Eh, 97h
.text:00401005 db 26h, 11h, 0DEh, 33h, 0DFh, 0A9h, 0B8h, 0EAh, 20h, 0F8h, 82h, 78h, 2, 2Ah, 1Ch, 29h
.text:00401005 db 0BEh, 0EBh, 10h, 0A8h, 23h, 1Fh, 13h, 0C2h, 0B8h, 0DDh, 3Fh, 51h, 7Eh, 0A9h, 29h, 0C1h
.text:00401005 db 7Bh, 0A4h, 54h
.text:00401038 ; ---------------------------------------------------------------------------
.text:00401038 xor eax, eax
.text:0040103A retn
.text:0040103A _main endp
__________________
Шожиделать.. ботить хочется..
Последний раз редактировалось destructor, 21.03.2011 в 18:06 .
21.03.2011, 18:28
#345
Рыцарь
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
пишеш свой, понятный код, и потом начинаеш разбиратся как его ломать.
Добавлено через 23 минуты
макрос1:
Цитата:
Сообщение от
destructor
:00401000 jmp short loc_401012
.text:00401002 db 43h, 56h, 20h, 20h, 0Ch, 0, 0, 0, 0, 0, 0, 0, 43h, 56h, 20h, 20h
макрос2:
Цитата:
Сообщение от
destructor
.text:00401026 jmp short loc_401038
.text:00401028 db 43h, 56h, 20h, 20h, 0Dh, 0, 0, 0, 0, 0, 0, 0, 43h, 56h, 20h, 20h
и все что между ними надо зашифровать
__________________
Шожиделать.. ботить хочется..
Последний раз редактировалось destructor, 21.03.2011 в 18:28 .
Причина: Добавлено сообщение
21.03.2011, 18:30
#346
Местный
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
откуда взяты и почему именно такие макросы даж страшно спрашивать)
__________________
Н а ч а л о .
21.03.2011, 18:31
#347
Рыцарь
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
после шифровки, то что вне макросов остается в нормальном виде:
Цитата:
Сообщение от
destructor
.text:00401038 xor eax, eax
.text:0040103A retn
поэтому у тебя гдето нормальный код, а гдето куйпойми
__________________
Шожиделать.. ботить хочется..
21.03.2011, 18:32
#348
Местный
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
ОУ, пооооняяяяял...
---
правда общему горю это маловато поможет))
__________________
Н а ч а л о .
21.03.2011, 18:47
#349
Рыцарь
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
Цитата:
Сообщение от
supernewbie
откуда взяты и почему именно такие макросы даж страшно спрашивать)
такой набор байт придумал разрабочик защиты, и выложил в "мануалах по упаковке"
чтобы прога для шифрования могла найти участок кода, который надо шифровать.
начинается макрос с джампа, чтобы перепрыгивать этот набор байт, и неупакованная программа с вставленными макросами нормально работала.
Добавлено через 7 минут
Цитата:
Сообщение от
supernewbie
правда общему горю это маловато поможет))
частично, в пакер не любой код сворачивают,
например:
Код:
int secret()
{
#макрос_start
sleep(1);
#макрос_end
while(*b)
{
*a=*b xor key;
a++;
b++;
};
#макрос_start
sleep(2);
#макрос_end
return 0;
};
Добавлено через 4 минуты
на первый взгляд будет так:
Код:
jmp sub_408520 ; полетели в дебри виртуальной машины
; ------------------------------тут рандомный мусор------------------------
db 33h, 5Ah, 0B0h, 90h, 0DBh, 7Eh, 0F3h, 0AAh, 0F2h, 0F7h, 0C7h, 0C4h, 0B7h, 0F0h, 1Eh, 97h
db 26h, 11h, 0DEh,
//--а гдето тут читаемый код--
33h, 0DFh, 0A9h, 0B8h, 0EAh, 20h, 0F8h, 82h, 78h, 2, 2Ah, 1Ch, 29h
db 0BEh, 0EBh, 10h, 0A8h, 23h, 1Fh, 13h, 0C2h, 0B8h, 0DDh, 3Fh, 51h, 7Eh, 0A9h, 29h, 0C1h
db 7Bh, 0A4h, 54h, 33h, 5Ah, 0B0h, 90h, 0DBh, 7Eh,
//------------------------------
0F3h, 0AAh, 0F2h, 0F7h, 0C7h, 0C4h, 0B7h, 0F0h, 1Eh, 97h
db 26h, 11h, 0DEh, 33h, 0DFh, 0A9h, 0B8h, 0EAh, 20h, 0F8h, 82h, 78h, 2, 2Ah, 1Ch, 29h
db 0BEh, 0EBh, 10h, 0A8h, 23h, 1Fh, 13h, 0C2h, 0B8h, 0DDh, 3Fh, 51h, 7Eh, 0A9h, 29h, 0C1h
db 7Bh, 0A4h, 54h
---------------------------------------------------------------------------
xor eax, eax
retn
__________________
Шожиделать.. ботить хочется..
Последний раз редактировалось destructor, 21.03.2011 в 18:49 .
Причина: Добавлено сообщение
21.03.2011, 18:50
#350
Местный
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
но ида при этом нихера ж не поймет наверняка, и не покажет сама этот "где-то читаемый код" )
__________________
Н а ч а л о .
Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
Часовой пояс GMT +4, время: 11:44 .
vBulletin style designed by
MSC Team .
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод:
zCarot
Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!