169 похожих чатов

А вот слышал, что под дос практиковался самоизменяющийся код а

подвиндовс это не реализуемо, правда ли это? Можно ведь напихать каких то комманд в секцию data по идее и сделать секцию code writable и потом туда копировать скажем строку из data потом джампиться на нее потом снова туда же копировать, снова джампиться как то так ведь и под виндой можно?

19 ответов

7 просмотров

думаю из самой работающей программы ищзменить тип секции нельщзя (ОС не даст), а вот пропатчить внешне изменив тип секции можно

Как ты представляешь себе "копирование команды"? Как ты собираешься парсить из кучи байтов - команды? Был mov eax, 1 Ты скопировал его, прыгнул, скопировал, и затёр eax, потом скопировал cmp, прыгнул, а в EAX уже другое. Аналог понял? Придётся сохранять регистры, но ещё не факт, что это всё нормально сработается: mov eax, [esp+4] ; т.к до этого ты сохранил регистр, там уже другое смещение

Den-Fomin Автор вопроса
Den-Fomin Автор вопроса
Aiwan \ (•◡•) / _bot
ставь секции как хочешь

Да я тут думаю об алгоритме шифрования какого нить динамического, тут обсуждали как то, интересно попробовать типа защитить свою интеллектуальную собственность типа код будет в дате поксорен, а потом будет построчно в code выниматься и исполняться возможно ли такое под виндой

Den Fomin
Да я тут думаю об алгоритме шифрования какого нить...

Интерпретаторы же работают, значит можно.

Alexander Morozov
Интерпретаторы же работают, значит можно.

Интерпретатор работает не копируя по команде в память))

Den-Fomin Автор вопроса
Entusiast
Как ты представляешь себе "копирование команды"? К...

скажем сделать так в '.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 то такое грубо говоря

Den Fomin
скажем сделать так в '.data' '.data' content01 db ...

а мож в data сращу записать mov... тогда нужные байты уже будут там лежать

Den-Fomin Автор вопроса
Aiwan \ (•◡•) / _bot
а мож в data сращу записать mov... тогда нужные б...

ну типа это уже минимальное шифрование, не каждый же догадается что код в ascii записан :)

Den Fomin
ну типа это уже минимальное шифрование, не каждый ...

в отладке посмотреть и там булет твоя строка

Den-Fomin Автор вопроса
Aiwan \ (•◡•) / _bot
в отладке посмотреть и там булет твоя строка

ну это да ну надо что то похитрее придумать , просто сам факт можно так или нет?

https://vx-underground.org/papers.html -> Self-modifying Code

Den-Fomin Автор вопроса
Rusty Shackleford
https://vx-underground.org/papers.html -> Self-mod...

спасиб, :) прикольно там текстом картинка нарисована кстати

Что под DOS, что без DOS, что под Windows, или ещё где... Делай со своим кодом что хочешь: можешь написать код, часть которого шифрованная. После её дешифрации можешь передать ей управление. И всё это прямо в секции с кодом или где тебе удобно. Всё в твоих руках.

Den-Fomin Автор вопроса
Saenro
Что под DOS, что без DOS, что под Windows, или ещё...

Благодарю, вы как всегда на позитиве! :)

Den Fomin
скажем сделать так в '.data' '.data' content01 db ...

И ты собираешься разбивать миллион строк кода на contentX? И столько же миллион раз расшифровывать?

Den-Fomin Автор вопроса
Entusiast
И ты собираешься разбивать миллион строк кода на c...

ну как один из вариантов, для небольшой программы!

Похожие вопросы

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
50
у меня такой вопрос про память в x86 возник, может кто пояснить?.. у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше)...
Toideng
5
у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше): - "п1" --- виртуальный адрес, то есть тот, который ресолвится в "п...
Toideng
3
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Hello, I need a hand, this is my code: body: ExtendedImageGesturePageView.builder( scrollDirection: Axis.vertical, controller: _pageController, itemCou...
𝘞𝘦𝘢𝘳𝘪𝘯𝘨𝘔𝘦𝘥𝘢𝘭 🦋
1
Guy, how to make redirecting to a page like this when http status 401?
Islam Kurbanov
8
Только что в чате Я.Вебмастера потратил я час на пустые споры с каким-то челом. Он с пеной у рта доказывал мне, что любой "самопис" - дерьмо, что у него дыры в безопасности, ...
Андрей [aharito] Харитонов
2
можно эстетический вопрос? у меня есть кучка мелких-мелких функций типа: function AddInteger(aparent:pointer; aname:PWideChar; aval:Int32):pointer; begin result:=AddNode(apa...
Alexey Kulakov
2
why html and css is not standard? i mean why different browser has their own engine and styles and how them work to show result to end user?
Mr Thieves
11
Добрый день. Хочу сделать отрисовку по команде на панели. Почему-то рисуется только при втором вызове. С чем может быть связано, не подскажете? procedure TForm1.FormDblClick(...
Kirill Filippenok
20
Карта сайта