|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.01.2010, 17:51 | #1 |
Пользователь
Регистрация: 19.11.2008
Сообщений: 10
|
debug возможно ли?
Здравствуйте.
Можно ли написать простую программку средствами обычного debug.exe Вернее вместо прерываний как нибудь вызвать API функцию, допустим MessageBoxA ? !Не используя ни каких кампиляторов. |
18.01.2010, 19:07 | #2 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Можно собрать буквально по байтам На wasm.ru где-то статья была
пыщь
|
18.01.2010, 19:08 | #3 |
Форумчанин
Регистрация: 09.03.2008
Сообщений: 127
|
|
18.01.2010, 20:44 | #4 |
Форумчанин
Регистрация: 15.07.2008
Сообщений: 615
|
ИМХО debug.exe применим только для дос программ! API использовать в нем нельзя!
xor eax, eax
xchg [eax], eax |
19.01.2010, 19:41 | #6 |
Пользователь
Регистрация: 19.11.2008
Сообщений: 10
|
3, огромное спасибо за ссылочку, почитал, вернулся ещё раз в статьи для новичков, ещё раз почитал... И теперь меня мучает вопрос.
Если мыслить логически, Функции API это основная часть операционной системы (может я буду неправ API это аналог- прерываний) Вобщем если операционка загружена в Оперативную память , то у функций API должен быть свой адрес в этой памяти. И что если какнибудь вычислить адрес функции MessageBox и передать ей параметры через стэк: Ну например. push 0 push 0 push ... push ... .... Call [xxx] Где xxx - это адрес в памяти функции MessageBox. Реален ли такой расклад дел? Я только начал увлекатся асмом, сильно не пинайте , пришёл с php =( Буду рад любым вашим умозаключениям и корректировкам по этому поводу. Update: Прошу прощения, может быть это не удачный пример, но чтобы хоть чем то подкрепить свою теорию об адресах Апи в памяти, хочу показать один из эксплойтов с милворма ... Там человек вызывает 2 функции Beep and ExitProcces http://milw0rm.com/exploits/9078 Прошу прощения за такой линк, просто ненашёл ничего удачней. Последний раз редактировалось sw3n; 19.01.2010 в 20:47. |
19.01.2010, 20:41 | #7 | |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
Цитата:
Последний раз редактировалось rpy3uH; 19.01.2010 в 20:45. |
|
19.01.2010, 21:35 | #8 |
Пользователь
Регистрация: 19.11.2008
Сообщений: 10
|
Тоесть , если я правильно понимаю, вооружившись одним debug.exe
Мы напишем что то типа: title db 'Hello' msg db 'Taram-pam-pam' push 0 push offset msg push offset title push 0 Call 0fada4h Где 0fada4h- адрес функции MessageBox Запишем всё это в .com файл и запустим , можно будет увидеть МэссаджБокс? P.S. Боюсь тэстируя сломать свой комп этим кодом, надеюсь на ваш опыт и логику. |
19.01.2010, 22:28 | #9 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
вы хоть статью читали? вам уже exe надо писать так как exe имеет таблицу импорта. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
X64 Debug | BioS | Общие вопросы C/C++ | 6 | 07.10.2009 20:41 |
Debug.exe | Beginer | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 31.07.2009 13:55 |
#define DEBUG | Revenholm | Общие вопросы C/C++ | 1 | 01.05.2009 19:52 |
PHP+debug. | crazy horse | PHP | 11 | 30.07.2008 08:22 |
1С: debug SQL-запроса. | crazy horse | SQL, базы данных | 0 | 05.06.2008 08:19 |