Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаются все вопросы, связанные с программированием на Ассемблере как общего так и конкретного характера.
 
важное примечание
для тех кто считает, что здесь место халявных исполнений курсовых и лабораторных работ.
тут обычно помогают тем, кто сам хоть что-то пытается понять и сделать, но что-то не понимает, что-то не получается...
ведь ассемблер изучают и задачки на нём дают обычно не менеджерам по продажам и даже не всем физ.-мат. специальностям
вы сами избрали этот путь? вот и идите по нему сами, ножками... с ручками и с головой...
 
короче, тут не сборище придурков-альтруистов, которым нечего делать и они ждут-не дождутся когда вы их попросите
что-то сделать _за_ вас
если позарез надо и вы даже готовы заплатить, тогда вам сюда
удачи
 
некоторые ресурсы
http://www.wasm.ru/ Самый популярный русскоязычный ресурс. https://wasm.in/
Ассемблер - книги (ASM, Assembler)
 
Просьба все большие листинги оформлять тегом more.
 
если вам вдруг не отвечают или ответ вас не устраивает
и вообще полезно прочитать всем спрашивающим

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:42 29-11-2006 | Исправлено: akaGM, 17:44 11-06-2020
dev2null



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тут задался вопросом - нужно вызвать какую-то функцию из системной длл, в импорт программы длл не подключена - корректно ли вызывать её таким способом:
Код:
proc IsUserAnRoot
  invoke  GetModuleHandle,szsh32
  invoke  GetProcAddress,eax,2A8h
  or      eax,eax
  je      @F
  call    eax
  @@:
  ret
  szsh32  du 'shell32.dll',0
endp

Или лучше делать через LoadLibrary -> FreeLibrary? Код выше - работает, но есть некоторые сомнения.

Всего записей: 574 | Зарегистр. 23-10-2011 | Отправлено: 09:38 01-03-2016 | Исправлено: dev2null, 09:48 01-03-2016
127



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dev2null, ну вообще то если либа уже загружена системой - смысла ее загружать/выгружать нет - все равно останется в памяти. так что все корректно.

Всего записей: 599 | Зарегистр. 08-11-2015 | Отправлено: 11:24 01-03-2016
Prober

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dev2null, ваш код будет работать, если DLL либо есть в импорте, либо ранее была динамически загружена. Для надёжности лучше всё-таки LoadLibrary() вместо GetModuleHandle().

Всего записей: 680 | Зарегистр. 01-11-2006 | Отправлено: 11:59 01-03-2016
dev2null



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
127
Смущает то, что не раз натыкался в исследуемых прогах на подобные вызовы - везде сделано через LoadLibrary.
 
Prober 11:59 01-03-2016
Цитата:
Для надёжности лучше всё-таки LoadLibrary() вместо GetModuleHandle().

Да, пожалуй лучше перестраховаться.
 
 

Всего записей: 574 | Зарегистр. 23-10-2011 | Отправлено: 12:25 01-03-2016
lormutryas

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
это не перестраховка, а минимальная осторожность
но до основ танина баумана я не дошел, так что спорить не буду

Всего записей: 113 | Зарегистр. 26-07-2014 | Отправлено: 19:13 01-03-2016 | Исправлено: lormutryas, 14:56 04-03-2016
MERCURY127



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
треубется прочитать шрифты из знакогенератора VGA/EGA/CGA...  
хотя бы один байт. писать туда уже научился... но нужно ЧИТАТЬ!  
нашел код:  
 
vgaopen:        
        ;clear even/odd mode
        mov            dx, 03ceh
        mov            ax, 5
        out            dx, ax
        ;map VGA memory to 0A0000h
        mov            ax, 0406h
        out            dx, ax
        ;set bitplane 2
        mov            dx, 03c4h
        mov            ax, 0402h
        out            dx, ax
        ;clear even/odd mode (the other way, don't ask why)
        mov            ax, 0604h
        out            dx, ax
        ret
 
но оно открывате только на запись...  
 
Добавлено:
по направлениям 1f & 43 просьба не посылать...

Всего записей: 11539 | Зарегистр. 03-08-2008 | Отправлено: 16:37 06-05-2016
Abs62



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MERCURY127
Да вроде как всё так, только добавить ещё установку контроллеру битовой плоскости для чтения.

Цитата:
...
        ;map VGA memory to 0A0000h
        mov            ax, 0406h
        out            dx, ax
       ;set bitplane 2 to read
        mov            ax, 0204h
        out            dx, ax

        ;set bitplane 2  
...



----------
0 программистов ругал сердитый шеф
Потом уволил одного, и стало их FF

Всего записей: 6077 | Зарегистр. 22-10-2005 | Отправлено: 20:09 06-05-2016
MERCURY127



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо!!!  

Всего записей: 11539 | Зарегистр. 03-08-2008 | Отправлено: 20:14 06-05-2016
akaGM akaGM

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
фигасе...
 
MERCURY127
 
возьми книгу Wilton'a ЕГА/ВГА графикс адаптерс (точное название не помню) -- из неё растут все ноги и больше ничего не надо будет искать в сети...
ну или наши более новые передёры -- Фролов "Программирование видеоадаптеров EGA, VGA и SVGA"

Всего записей: 777 | Зарегистр. 08-04-2016 | Отправлено: 18:42 12-05-2016 | Исправлено: akaGM akaGM, 18:43 12-05-2016
bomzz

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
какие правила очередности загрузки дллок, когда берется дллка из рабочей папки, когда системная, а как сделать чтоб выбиралась определенная из WinSxS ? зависит от способа загрузки дллки или нет?

Всего записей: 3412 | Зарегистр. 29-03-2016 | Отправлено: 05:40 23-05-2016
eGorZ



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
bomzz
ваще-то, это вопрос не для этой темы
а ответ на него предельно прост: сначала, если где-либо не задан конкретный путь к требуемому файлу, он (не только dll) ищется системой в текущем каталоге, а затем по путям, описанным в переменной окружения path

Всего записей: 6865 | Зарегистр. 21-10-2003 | Отправлено: 07:15 23-05-2016
ne_viens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Первой загружается из \system32, если есть в списке KnownDlls.
Раньше (XP) можно было это дело подправить в HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs.
Потом по прописанному пути, потом из своей директории, потом из system32, итд.

Всего записей: 1525 | Зарегистр. 01-11-2004 | Отправлено: 07:56 23-05-2016
ss661

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzz про msvcrt.dll спрашивает, у нас спор http://forum.ru-board.com/topic.cgi?forum=62&topic=30084

Всего записей: 813 | Зарегистр. 23-02-2007 | Отправлено: 08:34 23-05-2016
ne_viens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
msvcrt.dll относится к KnownDlls, значит будет загружаться из system32.
От семёрки не подойдёт, так как требует кучу API-MS-WinCore..., которых на XP нема.
 
Если _except_handler4_common() единственная недостающая, то её можно дописать.
Ну вот и повернули тему в правильное, ассемблерное направление

Всего записей: 1525 | Зарегистр. 01-11-2004 | Отправлено: 08:56 23-05-2016
ss661

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
нет ее в knowndlls

Всего записей: 813 | Зарегистр. 23-02-2007 | Отправлено: 09:15 23-05-2016
ne_viens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Значит её загружает другая, которая есть. Gdi32.dll, например.

Всего записей: 1525 | Зарегистр. 01-11-2004 | Отправлено: 09:57 23-05-2016
ForposT_ForeveR



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Здравствуйте, уважаемые форумчане.
Заранее прошу прощение за данную просьбу, но кроме Вас обратиться более не к кому.
Ковыряюсь с одной софтиной. Суть которой: получает данные от сервера в текстовом виде, но сам текст закодирован -> Далее декодит -> И выдает сообщение уже на русском языке.
 
Помогите, пожалуйста, понять, схематично, какой алгоритм декодирования в софте.
 
Вот код, который получил софтом IDА
http://rgho.st/private/7VMKQdsfp/d1f138e4ce0483dde12ccc6a716f878d
 
Буду очень признателен за помощь!

Всего записей: 525 | Зарегистр. 11-12-2004 | Отправлено: 20:04 02-07-2016
MERCURY127



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Лучше бы уж дал саму софтину, лично мне ехе ковырять легче, чем дампы иды.

Всего записей: 11539 | Зарегистр. 03-08-2008 | Отправлено: 21:06 02-07-2016
akaGM akaGM

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ForposT_ForeveR

Цитата:
получает данные от сервера в текстовом виде
вообще-то надо сначала raw-данные смотреть, их и то что из них получается, потом уж код...
 
так что на реверс-инжиниринг алгоритма можешь смело заявку сюда бросать:
http://forum.ru-board.com/topic.cgi?forum=33&topic=2395#1

Всего записей: 777 | Зарегистр. 08-04-2016 | Отправлено: 21:15 02-07-2016
akaGM akaGM

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
лучше данные всем дать, не только мне, если это возможно -- быстрее помогут...

Всего записей: 777 | Зарегистр. 08-04-2016 | Отправлено: 00:06 03-07-2016
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru