подвиндовс это не реализуемо, правда ли это? Можно ведь напихать каких то комманд в секцию data по идее и сделать секцию code writable и потом туда копировать скажем строку из data потом джампиться на нее потом снова туда же копировать, снова джампиться как то так ведь и под виндой можно?
думаю из самой работающей программы ищзменить тип секции нельщзя (ОС не даст), а вот пропатчить внешне изменив тип секции можно
Как ты представляешь себе "копирование команды"? Как ты собираешься парсить из кучи байтов - команды? Был mov eax, 1 Ты скопировал его, прыгнул, скопировал, и затёр eax, потом скопировал cmp, прыгнул, а в EAX уже другое. Аналог понял? Придётся сохранять регистры, но ещё не факт, что это всё нормально сработается: mov eax, [esp+4] ; т.к до этого ты сохранил регистр, там уже другое смещение
не я имею ввиду при создании своей программы
ставь секции как хочешь
Да я тут думаю об алгоритме шифрования какого нить динамического, тут обсуждали как то, интересно попробовать типа защитить свою интеллектуальную собственность типа код будет в дате поксорен, а потом будет построчно в code выниматься и исполняться возможно ли такое под виндой
Да. Просто Расксорить код - легко...
Интерпретаторы же работают, значит можно.
Интерпретатор работает не копируя по команде в память))
скажем сделать так в '.data' '.data' content01 db 'add eax, ebx',0 это запишется в ascii в дате, потом в коде пишем: '.code' mov esi, content01 mov edi, .code.addr copy: lodsb sub al, 30 stosb or al,al jne copy jmp .code.addr ... .code.addr ;исполняется jmp copy ... чe то такое грубо говоря
а мож в data сращу записать mov... тогда нужные байты уже будут там лежать
ну типа это уже минимальное шифрование, не каждый же догадается что код в ascii записан :)
в отладке посмотреть и там булет твоя строка
ну это да ну надо что то похитрее придумать , просто сам факт можно так или нет?
https://vx-underground.org/papers.html -> Self-modifying Code
спасиб, :) прикольно там текстом картинка нарисована кстати
Что под DOS, что без DOS, что под Windows, или ещё где... Делай со своим кодом что хочешь: можешь написать код, часть которого шифрованная. После её дешифрации можешь передать ей управление. И всё это прямо в секции с кодом или где тебе удобно. Всё в твоих руках.
Благодарю, вы как всегда на позитиве! :)
И ты собираешься разбивать миллион строк кода на contentX? И столько же миллион раз расшифровывать?
ну как один из вариантов, для небольшой программы!
Обсуждают сегодня