Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Assembler

Автор: lormutryas
Дата сообщения: 22.02.2016 18:08
благодарюшки, скачал
с ассемблером надо работать где-то на природе на свежем воздухе в зелени или на морском берегу, чтобы никто не отвлекал и мозги обдувал свежий ветерок, помогая правильной укладке мыслей о "низком" программировании, тогда это лучшее средство для разработки!
Автор: 127
Дата сообщения: 22.02.2016 18:20
с ассемблером лучше работать на микроконтроллере. там от него проку больше.
Автор: lormutryas
Дата сообщения: 23.02.2016 15:40
ты прав, для всего остального есть машинные коды
Автор: dev2null
Дата сообщения: 01.03.2016 08:38
Тут задался вопросом - нужно вызвать какую-то функцию из системной длл, в импорт программы длл не подключена - корректно ли вызывать её таким способом:
Код: proc IsUserAnRoot
invoke GetModuleHandle,szsh32
invoke GetProcAddress,eax,2A8h
or eax,eax
je @F
call eax
@@:
ret
szsh32 du 'shell32.dll',0
endp
Автор: 127
Дата сообщения: 01.03.2016 10:24
dev2null, ну вообще то если либа уже загружена системой - смысла ее загружать/выгружать нет - все равно останется в памяти. так что все корректно.
Автор: Prober
Дата сообщения: 01.03.2016 10:59
dev2null, ваш код будет работать, если DLL либо есть в импорте, либо ранее была динамически загружена. Для надёжности лучше всё-таки LoadLibrary() вместо GetModuleHandle().
Автор: dev2null
Дата сообщения: 01.03.2016 11:25
127
Смущает то, что не раз натыкался в исследуемых прогах на подобные вызовы - везде сделано через LoadLibrary.

Prober 11:59 01-03-2016
Цитата:
Для надёжности лучше всё-таки LoadLibrary() вместо GetModuleHandle().

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


Автор: lormutryas
Дата сообщения: 01.03.2016 18:13
это не перестраховка, а минимальная осторожность
но до основ танина баумана я не дошел, так что спорить не буду
Автор: MERCURY127
Дата сообщения: 06.05.2016 16:37
треубется прочитать шрифты из знакогенератора 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 просьба не посылать...
Автор: Abs62
Дата сообщения: 06.05.2016 20:09
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
...

Автор: MERCURY127
Дата сообщения: 06.05.2016 20:14
Спасибо!!!
Автор: akaGM akaGM
Дата сообщения: 12.05.2016 18:42
фигасе...

MERCURY127

возьми книгу Wilton'a ЕГА/ВГА графикс адаптерс (точное название не помню) -- из неё растут все ноги и больше ничего не надо будет искать в сети...
ну или наши более новые передёры -- Фролов "Программирование видеоадаптеров EGA, VGA и SVGA"
Автор: bomzz
Дата сообщения: 23.05.2016 05:40
какие правила очередности загрузки дллок, когда берется дллка из рабочей папки, когда системная, а как сделать чтоб выбиралась определенная из WinSxS ? зависит от способа загрузки дллки или нет?
Автор: eGorZ
Дата сообщения: 23.05.2016 07:15
bomzz
ваще-то, это вопрос не для этой темы
а ответ на него предельно прост: сначала, если где-либо не задан конкретный путь к требуемому файлу, он (не только dll) ищется системой в текущем каталоге, а затем по путям, описанным в переменной окружения path
Автор: ne_viens
Дата сообщения: 23.05.2016 07:56
Первой загружается из \system32, если есть в списке KnownDlls.
Раньше (XP) можно было это дело подправить в HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs.
Потом по прописанному пути, потом из своей директории, потом из system32, итд.
Автор: ss661
Дата сообщения: 23.05.2016 08:34
bomzz про msvcrt.dll спрашивает, у нас спор http://forum.ru-board.com/topic.cgi?forum=62&topic=30084
Автор: ne_viens
Дата сообщения: 23.05.2016 08:56
msvcrt.dll относится к KnownDlls, значит будет загружаться из system32.
От семёрки не подойдёт, так как требует кучу API-MS-WinCore..., которых на XP нема.

Если _except_handler4_common() единственная недостающая, то её можно дописать.
Ну вот и повернули тему в правильное, ассемблерное направление
Автор: ss661
Дата сообщения: 23.05.2016 09:15
нет ее в knowndlls
Автор: ne_viens
Дата сообщения: 23.05.2016 09:57
Значит её загружает другая, которая есть. Gdi32.dll, например.
Автор: ForposT_ForeveR
Дата сообщения: 02.07.2016 20:04
Здравствуйте, уважаемые форумчане.
Заранее прошу прощение за данную просьбу, но кроме Вас обратиться более не к кому.
Ковыряюсь с одной софтиной. Суть которой: получает данные от сервера в текстовом виде, но сам текст закодирован -> Далее декодит -> И выдает сообщение уже на русском языке.

Помогите, пожалуйста, понять, схематично, какой алгоритм декодирования в софте.

Вот код, который получил софтом IDА
http://rgho.st/private/7VMKQdsfp/d1f138e4ce0483dde12ccc6a716f878d

Буду очень признателен за помощь!
Автор: MERCURY127
Дата сообщения: 02.07.2016 21:06
Лучше бы уж дал саму софтину, лично мне ехе ковырять легче, чем дампы иды.
Автор: akaGM akaGM
Дата сообщения: 02.07.2016 21:15
ForposT_ForeveR

Цитата:
получает данные от сервера в текстовом виде
вообще-то надо сначала raw-данные смотреть, их и то что из них получается, потом уж код...

так что на реверс-инжиниринг алгоритма можешь смело заявку сюда бросать:
http://forum.ru-board.com/topic.cgi?forum=33&topic=2395#1
Автор: akaGM akaGM
Дата сообщения: 03.07.2016 00:06
лучше данные всем дать, не только мне, если это возможно -- быстрее помогут...
Автор: lormutryas
Дата сообщения: 17.07.2016 12:51
приветики!
нужен invitation code на forum.exetools.com
киньте в личку кому не жалко!
благодарю!

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384

Предыдущая тема: .NET GUI компоненты


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.