You are on page 1of 6

System Design

System Design

Introduction on Assembly Language

An assembly language is a low-level computer language whose instructions correspond directly to the

machine language instructions of a specific processor type. In assembly, human-readable mnemonics

replace the binary numbers of the machine language. Because each processor type's instruction set is

unique, assembly languages are necessarily different among processor types. This paper gives a

description of event registration program that is written in assemble language. The program enables

event participants to register to take part in several activities that are being organized by the APU

Cybersecurity club.

Use of Assembly Language in Cybersecurity and Forensics

Assembly language finds many uses in the field of Cybersecurity and forensics. To investigate an

application whose source code is not available, it is necessary to discover and analyze its algorithm,

which is typically in the form of assembly code. To understand how a client/server application

communicates, it is necessary to analyze packets and reverse engineer the undocumented protocol.

Sometimes, when a specific vulnerability is exposed, a company may discover more related bugs, so

they fix them silently with no public announcements, and a person may reverse engineer the patches or

fixes and detect what changes have been made to a particular file and possibly create exploit code to

exploit it. Also, investigation of undocumented features of the operating system or a file format is also

carried out using Assembly.

MASM, NASM and TASM

There are different tools that enable one to compile, and execute assembly language code. Each of

these tools each has its own different syntax. The most popular of such tools are name NASM, TASM

and MASM. TASM AND MASM are the primary assembly language tools for the Windows Operating

System, while NASM is a cross platform compiler, although it is the primary tool for assembly

language development on Linux and Unix based systems.


Both MASM and TASM have support for macros (high level procedures), whereas NASM have very

limited support for macros. NASM has limited support for high level data types while, MASM and

TASM have support for data types, although TASM has the best. Taking these into consideration, I

would suggest that TASM is the best for cyber security and forensics.

System Flowchart
Screenshot

Source Code
Limitation

The current limitations of the include the inability for a participant to update his/her selection after

making it. Also the current system forces the participant to select a workshop, a challenge and also an

activity. This assumes that the participant is willing or is interested in these three classes of activities.

The participant cannot opt out of a registration.

Future Enhancement

Improving the usability of the system is required enhancement of the system. Support for updating

participant selection at a later date is also possible enhancement to the system. Currently the system

does not save its data to permanent storage, and all participant data is lost on system restart. Storing

data in persistent storage is another enhancement of the system.

Conclusion

Assembly language is a low level computer language that lets yous the programmer to directly

manipulate the hardware. The system described in this document is implemented in assembly language.

Specifically it is implemented in the TASM assembly language syntax. The system enables event

participants to register to attend workshops, challenges and activities, that are hosted by the club.
References

You might also like