Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Затирание кода

10K
15 октября 2009 года
palevo060
144 / / 05.09.2009
Доброго времени суток. Хотелось бы узнать на счет такой программки, как вот сдесь в низу. Она затирает код int 20h и ставит на его место 9090h( nop nop) и продолжает выполнять код.

Код:
CSEG segment
 assume cs:CSEG, es:CSEG, ds:CSEG, ss:CSEG
 org 100h
 Begin:
 mov sp,offset Lab_1
 mov ax,9090h
 push ax
 int 20h
 Lab_1:
 mov ah,9
 mov dx,offset Mess
 int 21h
 mov ax,1h
 int 16h
 int 20h
 Mess db 'This wery good!$'
 CSEG ends
end Begin



Теперь вопрос почему тотже трюк не выходит под WinApi

Код:
.386
.model flat,stdcall
option casemap:none

include \masm32\include\windows.inc
include \masm32\include\Kernel32.inc
includelib \masm32\lib\Kernel32.lib
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib


.DATA
MessageGood db 'Получилось',0
.CODE
start:
 mov esp,offset Lab_1
 mov eax,90909090h
 push eax
 nop
invoke ExitProcess,0
 Lab_1:
invoke MessageBox,0,addr MessageGood,addr MessageGood,MB_OK
invoke ExitProcess,0
END start
260
15 октября 2009 года
Ramon
1.1K / / 16.08.2003
И бедная программка падает с акцесс виолейшеном? А это чтобы не расслаблялись ибо страничной защиты никто не отменял.
18K
15 октября 2009 года
logree
102 / / 27.09.2008
Я пытался написать внятное пояснение но вовремя остановился... тк много получается, в общем:
Одно дело com программа, другое exe;
То Dos, а это windos;



Не зря же windows работает в ЗАЩИЩЁННОМ режиме:)
52K
15 октября 2009 года
Goodwin98
9 / / 14.10.2009
Кстати а как изменить аттрибуты страницы?
5
15 октября 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: Goodwin98
Кстати а как изменить аттрибуты страницы?


Открыть интеловские маны, правда, телодвижения осуществлять придется из нулевого кольца.

10K
15 октября 2009 года
palevo060
144 / / 05.09.2009
Все я разобрался. Делается это так Добавляем строку при линковке /SECTION:.text,RWE

Пример:
D:\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH: D:\masm32\controls\lib /SECTION:.text,RWE windows.obj
260
15 октября 2009 года
Ramon
1.1K / / 16.08.2003
Цитата: hardcase
Открыть интеловские маны, правда, это делать придется из нулевого кольца.


No Comments

52K
16 октября 2009 года
Goodwin98
9 / / 14.10.2009
Цитата: palevo060
Все я разобрался. Делается это так



Так не интересно :)

Цитата:
No Comments


спасибо )

7
16 октября 2009 года
@pixo $oft
3.4K / / 20.09.2006
Ды вот именно–чем использовать функции(и,соответственно,писать лишний код),лучше сразу задать атрибуты секций.Я всегда так делаю:)
А вообще,самомодификация–дело неблагодарное:того гляди,антивирус заверещит:)
52K
16 октября 2009 года
Goodwin98
9 / / 14.10.2009
Такой код пишут чаще для того чтобы помучать того, кто будет в этом коде ковыряться отладчиком. А такой игрой с атрибутами его можно помучить еще сильнее :)
7
16 октября 2009 года
@pixo $oft
3.4K / / 20.09.2006
Это почему же "чтоб помучать"?Я,например,писал так для того,чтоб была только 1 секция–кода.Ну и память при этом экономилась %D
349
16 октября 2009 года
Phantom-84
656 / / 27.10.2005
Цитата:
No Comments

:)
Улыбнуло именно "ноу сомментс". Хотел написать "см. VirtualProtect", но потом увидел, что это и есть линк на MSDN.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог