Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Заблокирован

Код в сегменте данных - вымысел или реальность?

25.03.2012, 21:55. Показов 1818. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! У меня родилась одна интересная идея и заключается она в следующем: предположим я объявлю переменную:
data segment
mem dw cd20h ;точно не помню но вроде такой код прерывания
......
;и сделаю прыжок на переменную
mov bx, offset mem
jmp [bx]
.....
Завершит ли программа работу корректно?
Протестировать не могу, компа по близости нету, поэтому обращаюсь к вам!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.03.2012, 21:55
Ответы с готовыми решениями:

Адресное пространство системы ввода/вывода, вымысел или реальность?
Простите за каламбур, но иначе вопрос звучал бы очень длинно :) Если администрация расценит заголовок вопроса как несоответствующий, с...

Тип данных MONEY в БД. Миф или реальность?
Приветствую. Встал вопрос о типе данных для хранения денег в sql server 2008. Тип money вероятно будет наилучший вариант. Я только...

Запишите код команды ADD A,0B3h если смещение ячейки с именем А размером с word в сегменте данных равно 23D3h
Запишите код команды ADD A,0B3h если смещение ячейки с именем А размером с word в сегменте данных равно 23D3h. Содержимое каких регистров...

9
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16371 / 7683 / 1080
Регистрация: 11.11.2010
Сообщений: 13,757
26.03.2012, 04:50
Искандар, завершит, это же ДОС, но вот программы написанные для исполнения под Windows (РЕ-файлы) так с собой шутить не позволят, сегмент данных только для записи и чтения, сегмент кода — только для исполнения
1
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
26.03.2012, 12:15
Можно попробовать поиграть с int 31h(DPMI). Для NE-прог получалось патчить код/данные/ресурсы через RegisterPTrace(FARPROC lpNotify); Код могу дать, но разбирайтесь с ним сами - писано ~15 лет назад.
0
Заблокирован
26.03.2012, 13:39  [ТС]
Цитата Сообщение от Charles Kludge Посмотреть сообщение
Можно попробовать поиграть с int 31h(DPMI). Для NE-прог получалось патчить код/данные/ресурсы через RegisterPTrace(FARPROC lpNotify)
если честно, вообще не понял о чем вы сказали
0
 Аватар для zzzyyyxxx
768 / 312 / 11
Регистрация: 27.05.2011
Сообщений: 703
26.03.2012, 14:00
Цитата Сообщение от Mikl___ Посмотреть сообщение
сегмент данных только для записи и чтения, сегмент кода — только для исполнения
Mikl___, я не уверен в твоих словах, как тогда работает этот код?
часть кода находится в данных..
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    .386
    .model flat, stdcall  ; 32 bit memory model
    option casemap :none  ; case sensitive
 
    include \MASM32\INCLUDE\user32.inc
    include \MASM32\INCLUDE\kernel32.inc
    includelib \MASM32\LIB\user32.lib
    includelib \MASM32\LIB\kernel32.lib
 
.data
    message     db "Hello World",0
    xxx         db 5Ah, 6Ah, 0h, 68h, 0, 30h, 40h, 0h, 68h, 0, 30h, 40h, 0, 6Ah, 0, 52h, 0C3h
.code
start:
    lea eax,xxx
    call eax
    call MessageBox
    invoke ExitProcess,0
    ret
end start
да и к тому же в сегмент кода писать можно, в статье криса касперского был пример изменения сегмента кода, саму функцию не помню(она разрешала изменять указаный в ней промежуток кода), я её проверял на XP, всё работает, да и на семёре должна тоже работать..
1
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
26.03.2012, 14:07
Гуглите:
Н.К. Зыков Недокументированные возможности Windows 3.0 и 3.1 справочник для программиста-практика
И есть ф-ции DPMI, винда поддерживает версию 0.9
0
Заблокирован
26.03.2012, 14:53  [ТС]
Цитата Сообщение от Charles Kludge Посмотреть сообщение
Гуглите
Не гуглится как-то, книгу не выдает
0
 Аватар для zzzyyyxxx
768 / 312 / 11
Регистрация: 27.05.2011
Сообщений: 703
26.03.2012, 15:01
вот, нашёл... функция - VirtualProtect (норм описание на русском, т.к. с англ сам не в ладах)

и сама статья, Криса Касперского.., если кому интересно..
Вложения
Тип файла: rar nx.uncensored.rar (243.7 Кб, 28 просмотров)
1
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
26.03.2012, 15:03
В аттаче.
Вложения
Тип файла: zip UNDOCW31.ZIP (63.9 Кб, 16 просмотров)
1
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
26.03.2012, 15:30
А здесь - реальный пример использования RegisterPTrace(); или как патчить сегменты на ходу, сразу после загрузки их в память, или как функционально руссифицировать Ventura Publisher, не нарушая авторских прав.
Вложения
Тип файла: zip vpruss.zip (7.8 Кб, 9 просмотров)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.03.2012, 15:30
Помогаю со студенческими работами здесь

Безопасность софта - правда или вымысел?
Здравствуйте. Наверняка каждый кто пользуется компьютером и интеренетом пользуется скачанным или купленным на носителях софтом. Но у...

Ft232 в качестве лог. анализатора, вымысел или реально?
Собственно суть в следующем, есть программатор на ft232 у которого разведены ножки cbus0..4 а также RxD и TxD. Цель: 1) Есть ли...

Мусор в движке реальность или миф, стоит удалить и поставить заново, или никак это не влияет
Друзья, подскажите пожалуйста, только без догадок, а те кто реально знает и понимает о чем речь! Суть такова, я сделал сайт на...

Определить адрес в сегменте данных
Здраствуйте! помогите решить такое задание, писать никаких програм не нужно: Определить адрес в сегменте данных переменной NUM на...

От чего зависит смещение в сегменте данных?
напишите пожалуйста от чего зависит смещение в сегменте данных ну или вообще смещение?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru