Форум программистов, компьютерный форум, киберфорум
Наши страницы

Assembler, MASM, TASM

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 415, средняя оценка - 4.79
Viacheslav78
266 / 14 / 0
Регистрация: 16.02.2016
Сообщений: 29
20.05.2016, 19:56 #61
LLVM

Arash Shahkar. ON MATCHING BINARY TO SOURCE CODE
Arjun Shah. Metamorphic Code Generator based on bytecode of LLVM IR
Christoph Erhardt. Design and Implementation of a TriCore Backend for the LLVM Compiler Framework
Daniele Cono D’Elia. Flexible On-Stack Replacement in LLVM
David Menendez. Termination-Checking for LLVM Peephole Optimizations
Eric Schkufza. STOCHASTIC PROGRAM OPTIMIZATION FOR x86 64 BINARIES
Federico Scrinzi. Behavioral Analysis of Obfuscated Code
Johan Fänge. A Tracing JIT Compiler for Erlang
Jozef Cel’uch. Java bytecode disassembler
Linhai Song. Understanding, Detecting, and Diagnosing Real-World Performance Bugs
Pooja Gupta. LLVM Backend Development for ReISC Architecture
Roel Jordans. High-level software-pipelining in LLVM
Simon Andreas Frimann Lund. A High Performance Backend for Array-Oriented Programming on Next-Generation Processing Units
Tilmann Scheller. Where is LLVM being used today

PE file & malware analysis

Alan Martin Sweeney. Malware Analysis & Antivirus Signature Creation
Blake Harrell Anderson. Integrating Multiple Data Views for Improved Malware Analysis
Christian Rossow. Using Malware Analysis to Evaluate Botnet Resilience
Christian Schönbein. PyBox - A Python Sandbox
Christopher B. Harrison. ODinn. An In-Vivo Hypervisor-based Intrusion Detection System for the Cloud
Christos Papadiotis. Enhancing AV-avoidance capabilities of a PE crypter
Dalbir Kaur R. Chhabra. Feature selection and clustering for malicious and benign software characterization
Dan Sinema. AUTOMATED REVERSE ENGINEERING OF MALWARE TO DEVELOP NETWORK SIGNATURES TO MATCH WITH KNOWN NETWORK SIGNATURES
Dimitrios A. Glynos. Packing Heat!
Fadel Omar Shaban. Spyware Detection Using Data Mining for Windows Portable Executable Files
Igor Santos, Xabier Ugarte-Pedrero Felix Brezo, Pablo G. Bringas. NOA. AN INFORMATION RETRIEVAL BASED MALWARE DETECTION SYSTEM
Jani Hakkarainen. Malware Analysis Environment for Windows Targeted Malware
Jarno Niemela. Statistical Analysis Of Malware Defence Methods
Jay-Evan J. Tevis. AUTOMATIC DETECTION OF SOFTWARE SECURITY VULNERABILITIES IN EXECUTABLE PROGRAM FILES
Jiyong Jang. Scaling Software Security Analysis to Millions of Malicious Programs and Billions of Lines of Code
Jonathan Joseph Blount. Adaptive rule-based malware detection employing learning classifier systems
Katja Hahn. Robust Static Analysis of Portable Executable Malware
Lutz Bohne. Pandora’s Bochs. Automatic Unpacking of Malware
MICHAEL STEPHEN THIEMS. OPTIMIZATION AND EXECUTABLE REGENERATION IN THE IMPACT BINARY REOPTIMIZATION FRAMEWORK
Neel Bavishi. An Executable Packer
Nicholas S. Kovach. Accelerating Malware Detection via a Graphics Processing Unit
PAN-MING. Research on Detecting Mechanism for Trojan horse Based on PE file
Peter Ekstrand Berg. Behavior-based Classification of Botnet Malware
Raja M. Khurram Shahzad. Syed Imran Haider. Detection of Spyware by Mining Executable Files
Ronny Merkel, Tobias Hoppe, Christian Kraetzer, Jana Dittmann. Statistical Detection of Malicious PE-Executables Fast Offline Analysisfor
Shaked Bar. Kuluoz. Malware and botnet analysis
Soon Chai Liang. Understanding behavioural detection of antivirus
Steven Strandlund Hansen. Thor Mark Tampus Larsen. Dynamic Malware Analysis. Detection and Family Classification using Machine Learning
Sverker Nilsson. Heapy. A Memory Profiler and Debugger for Python
Vasileios Pappas. Defending against Return-Oriented Programming
Vishwath R. Mohan. SOURCE-FREE BINARY MUTATION FOR OFFENSE AND DEFENSE
Yaser Alosefer. Analysing Web-based Malware Behaviour through Client Honeypots
Zhiqiang Lin. Reverse Engineering of Data Structures from Binary
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2016, 19:56
Я подобрал для вас темы с готовыми решениями и ответами на вопрос FAQ для раздела Assembler, MASM, TASM (Assembler):

Глоссарий для раздела Assembler, MASM, TASM - Assembler
Thread, AFP, Charles Kludge, 6a6kin, Убежденный, Ethereal, выкладывайте свои глоссарии - разложу ваши сообщения по алфавиту, если найдете...

Организация тем в разделе Assembler, MASM, TASM - Assembler
Всем привет! Друзья, возник вопрос: как лучше организовать темы в разделе Assembler, MASM, TASM? Какие ветки-подразделы сделали бы...

Полезные макросы для MASM и TASM - Assembler
Не претендую на создание чего-то нового и гениального, но макросы довольно полезные. Часть из того, что я сделал, уже делали другие. Тем не...

Есть ли компиляторы Tasm или Masm для 64-разрядных систем - Assembler
Есть ли компиляторы Tasm или Masm для 64-разрядной с-мы??? если есть просьба скинуть...

MASM, TASM, FASM: что выбрать для программирования в ядре - Assembler
Какой асемлер выбрать для проганья в едре? вынь

Видеоуроки по Ассемблеру MASM/TASM (для DOS) на русском языке - Assembler
Всем доброго времени суток. Вобщем, ищу видеоуроки на русском языке по Ассемблеру. Нужно для подготовки к экзамену (нужно будет...

62
Viacheslav78
266 / 14 / 0
Регистрация: 16.02.2016
Сообщений: 29
13.08.2016, 22:12 #62
Offense & Defense:

Ankita Kapratwar. Static and Dynamic Analysis for Android Malware Detection
Babar, Sachin D. Security Framework and Jamming Detection for Internet of Things
Chiem Trieu Phong. A Study of Penetration Testing Tools and Approaches
CRAIG LEONARD TIDWELL. TESTING THE IMPACT OF TRAINING WITH SIMULATED SCENARIOS FOR INFORMATION SECURITY AWARENESS ON VIRTUAL COMMUNITY OF PRACTICE MEMBERS
Daniel Lowry Lough. A TAXONOMY OF COMPUTER ATTACKS WITH APPLICATIONS TO WIRELESS NETWORKS
Eugene H. Spafford. Computer Viruses as Artificial Life
Fred Cohen. Computer Viruses
Gencer Erdogan. Security Testing of Web Based Applications
Jarmo Puttonen. Virtual learning environment for penetration testing
JOHN SHADRACH STAFFORD. BEHAVIOR-BASED WORM DETECTION
Joshua David Lind. Betting on the Bitcoin Blockchain
Le Wang. Detection of Man-in-the-middle Attacks Using Physical Layer Wireless Security Techniques
Mahmood Nazari. Lokesh Galla. Denial of Service attack in IPv6 networks and counter measurements
MANUEL RODRIGUES CORREGEDOR. UTILIZING ROOTKITS TO ADDRESS THE VULNERABILITIES EXPLOITED BY MALWARE
Marco Ramilli. A Design Methodology for Computer Security Testing
Matteo Pomilia. A study on obfuscation techniques for Android malware
Matthias Rene Buchler. Semi-Automatic Security Testing of Web Applications with Fault Models and Properties
Miller, Bradley Austin. Scalable Platform for Malicious Content Detection Integrating Machine Learning and Manual Review
Nishant Shrestha. Security Assessment via Penetration Testing. A Network and System Administrator’s Approach
Pasquale Stirparo. MOBILEAK. SECURITY AND PRIVACY OF PERSONAL DATA IN MOBILE APPLICATIONS
Penetration Testing Guidance
Petter Svenhard & Amir Radaslic. A penetration test of an Internet service provider
Ravindar Reddy Ravula. CLASSIFICATION OF MALWARE USING REVERSE ENGINEERING AND DATAMINING TECHNIQUES
Ronny L. Bull. A Critical Analysis of Layer 2 Network Security in Virtualized Environments
Saied, Alan. Distributed Denial of Service (DDoS) attack detection and mitigation
Salman Javaid. Analysis and Detection of Heap-based Malwares Using Introspection in a Virtualized Environment
Sergio Pastrana Portillo. Attacks Against Intrusion Detection. Networks. Evasion, Reverse Engineering and Optimal Countermeasures
Susanne Vernersson. Penetration Testing in a Web Application Environment
Terry L. Nelms. IMPROVING DETECTION AND ANNOTATION OF MALWARE DOWNLOADS AND INFECTIONS THROUGH DEEP PACKET INSPECTION
THOMAS-QUENTIN MAILLART. MECHANISMS OF INTERNET EVOLUTION & CYBER RISK
Timothy D. Williams. The Value of Threat Models in Enterprise Security Testing of Database Systems & Services
Ulf Lindqvist. On the Fundamentals of Analysis and Detection of Computer Misuse
Vinod. Korrapati. Security Testing on Endpoint System
Vishwath R. Mohan. SOURCE-FREE BINARY MUTATION FOR OFFENSE AND DEFENSE
Wesley Jin. Practical, Large-Scale Detection of Obfuscated Malware Code Via Flow Dependency Indexing

Honeypot:

Albert W. Brzeczko, Jr. SCALABLE FRAMEWORK FOR TURN-KEY HONEYNET DEPLOYMENT
Amit D. Lakhani. Deception Techniques Using Honeypots
Åsmund Nergård Nyre. Increasing Survivability by Dynamic Deployment of Honeypots
Bassam Alkudhir, Eleftherios Chairetakis & Panagiotis Mystridis. Deployment of Low Interaction Honeypots in University Campus Network
Benoit Jacob. Automatic XSS detection and Snort signatures-ACLs generation by the means of a cloud-based honeypot system
Bertrand Sobesto. EMPIRICAL STUDIES BASED ON HONEYPOTS FOR CHARACTERIZING ATTACKERS BEHAVIOR
Brandon Scott Miller. Analysis of Attacks on Web Based Applications
Brian M. Bowen. Design and Analysis of Decoy Systems for Computer Security
Christian Döring. Improving network security with Honeypots
Christian Seifert. Cost-effective Detection of Drive-by-Download Attacks with Hybrid Client Honeypots
Corrado Leita, Marc Dacier. SGNET. a worldwide deployable framework to support the analysis of malware threat models
DARATZI PARASKEVI. ANALYSIS AND TESTING OF HONEYPOTS HONEYNET SYSTEMS
Davide BALZAROTTI. Plusieurs Axes d’Analyse de sites web compromis et malicieux
Erwin E. Frederick. TESTING A LOW-INTERACTION HONEYPOT AGAINST LIVE CYBER ATTACKERS
Georgios Portokalidis. Using Virtualisation to Protect Against Zero-Day Attacks
Gerard WAGENER. Self-Adaptive Honeypots Coercing and Assessing Attacker Behaviour
Gurdip Kaur. Jatinder Singh Saini. Implementation of High Interaction Honeypot to Analyze the Network Traffic and Prevention of Attacks on Protocol-Port Basis
Honeypots. A Force Multiplier in Educational Domain
HONEYPOT SECURITY.pdf
Honeypots in Network Security.pdf
JAMES JOSEPH YUILL. DEFENSIVE COMPUTER-SECURITY DECEPTION OPERATIONS. PROCESSES, PRINCIPLES AND TECHNIQUES
Jan Gobel. Amun. A Python Honeypot Technical Report
Jarmo (J.M.) van Lenthe. Combining Multiple Malware Detection Approaches for Achieving Higher Accuracy
John Børge Holen-Tjelta. Honeypots in network perimeter defense systems
JUNEWON PARK. Acquiring Digital Evidence from Botnet Attacks. Procedures and Methods
KAMALDEEP SEHGAL. Study on Web application Honey pots
Lucas Tamagna-Darr. Evaluating the effectiveness of an intrusion prevention - Honeypot hybrid
Mathias Gibbens. Harsha vardhan Rajendran. Honeypots
Michael Nørholt Petersen. Detecting network intrusions
Mr. Susheel George Joseph M.C.A, M.Tech, M.Phil(CS). Advanced Honeypot Architecture for Network Threats Quantification
Ng.Jun Ping. Enchancing Honeypot Stealthiness
Ondřej Koutský. Monitoring and Analysis of Cyber Attacks
Radhika Goel, Anjali Sardana, and R. C. Joshi. Wireless Honeypot. Framework, Architectures and Tools
Ratinder Kaur and Maninder Singh. A Hybrid Real-time Zero-day Attack Detection and Analysis System
Robin Berthier. Advanced Honeypot Architecture for Network Threats Quantification
Ronald Mitchell Campbell. The Legal and Ethical Issues of Deploying Honeypots
Saleh Ibrahim Bakr Almotairi. Using Honeypots to Analyse Anomalous Internet Activities
Sanjeev Kumar, Rakesh Sehgal, Paramdeep Singh. Nepenthes Honeypotsbased Botnet Detection
Simon Bell. Building a Honeypot to Research Cyber-Attack Techniques
Susan Marie Wade. SCADA Honeynets The attractiveness of honeypots as critical infrastructure security tools for the detection and analysis of advanced threats
Vusal Aliyev. Using honeypots to study skill level of attackers based on the exploited vulnerabilities in the network
Yaser Alosefer. Analysing Web-based Malware Behaviour through Client Honeypots
Yogendra Kumar Jain. Honeypot based Secure Network System
YONG TANG. DEFENDING AGAINST INTERNET WORMS

Honeytrap:

Abhishek Sharma. HONEYPOTS IN NETWORK SECURITY
Adam Schoeman. Amber. A Zero-Interaction Honeypot with Distributed Intelligence
Aditya K Sood. Rohit Bansal. Reverse Honey Trap. Striking Deep inside Online Web Antivirus Engines and Analyzers
Alec Yasinsac. Yanet Manzano. Honeytraps, A Network Forensic Tool
Andreas Pitsillidis. Spam Value Chain. Defensive Intervention Analysis
Ashwini Gabhane. Honey Trap Security Server. An Efficient Approach of Securing E-Banking Network
Chih-Hung Lin and Chung-Huang Yang. IMPLEMENTATION OF NETWORK FORENSICS BASED ON HONEYPOT
Daisuke Miyamoto. INTERCEPT. High-interaction Server-type Honeypot based on Live Migration
David J. Malan. Rapid Detection of Botnets through Collaborative Networks of Peers
DAVID MALANIK, LUKAS KOURIL. Honeypot as the Intruder Detection System
David Watson. Jamie Riden. The Honeynet Project. Data Collection Tools, Infrastructure, Archives and Analysis
Émerson Salvadori Virti. Honeypots as a Security Mechanism
Feng Zhang. Honeypot. А Supplemented Active Defense System for Network Security
Hrishikesh Arun Deshpande. HoneyMesh. Preventing Distributed Denial of Service Attacks using Virtualized Honeypots
Hu Jingfang. Li Busheng. The Application Research on Network Forensics
John E. Clark, Christopher P. Lee, Roshan Menon, Vanessa Rood. HoneyTrap Visualization for Monitoring Honeynets
JOHN SHADRACH STAFFORD. BEHAVIOR-BASED WORM DETECTION
Lai-Ming Shiue. Shang-Juh Kao. Countermeasure for Detection of Honeypot Deployment
M. Dornseif, F.C. Gärtner, and T. Holz. Vulnerability Assessment using Honepots
Matthijs Koot. Intrusion Detection Systems
Michael Eugene Sanders. Unknown Threat Detection With Honeypot Ensemble Analsyis Using Big Datasecurity Architecture
Mitsuaki Akiyama. Study on High Interaction Client Honeypot for Infiltrative Intrusion Detection
Nathalie Weiler. Honeypots for Distributed Denial of Service Attacks
NIHARIKA. RANJEET KAUR. HONEYPOTS FOR NETWORK SURVEILLANCE
Sebastian Poeplau. Jan Gassen. A Honeypot for Arbitrary Malware on USB Storage Devices
Web Based Security - Using Honeypots.pdf
Yousef T. Aburabie & Mohmed Omar Yousef T. Aburabie & Mohmed Omari. Network Forensics Tool “Honeytrap Project Honeytrap Project

Virustraps, Spamtrap:

10 Basics to Avoid Being Categorized as Spam.pdf
A Practitioner's Guide to Spam Traps.pdf
Cristian Lumezanu. Nick Feamster. Observing Common Spam in Tweets and Email.pdf
Demystifying the Anti-Spam Buzz.pdf
In Spam Blocklists and Volume.
Jaeyeon Jung. An Empirical Study of Spam Traffic and the Use of DNS Black Lists.pdf
McBoost. Boosting Scalability in Malware Collection and Analysis Using Statistical Classification of Executables.pdf
MDaemon configuration recommendations for dealing with spam related issues.pdf
Messaging, Malware and Mobile Anti-Abuse Working Group.pdf
Mind Your Blocks.pdf
Numaan Huq & Peter Szabo. TRAPPING UNKNOWN MALWARE IN A CONTEXT WEB
Oliver Hohlfeld. Longtime Behavior of Harvesting Spam Bots
Peter Haider. Bayesian Clustering for Email Campaign Detection
Spam, Real World Numbers and the Value of IP Reputation Lists.pdf
SPAM TRAPS AND HONEY POTS. DEFINITION, PREVENTION, AND ELIMINATION.pdf
The Ultimate Guide to Email Deliverablility.pdf
Trap_a_Bot_for_Fun_and_Profit_
Viruses Trojans and Spam.pdf
warning-signs-that-your-client
What-You-Need-to-Know-about-Sp
1
ФедосеевПавел
Модератор
3268 / 1878 / 754
Регистрация: 01.02.2015
Сообщений: 6,404
22.01.2017, 20:21 #63
Кратко о работе с мышью в DOS с помощью сервисного прерывания int 33h

на примере учебного задания

Манипулятор "мышь" может физически подключаться к одному из портов COM, PS/2 или USB. В каждом из этих случаев работа на "нижнем" уровне будет очень сильно различаться. Кроме того, для разных "мышей" различаться может даже формат обмена данными. Поэтому, ещё в эпоху DOS разработчики постарались упростить работу программистам, в части взаимодействия пользовательской программы с мышью (её драйвером). Это выразилось созданием в драйвере почти унифицированного пользовательского интерфейса. Взаимодействие программы с драйвером реализовано через сервисное прерывание int 33h.

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

Я отдаю себе отчёт, что на форуме будут находится студенты, а не разработчики, поэтому обзор будет очень упрощённым и кратким.

Источниками для более подробного изучения работы с мышью могут послужить материалы изВзаимодействие с драйвером происходит через пользовательское прерывание int 33h. Для этого в регистр ax загружают номер вызываемой функции, при необходимости заполняют соответствующие регистры и вызывают int 33h. Как видно из описания Ральфа Брауна, некоторые функции стандартны, а некоторые присущи конкретным драйверам. К примеру, в исходниках и в документации CuteMouse видно, что данный драйвер поддерживает функции от 00h до 21h.

Итак. Я привык к разработке сверху вниз, поэтому и пояснения буду приводить в этом порядке. Не вижу смысла в перепечатывании справочной информации по функциям int 33h.

Возьму для обозначения цели задачу Управление манипулятором мышь - изменение формы курсора в зависимости от координат.
Составить программу по управлению манипулятором «мышь». Если координаты курсора «мышь» лежат в диапазоне 0<x<300 и 0<y<100 , то курсор мыши имеет форму «+» в противном случае – «0».
Из основной программы нужно уточнить возможность работы с мышью через int 33h. Вызываем функцию MouseInit (AX=0000h), которая в регистре AX вернёт результат инициализации - успех или неудача (отсутствие самой мыши или не установлен драйвер). Естественно, если нет возможности работы с мышью, то нет нужды её конфигурировать и дальше.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
        ;попытка инициализации мыши
        call    MouseInit
        cmp     ax,     MouseInitOk
        je      @@MouseInitOk
        ;если инициализация не удалась - вывести сообщение
        ;и завершить программу
        mov     ah,     09h
        lea     dx,     msgMouseFault
        int     21h
        jmp     @@Exit
 
@@MouseInitOk:
После подтверждения возможности работы с мышью, пробуем её сконфигурировать. Настроек не много:
  • Настройка ограничения перемещения указателя (функции AX=0007h, AX=0008h).
  • Настройка формы курсора в графическом режиме, атрибутов курсора в текстовом режиме (функции AX=0009h, AX=000Ah).
Далее можно работать с мышкой просто опрашивая её состояние (позицию, нажатия кнопок) в рабочем цикле программы. Но это неудобно. Поэтому определяют процедуру пользовательского обработчика событий мыши (перемещение, нажатия кнопок). Эту процедуру будет вызывать драйвер при возникновении необходимости.
При установке обработчика указывается условие, когда он будет вызываться драйвером. Условий раз-два и обчёлся - перемещение, нажатие или отпускание одной из кнопок. Условия можно совмещать - к примеру, нажатие левой кнопки и отпускание правой
Assembler
1
2
3
4
5
6
7
8
        ;установить пользовательский обработчик событий "мыши"
        push    es
        mov     ax,     seg MyMouseHandler
        mov     es,     ax
        mov     dx,     offset  MyMouseHandler
        mov     cx,     MouseEvent_PressLeftButton OR MouseEvent_ReleaseRightButton
        call    MouseSetHandler
        pop     es
Сам обработчик опишу позже, т.к. сейчас идёт описание основной программы.

Вызываем функцию "показать курсор" (AX=0001h). С этого момента на экране виден курсор мыши.

Собственно настройку можно считать завершённой. Далее выполняется основная часть программы.
Единственно, нужно сделать примечание по поводу дополнительных манипуляций с мышью на этом этапе.
Функцию "спрятать курсор" (AX=0002h) рекомендуется вызывать каждый раз перед тем, как произвести какие-либо изменения на том участке экрана, где находится курсор. Этим Вы избежите проблем, возникающих из-за взаимодействия курсора с данными на экране. После завершения изменений вызывается функция "показать курсор" и работа продолжается.

После завершения основной части программы следует выполнить действия по завершению работы с мышью. Этих действий немного: спрятать курсор и удалить пользовательский обработчик прерывания.
Assembler
1
2
3
4
5
6
        ;завершение работы с "мышью"
        ;спрятать курсор
        call    MouseHideCursor
        ;удалить пользовательский обработчик прерывания
        mov     cx,     MouseEvent_None
        call    MouseSetHandler
Вот собственно и вся работа с мышью из основной программы.

Теперь осталось пояснить работу пользовательского обработчика. Ведь именно в нём выполнялась основная часть работы по учебному заданию (смена формы курсора в зависимости от его позиции).
Собственный обработчик событий мыши - процедура с "дальним вызовом", поэтому завершается командой retf. На вход процедуре драйвером передаются в регистрах следующие данные
Код
АХ содержит условие вызова,
ВХ - состояние кнопок,
СХ, DX - X- и Y-координаты курсора,
SI, DI - счетчики последнего перемещения по горизонтали и вертикали
      (единицы измерения для этих счетчиков - мики, 1/200 дюйма),
DS - сегмент данных драйвера мыши.
Т.е. всё, что можно опрашивать в "рукопашном" режиме, поступает в обработчик сразу при возникновении события.

Возвращаемые координаты совпадают с пиксельными координатами соответствующей точки на экране в большинстве графических режимов, кроме 04, 05, 0Dh, 13h, в которых Х-координату мыши нужно разделить на 2, чтобы получить номер столбца соответствующей точки на экране. В текстовых режимах обе координаты надо разделить на 8, чтобы получить номер строки и столбца соответственно.

Ещё нужно отметить, что сегмент данных указывает не на пользовательские данные, а на сегмент данных драйвера, поэтому потребуются некоторые манипуляции, чтобы "дотянуться" к переменным своей программы.

Для выполнения поставленной учебной задачи нужно сверить границы регионов и в зависимости от номера региона изменить форму курсора. По содержимому CX и DX выбираем текущий регион. Далее, для каждого региона по значению переменной с номером текущей формы курсора оценивается, требуется ли изменение формы, или форма курсора соответствует региону. При необходимости - вызывается функция изменения формы курсора.
Assembler
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
;Обработчик событий "мыши"
;вход
;АХ содержит условие вызова,
;ВХ - состояние кнопок,
;СХ, DX - X- и Y-координаты курсора,
;SI, DI - счетчики последнего перемещения по горизонтали и вертикали
;      (единицы измерения для этих счетчиков - мики, 1/200 дюйма),
;DS - сегмент данных драйвера мыши.
;выход
; - нет
MyMouseHandler  proc
        push    ax
        push    bx
        push    cx
        push    dx
        push    si
        push    di
        push    es
 
        ;загрузка в ax текущего номера курсора
        mov     ax,     seg MouseCurrentCursor
        mov     es,     ax
        mov     si,     offset MouseCurrentCursor
        mov     ax,     es:[si]
 
        ;выяснение, в каком регионе находится курсор
        shr     cx,     1       ;для графического видеорежима 13h нужно разделить на 2 координату X курсора
        cmp     cx,     0
        jb      @@SecondRegion
        cmp     cx,     300
        ja      @@SecondRegion
        cmp     dx,     0
        jb      @@SecondRegion
        cmp     dx,     100
        ja      @@SecondRegion
 
@@FirstRegion:
        ;для первого региона:
        ;если текущий курсор равен курсору для первого региона, то выйти
        ;иначе установить требуемый курсор и выйти
        cmp     ax,     0001h
        je      @@Exit
        call    MouseCursorCross
        mov     MouseCurrentCursor,     0001h
        jmp     @@Exit
 
@@SecondRegion:
        ;для второго региона:
        ;если текущий курсор равен курсору для второго региона, то выйти
        ;иначе установить требуемый курсор и выйти
        cmp     ax,     0002h
        je      @@Exit
        call    MouseCursorRectangle
        mov     MouseCurrentCursor,     0002h
        jmp     @@Exit
 
@@Exit:
        pop     es
        pop     di
        pop     si
        pop     dx
        pop     cx
        pop     bx
        pop     ax
        retf
MyMouseHandler  endp
Вот собственно и всё.

Целиком учебная программа приведена в теме Управление манипулятором мышь - изменение формы курсора в зависимости от координат.
В примечании R71MT очень хорошо видна форма курсора "крест" при представлении масок в двоичном коде. Стоит обратить внимание на такой способ представления формы курсора, т.к. она позволяет создавать и редактировать сразу в коде.
2
22.01.2017, 20:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2017, 20:21
Привет! Вот еще темы с ответами:

Подскажите книгу для программирования под Win32, MASM/TASM с большим количеством примеров - Assembler
Ув. форумчане, подскажите пожалуйста какую-нибудь обучающую книгу для программирования на ассемблере под Win32, MASM/TASM с большим...

Какие существуют среды программирования Assebler'a для процессоров ix86 помимо tasm, fasm, masm - Assembler
Какие существуют среды программирования Assebler'a для процессоров ix86 помимо tasm, fasm, masm? Посоветуйте литературу по этому вопросу?...

MASM,TASM - Assembler
Очевидно, что программирование на макроассемблере легче для восприятия чем на уровне команд процессору, но значит ли это что екзешники в...

TASM-MASM - Assembler
Здравствуйте стоит задача, написать программу на MASM32 ( Отображение списка файлов в каталоге ). С MASM'ом я раньше не сталкивался...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
63
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru