|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.05.2015, 20:49 | #1 |
Регистрация: 22.05.2012
Сообщений: 8
|
расшифрование кода во время исполнения
Доброго времени суток. Имеется следующий код:
Код:
Последний раз редактировалось Stilet; 10.05.2015 в 21:01. |
10.05.2015, 21:02 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
Цитата:
I'm learning to live...
|
|
10.05.2015, 21:50 | #3 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,493
|
И еще - читаете в buffer а пишете - &buffer
|
10.05.2015, 21:54 | #4 |
Регистрация: 22.05.2012
Сообщений: 8
|
Каким образом возможно исправить?
|
10.05.2015, 21:54 | #5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
А, кстати. Еще одна ошибка: Функции WinAPI возвращают результат. Твоя программа их не обрабатывает (результат в смысле), а стоило бы. Стоило бы получать код ошибки с помошью GetLastError() чтоб знать какая функция и в чем затык.
Цитата:
Да и зачем делать такое? Смысл сего криптования?
I'm learning to live...
|
|
10.05.2015, 21:58 | #6 |
Регистрация: 22.05.2012
Сообщений: 8
|
понял, спасибо. я хотел таким образом скрыть функцию, проводящую аутенфикацию.
|
11.05.2015, 06:50 | #7 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
Это слабая защита. Так поступают пакеры, но криптуют посерьезнее. Тем не менее после раскриптовки функция как на ладони, и если иметь терпение можно и ее тело получить.
Вообще смотря что за аутентификация и для чего все же можно написать защиту попроще и поэффективнее. Но не криптованием части кода.
I'm learning to live...
|
11.05.2015, 16:58 | #8 |
Регистрация: 22.05.2012
Сообщений: 8
|
можешь что-нибудь посоветовать?
|
11.05.2015, 17:00 | #9 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
Посоветовать в плане защиты?
Расскажи тогда что и от чего защищаешь. Есть ли доступ к сети. Какие затраты на защиту планируются. Ну короче подробности. Иначе любой протектор бери и не парься сочинениями )
I'm learning to live...
|
12.05.2015, 19:40 | #10 | |
xor esp, esp
Форумчанин
Регистрация: 11.02.2014
Сообщений: 135
|
Ваще не понял че ты делаешь. Если ты расшифровываешь функцию, то ее адрес можно получать через &, например: &Func где Func какая-то функция. В OllyDbg ты получишь адрес в памяти процесса ( а.л.я ImageBase + VirtualAddress ), в VisualStudio по умолчанию ImageBase рандомный при каждой новой загрузке модуля твоего приложения в память, аля ASLR.
Что ты неправильно делаешь? А начать с того, что только... ладно, лучше промолчу: HANDLE hProc = OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_WRITE | PROCESS_VM_READ,TRUE,GetCurrentProc essId()); Замени на HANDLE hProc = GetCurrentProcess(); или HANDLE hProc = (HANDLE)-1; Про остальное вроде-бы сказали. P.S. buffer[i] ^= 1; эммм, xor'ить с ключем 1, как бэ нэт смысла, мэн. ReadProcessMemory...WriteProcessMem ory... facepalm *(LPBYTE)((DWORD)&Buffer[0] + i) ^= 10; Если на то пошло, то че за пи... Короче: BYTE buffer[19]; ReadProcessMemory(GetCurrentProcess (), (LPVOID)0x00411648, buffer, sizeof(buffer), 0); Но так делать нельзя. Твой код можно переписать в три строчки кода. Конец. P.S. Не забудь, что код имеет атрибуты доступа PAGE_EXECUTE_READ, а тебе надо с помощью VirtualProtect сделать PAGE_EXECUTE_READWRITE, а то вылетит эксепшн. Если ты, конечно, расшифровываешь все-таки функцию, а не что-то другое, в .data секции, вредоносное =)) Цитата:
Код:
Ну и все, вангую удивление реверсера, который при попытки дизассемблировать подгружаемую dll получит сообщение о невалидности файла, однако LoadLibraryA из kernel32.dll будет успешно ее грузить, он подумает - магия. Ведь по его мнению, никаких манипуляций с dll'кой не происходит Но проблема, что с таким кодом ты вряд ли реализуешь выше-сказанное. Всем мир, слава роботом, истребить всех человеков, ура! Последний раз редактировалось Malriser; 12.05.2015 в 19:56. |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как добавить время исполнения операций в моём коде ? | ion leahu | Помощь студентам | 11 | 28.11.2014 17:19 |
Здравствуйте ! в чем проблема,почему почему время исполнения операций не работает ? | ion leahu | Помощь студентам | 6 | 23.11.2014 19:36 |
Создание во время исполнения | xakkkkker | Общие вопросы Delphi | 0 | 20.05.2010 17:46 |
Алгоритм АЕS шифрование, расшифрование | max38934 | Win Api | 11 | 27.05.2009 22:42 |
С++ Builder Изменение размеров компонентов на форме во время исполнения программы | Bair | C++ Builder | 3 | 18.12.2008 13:43 |