Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Ассемблер? Это просто! Учимся программировать


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler (Ассемблер)

Выпуск № 553
от 22.09.2006, 20:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 348, Экспертов: 37
В номере:Вопросов: 6, Ответов: 7


Вопрос № 55659: Здраствуйте. Помогите с проблемкой разобраться. пытаюсь с асеблировать сом-файл в FARе, а он пишет: fatal error a1000: cannot open file:\ masm32\ include\ windows.inc (в этой папке есть только win.inc).Раньше всё работало...
Вопрос № 55695: Здравствуйте, ув.эксперты. начал изучать язык ассемблера очень хочу научится. Изучаю его по книге Калашникова. Там есть пример первой программы, пишешь её в dos редакторе, а затем создать файл с расширением obj после чего преобразовать в файл com. Та...
Вопрос № 55701: Здравствуйте Олег Владимирович. А почему ваша программа может запускать только exe-шники ?...
Вопрос № 55702: Здравствуйте ! А что нужно написать в тексте программы, чтобы ее нельзя было потом дизассемблировать ?...
Вопрос № 55703: Здравствуйте, уважаемые экспе рты! По ходу изучения ассемблера под Win32 у меня возникли следующие вопросы: 1) К примеру я получаю число из fpu... скажем 1/2. Как его вывести, скажем в MessageBox? Wsprintf мне здесь не помощник, не так ли? Мн...
Вопрос № 55740: Доброго времени суток уважаемые эксперты. При оптимизации надо смотреть на такты инструкций или на байты инструкций. P.S.Опримизация Агнера Фога, есть что-то лучше? ..

Вопрос № 55.659
Здраствуйте. Помогите с проблемкой разобраться. пытаюсь с асеблировать сом-файл в FARе, а он пишет: fatal error a1000: cannot open file:\ masm32\ include\ windows.inc (в этой папке есть только win.inc).Раньше всё работало
Отправлен: 16.09.2006, 23:27
Вопрос задал: Maslin (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: mix_mix
Здравствуйте, Maslin!
Пропишите абсолютный путь к этому файлу (тоесть C:masm32includewin.inc)
Возможно учитывается регистр букв (тоесть напишите INCLUDE, а не include;WIN,INC вместо win.inc)
Возможно еще Вы удалили WINDOWS.INC, или переименовали его в WIN.INC, проверьте это - этот файл весит около мегабайта. Если это не тот, попросите кого-нибудь его прислать.
Ответ отправил: mix_mix (статус: 7-ой класс)
Ответ отправлен: 17.09.2006, 13:07


Вопрос № 55.695
Здравствуйте, ув.эксперты. начал изучать язык ассемблера очень хочу научится. Изучаю его по книге Калашникова. Там есть пример первой программы, пишешь её в dos редакторе, а затем создать файл с расширением obj после чего преобразовать в файл com. Так вот я делаю как пишет автор но ничего не происходит. Использую прогу masm 6.11. Объясните пожалуйста подробно как или какой прогой нужно воспользоваться чтобы создать. заранее спасибо.
Отправлен: 17.09.2006, 12:05
Вопрос задал: Kardan (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Стас
Здравствуйте, Kardan!
Конкретнее опишите в чем проблема.
Набрали текст проги в редакторе?
Скомпилировали его в OBJ с помощью masm? Ошибок не было?
Слинковали OBJ c помощью link в COM? Опять же ошибки?
Запускается? Работает? Не выводит результат?
Ответ отправил: Стас (статус: Специалист)
Ответ отправлен: 17.09.2006, 14:49


Вопрос № 55.701
Здравствуйте Олег Владимирович. А почему ваша программа может запускать только exe-шники ?
Отправлен: 17.09.2006, 12:55
Вопрос задал: Whiteman (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Олег Владимирович
Здравствуйте, Whiteman!

Эта прога спокойно запускает дочернюю - файл help-а паскаля (правда, уже он ругается, но уже хоть что-то!). А изменилась только prname.
Так что не знаю, в чём подвох...

Удачи!

Приложение:

---------
Факультет ПМ-ПУ - лучший в СПбГУ!

Ответ отправил: Олег Владимирович (статус: 3-ий класс)
Ответ отправлен: 17.09.2006, 23:00


Вопрос № 55.702
Здравствуйте ! А что нужно написать в тексте программы, чтобы ее нельзя было потом дизассемблировать ?
Отправлен: 17.09.2006, 12:56
Вопрос задал: Whiteman (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Стас
Здравствуйте, Whiteman!
Нужно самому (либо поручить это специальным прогам типа ASP) зашифровать свою программу. Т.е. первым делом программа себя рассшифровывает, а затем начинает выполняться.

Только, против лома нет приема. Квалифицированный хакер в любом случае сможет её дизассемблировать.
Ответ отправил: Стас (статус: Специалист)
Ответ отправлен: 17.09.2006, 14:45

Отвечает: Wild_one
Здравствуйте, Whiteman!
Если вы хотите сделать так, чтобы дизассемберы не могли даже открыть программу, то нужно модифицировать заголовок файла так, чтоб системный загрузчик работал а дизассемблеры висли. Эти приемы давно известны и IDA на них уже не ведется. В любом случае профи достаточно пройтись по заголовку и найти неисправность. Почитайте Криса Касперски.
Лучше использовать шифрование. В нерасшифрованном файле дизассемблер увидит мусор. обычно шифрование ограничивается операцией XOR, которая обратна сама себе. Если сделать динамическую шифровку (фрагмент расшифровывается и после исполнения зашифровывается), исследовать станет нудно и в отладчике.
Еще можно поставить полиморфный (самомодифицирующийся) код. Наприме JMP прыгает в середину команды и получаем другую операцию. Это нетривиальная задача.
Ответ отправил: Wild_one (статус: 4-ый класс)
Ответ отправлен: 17.09.2006, 15:32
Оценка за ответ: 4


Вопрос № 55.703
Здравствуйте, уважаемые эксперты! По ходу изучения ассемблера под Win32 у меня возникли следующие вопросы:

1) К примеру я получаю число из fpu... скажем 1/2. Как его вывести, скажем в MessageBox? Wsprintf мне здесь не помощник, не так ли? Мне на wasm.ru подсказали воспользоваться ф-цией sprintf из msvcrt.dll, но я не смог найти список параметров, которые ей надо передавать да и насчет соглашения вызова не разобрался - похоже на _cdecl...

2) Где можно найти более-менее приличный хелп по Native API? Ни SDK ни DDK у меня нет, однако мне бы не просто сухую теорию(как в MSDN), а с примерами и желательно с разбором... (очень уж я увлекся перехватом API)

3) Не могли вы бы привести мне сааамый простенький пример использования техники вызова врат(call gate) или какой-либо другой РАБОЧЕЙ техники перехода в Ring-0 под XP БЕЗ использования драйверов?

Заранее благодарю!
Отправлен: 17.09.2006, 12:59
Вопрос задал: Pinkbyte (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: n0name
Здравствуйте, Pinkbyte!
1)
int sprintf(
char *buffer,
const char *format [,
argument] ...
);

2) http://undocumented.ntinternals.net/, почитать Гарри Неббета.
3) http://wasm.ru/article.php?article=apihook_3
Ответ отправил: n0name (статус: 5-ый класс)
Ответ отправлен: 17.09.2006, 16:12


Вопрос № 55.740
Доброго времени суток уважаемые эксперты.
При оптимизации надо смотреть на такты инструкций или на байты инструкций.
P.S.Опримизация Агнера Фога, есть что-то лучше?
Отправлен: 17.09.2006, 19:25
Вопрос задал: ENS (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Jekyll
Здравствуйте, ENS!

При оптимизации на скорость - смотрят на размер инструкций (логично, да?).
При оптимизации на время исполнения - смотрят на тайминги (вроде тоже логично)

P.S. Оптимизация на асме - дело неблагородное, т.к. завтра может выйти процессор, под который придется оптимизировать по другому...
Ответ отправил: Jekyll (статус: 1-ый класс)
Ответ отправлен: 17.09.2006, 19:35


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.36 от 06.09.2006
Яндекс Rambler's Top100

В избранное