Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
savak
2 / 2 / 0
Регистрация: 28.03.2009
Сообщений: 61
#1

Ассемблерские вставки. - C++

28.03.2009, 16:47. Просмотров 1749. Ответов 10
Метки нет (Все метки)

Код
void main(void)
{
__asm 
{
mov   ah,2h
mov	  al,'A'
xor   bx,bx
int   10h
}
}
В чем проблема такого кода? В отладчике ему не нравится прерывание. Не могу понять почему! И если так нельзя, то как с помощью ассемблеровских вставок можно вывести символ на екран без подключения различных библиотек!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2009, 16:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ассемблерские вставки. (C++):

Ассемблерные вставки - C++
Будут ли у меня проблемы, если я, поработав с регистрами, не восстановлю их после выхода из вставки? Если проблем не будет, то их не будет...

Ассеблерные вставки в C++ - C++
Потребовалось написать простенький, по идее код, в котором замерялось бы количество тактов процессора, затрачиваемых на определенный...

Метод вставки - C++
#include "stdafx.h" #include <iostream> using namespace std; int main() { const int n = 10; int a; int key = 0, j = 0; ...

Ассемблерные вставки в C++ - C++
Собственно сабж ...: Имею следующий код : short Carry = 2; unsigned short Mas; Mas = 12; Mas = 13; Mas = 14; Пытаюсь , в...

Ассемблеровские вставки в C++ - C++
Подскажите, пожалуйста, как в таких вставках в C++ сделтаь массив чисел (или строк) везде написано одно и то же, вот как здесь...

Ассемблеровские вставки - C++
Пользуюсь на C++ ассемблеровскими вставками, как на assembler хранить число типа double (8 байт), если регистры вмещают по 4 байта.

10
Mecid
680 / 229 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
28.03.2009, 17:03 #2
прерывания юзать незя на уровне ring-3
токо АПИ вызовы
0
savak
2 / 2 / 0
Регистрация: 28.03.2009
Сообщений: 61
28.03.2009, 17:06  [ТС] #3
А это можно как-то обойти? Перейти на 0-е кольцо никак нельзя?
0
Mecid
680 / 229 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
28.03.2009, 17:10 #4
можно но это целое дело

Добавлено через 45 секунд
юзай апи
0
savak
2 / 2 / 0
Регистрация: 28.03.2009
Сообщений: 61
28.03.2009, 17:14  [ТС] #5
ЭЭЭ. Ну вобщем у меня задание. Необходимо написать элементарный вирус, который до вывода программы выводит символ или строку, неважно. С точкой входа я разобрался. А где взять тело вируса. Как вывести строку, чтоб потом можно было вставить код в инфицируемый файл?
0
Mecid
680 / 229 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
28.03.2009, 17:16 #6
погоди это у вас задание такое вирь писать???это что школа вирусмейкеров?
лан ты расскажи по подробнее что за задание
0
Vladiator
1567 / 637 / 25
Регистрация: 24.02.2009
Сообщений: 9,269
28.03.2009, 17:18 #7
Цитата Сообщение от Mecid Посмотреть сообщение
погоди это у вас задание такое вирь писать???это что школа вирусмейкеров?

А чё, можно такое создать
0
savak
2 / 2 / 0
Регистрация: 28.03.2009
Сообщений: 61
28.03.2009, 17:23  [ТС] #8
Дана консольная программа. Мне нужно написать программу которая считает с PE заголовка точку входа, поменяет её. Взять откуда то код вывода строки или какого либо символа, что я не совсем понимаю как сделать. Скопировать этот код в инфицируемый ексе файл. и в конце поменять точку входа обратно на бывшую. То есть в результате при запуске инфицируемой программы сначало должно напечататся какая либо строка, а потом само тело программы выполнится.
0
Mecid
680 / 229 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
28.03.2009, 17:26 #9
Цитата Сообщение от Kidalvь Посмотреть сообщение

А чё, можно такое создать
vx.netlux.org чтото вроде этого

Добавлено через 2 минуты 21 секунду
Цитата Сообщение от savak Посмотреть сообщение
Дана консольная программа. Мне нужно написать программу которая считает с PE заголовка точку входа, поменяет её. Взять откуда то код вывода строки или какого либо символа, что я не совсем понимаю как сделать. Скопировать этот код в инфицируемый ексе файл. и в конце поменять точку входа обратно на бывшую. То есть в результате при запуске инфицируемой программы сначало должно напечататся какая либо строка, а потом само тело программы выполнится.
да это полноценное написание виря,как раз эта ссылка те поможет,там есть сорсы вирей
1
Vladiator
1567 / 637 / 25
Регистрация: 24.02.2009
Сообщений: 9,269
28.03.2009, 17:29 #10
Цитата Сообщение от Mecid Посмотреть сообщение
как раз эта ссылка
Это текст, вот ссылка.
0
savak
2 / 2 / 0
Регистрация: 28.03.2009
Сообщений: 61
28.03.2009, 17:41  [ТС] #11
Спасибо ща посмотрю.
0
28.03.2009, 17:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2009, 17:41
Привет! Вот еще темы с ответами:

бинарные вставки - C++
укажите на ошибку пожалуйста! stroka1=stroka2; for (h=1;h<=k;h++) { if (stroka1>=stroka2) R=h; else { ...

Метод вставки - C++
Расположение массива в порядке убывания методом вставки!!! Как это? Я просто саму задачу не понимаю, решить, думаю, смогу??? По убыванию...

Асемблерные вставки - C++
Здравствуйте! Можете посоветовать литературу (или если у кого есть исходники) по поводу того как делать вставки AMS в C++ Builder. ...

С++ и шестнадцатиричные вставки - C++
не раз встречал в примерах С++ встречал вставки по типу 0x... очень бы хотелось этим научиться пользоваться. гугл не ответил на мой вопрос...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.