Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2010, 21:57   #11
coinkrsk
пыжашийся нуб
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 93
По умолчанию

Пепел Феникса, JTG - спасибо за помощь; мозг от количества информации взорван и это хорошо. Наверно я, как непосвященный, пока требую много, понимая мало. Попробуем сделать первый шажок: раз kernel32.dll пользовать нельзя, то надо вниз, к ntdll.dll. Тут даже не "Hello World", а запустить и корректно завершить приложение с кодом 0 было бы неплохо. Написал на асме минималистическое приложение:
Цитата:
Сообщение от ASM
.386
.model flat,stdcall
ExitProcess PROTO :DWORD
.code
start:
push 0
call ExitProcess
end start
объекный файл собрать можно, а вот линковщик уже ругается на отсутствие злопалучной библиотеки:
minimal.obj : error LNK2001: unresolved external symbol _ExitProcess@4
minimal.exe : fatal error LNK1120: 1 unresolved externals

Ругается на ExitProcess. Значит нужно писать аналог. Вот тут то я и сажусь в лужу. Нет понимания происходящего. Тоесть того, как оно должно быть. Хорошо бы понять как работает вышеописаный код хотябы на уровне API. Дальше видимо спускаться ниже, к ntdll.dll - писать свой мост к ней взамен API слоя, я прав?
coinkrsk вне форума Ответить с цитированием
Старый 20.06.2010, 22:08   #12
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ExitProcess это kernel32.dll
ну вы можете её код к себе взять, но смысл? это лишь раздует ваше приложение.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.06.2010, 22:19   #13
coinkrsk
пыжашийся нуб
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 93
По умолчанию

Я могу посмотреть на код ExitProcess из kernel32.dll?
coinkrsk вне форума Ответить с цитированием
Старый 20.06.2010, 22:22   #14
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а что нет?
отладчик/диззасемблер(по вкусу) в руки и вперед.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.06.2010, 22:32   #15
coinkrsk
пыжашийся нуб
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 93
По умолчанию

Наверное так, как я, чувствует себя мамай, попав в центр мегаполиса
Можно довериться вашему вкусу?
coinkrsk вне форума Ответить с цитированием
Старый 20.06.2010, 22:34   #16
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

я отладчиком пользуюсь больше(обычно Olly Debug, или от Делфи(если на нем пишу))
пишу в масме мини прогу, с помощью которой перехожу в нужный модуль.

дизасемблирую редко(тут IDA Pro или все прочие от сред моих)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.06.2010, 12:06   #17
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

coinkrsk
Можно очень многое под WinXP сделать через int 2Eh Но для начала хотелось бы понять для чего "математику, для которого программирование всегда было инструментом для кодирования алгоритмов." потребовалось написать программу без прямого или косвенного использования kernel32.dll и advapi32.dll и кто сказал что под WinXP нельзя сделать программу без импорта ввобще? "(в иделе программа вообще с этими библиотеками слинкована быть не должна)" <-- бред обкурившейся сивой кобылы...
Mikl___ вне форума Ответить с цитированием
Старый 21.06.2010, 12:51   #18
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

coinkrsk
Для выхода из программы можно вместо ExitProcess поставить просто RETN и всЁ! И всёже хотелось бы узнать изначальную цель написания программы...
Mikl___ вне форума Ответить с цитированием
Старый 21.06.2010, 13:13   #19
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Не ..... мозги. Создайте файл 1.cmd и в него напишите "echo some text here"
Все. Задача решена)))))))
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 21.06.2010, 22:14   #20
coinkrsk
пыжашийся нуб
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 93
По умолчанию

Цитата:
Сообщение от Mikl___
И всёже хотелось бы узнать изначальную цель написания программы...
Тест от ||.

Цитата:
Сообщение от Mikl___ Посмотреть сообщение
coinkrsk
Для выхода из программы можно вместо ExitProcess поставить просто RETN и всЁ!

Код:
 .386
 .model flat,stdcall
 .code
start:
RETN
end start
А отладчик все равно не верит. см. вложение.
Изображения
Тип файла: jpg debug.JPG (11.5 Кб, 115 просмотров)
coinkrsk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IPHLPAPI.DLL в windows 7 Horus92 Работа с сетью в Delphi 1 15.06.2010 09:55
bass.dll в windows 7 Virus191288 Мультимедиа в Delphi 7 27.11.2009 07:48
Ошибка при выхове функций Bass.dll из другой DLL SalasAndriy Общие вопросы Delphi 7 21.10.2009 23:36
Как убрать маскировку пароля без dll?? techner Win Api 4 20.04.2007 20:10