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

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

Войти
Регистрация
Восстановить пароль
 
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
#1

Нужно засунуть код инструкции в 4 char'a так, чтобы в памяти это был код инструкции. - C++

24.01.2014, 23:29. Просмотров 473. Ответов 7
Метки нет (Все метки)

Доброго времени суток. Есть дизассемблированный код. Нужно засунуть код иструкции в 4 чара так, чтобы в памяти это был код инструкции. Как это правильно сделать? (Если что, то заданием является осуществление buffer overflow attack с помощью exploit strings. Это задание по программированию, а не "хакерство карается законом")
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2014, 23:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нужно засунуть код инструкции в 4 char'a так, чтобы в памяти это был код инструкции. (C++):

Как возможно выйти в инструкции switch в начало самой инструкции при нажатии "не правильной" кнопки - C++
В целом у меня вопрос такой: Как возможно выйти в инструкции switch в начало самой инструкции при нажатии не правильной кнопки. Вот...

код, который прекрасно выполняет Code::Blocks не выполняеться в Студии, как сделатьь так чтобы Студия воспринимала этот код?? - C++
Ребята, обьясните мне чего код, который прекрасно выполняет Code::Blocks не выполняеться в Студии, там требуються существенно другие...

Написать код,чтобы при нажатии клавиши D и d был сдвиг курсора на один символ вправо - C++
Написать код,чтобы при нажатии клавиши D и d был сдвиг курсора на один символ вправо,а при нажатии А и а,по аналогии влево. #include...

Измените код так, чтобы мы сами вводили матрицу - C++
Измените код так, чтобы мы сами вводили матрицу. Заранее спасибо. #include "stdafx.h" #include <iostream> #include <ctime> ...

Почему код не работает хотя ошибок нет? Что-то не так с выделением памяти? - C++
#include <math.h> #include <stdio.h> #include <conio.h> #include <iostream> using namespace std; int n = 0; double a, b; ...

Написать код для игры НИМ. проверьте пожалуйста тот ли это код - C++
#include <string> using namespace std; int compChoose(int markers); int userChoose(int markers); int...

7
Kastaneda
Jesus loves me
Эксперт С++
4730 / 2934 / 242
Регистрация: 12.12.2009
Сообщений: 7,443
Записей в блоге: 2
Завершенные тесты: 1
24.01.2014, 23:35 #2
Цитата Сообщение от metaluga145 Посмотреть сообщение
Нужно засунуть код иструкции в 4 чара так, чтобы в памяти это был код инструкции.
писать в виде цифр/чисел, либо подгонять аски код символов под опкоды, но это извращение.

Нужно же просто записать опкоды, исполнять не надо?
0
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
24.01.2014, 23:43  [ТС] #3
Kastaneda, вообще надо. собственно есть функция в файле, которая использует gets(),так же в ней есть выделение char a[12]. сразу за вызовом gets() идет ретурн. надо перекрыть адрес в ретурне адресом первой инструкции в нужной нам функции, чтобы она вызвалась. простите, если терминология плохая. я только 5 дней в этом колочусь ) потому еще не до конца разобрался)
0
gray_fox
What a waste!
1536 / 1241 / 71
Регистрация: 21.04.2012
Сообщений: 2,608
Завершенные тесты: 3
24.01.2014, 23:47 #4
metaluga145, эмм, ну так разбить код инструкции на байты, подобрать каждому символ с соответствующим ASCII кодом, не?
0
Croessmah
Пришел
Эксперт CЭксперт С++
13771 / 7852 / 894
Регистрация: 27.09.2012
Сообщений: 19,267
Записей в блоге: 3
Завершенные тесты: 1
24.01.2014, 23:47 #5
Может это чем поможет: http://www.exploit-db.com/papers/24085/
0
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
24.01.2014, 23:49  [ТС] #6
gray_fox, попробовал. почему-то функция не вызвалась.
0
Croessmah
Пришел
Эксперт CЭксперт С++
13771 / 7852 / 894
Регистрация: 27.09.2012
Сообщений: 19,267
Записей в блоге: 3
Завершенные тесты: 1
24.01.2014, 23:51 #7
Цитата Сообщение от metaluga145 Посмотреть сообщение
почему-то функция не вызвалась.
всё это добро зависит от реализации. Например, в gcc естьStack-Smashing Protector и просто так уже ничего не дастся.
0
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
25.01.2014, 00:04  [ТС] #8
Croessmah, нам дан учебный файл, он скомпилирован именно так, чтобы там не было разных защит. типа все должно быть просто и легко.но легко у меня не получается

Добавлено через 10 минут
проблема решена. я забыл перевернуть адрес!
0
25.01.2014, 00:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2014, 00:04
Привет! Вот еще темы с ответами:

Переделать код так, чтобы использовались диапазоны значений с помощью указателей - C++
Мне уже стыдно сюда писать ей богу :wall: . Но есть задача переделать Код№1 так чтобы использовались диапазоны значений с помощью...

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

Переделать код программы так, чтобы решалась через указатели и функцию - C++
#include <stdio.h> #include <conio.h> void main() { char st; int i; printf("\nEnter the string"); printf("->"); ...

Как сделать так, чтобы код вернул НОРМАЛЬНУЮ строку в pName, а не мусор - C++
Короче, либо мне сейчас КТО-НИБУДЬ ПОМОЖЕТ, либо я... :wall: .. нувыпоняли. ВООБЩЕМ #include <iostream> #include <fstream> #include...


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

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

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