• Title/Summary/Keyword: assembly language code

Search Result 30, Processing Time 0.028 seconds

Similarity Detection in Object Codes and Design of Its Tool (목적 코드에서 유사도 검출과 그 도구의 설계)

  • Yoo, Jang-Hee
    • Journal of Software Assessment and Valuation
    • /
    • v.16 no.2
    • /
    • pp.1-8
    • /
    • 2020
  • The similarity detection to plagiarism or duplication of computer programs requires a different type of analysis methods and tools according to the programming language used in the implementation and the sort of code to be analyzed. In recent years, the similarity appraisal for the object code in the embedded system, which requires a considerable resource along with a more complicated procedure and advanced skill compared to the source code, is increasing. In this study, we described a method for analyzing the similarity of functional units in the assembly language through the conversion of object code using the reverse engineering approach, such as the reverse assembly technique to the object code. The instruction and operand table for comparing the similarity is generated by using the syntax analysis of the code in assembly language, and a tool for detecting the similarity is designed.

A Cross-Assembler for Assembly of Programs for an Alpha-Computer on a HP 2100S Computer (HP 2100S Computer에 의한 Alpha-Computer의 Program Assembly를 위한 Cross-Assembier의 개발)

  • 홍옥수
    • Journal of the Korean Institute of Telematics and Electronics
    • /
    • v.16 no.3
    • /
    • pp.36-48
    • /
    • 1979
  • HP 2100 S computer의 disc operating system 을 사용한 본cross-assembler는 alpha-minicomputer 의 assembly language program을 source 입력으로 하여 이 alpha-computer 에 의한 실행 (execution)을 목적으로 16진수 code의 등가 object program 을 출력토록 설계되어 있다.

  • PDF

Secure Information Flow Analysis in Mini x86 Assembly Language (Mini x86 어셈블리어에서 보안 정보 흐름 분석)

  • Kim, Je Min;Kim, Ki Tae;Yoo, Weon Hee
    • Journal of Korea Society of Digital Industry and Information Management
    • /
    • v.5 no.3
    • /
    • pp.87-98
    • /
    • 2009
  • This paper discuss secure information flow analysis and its visualization. Information leak is defined as existence of information flow from variables which have user's private informations to variables that anyone can access. Secure information flow analysis has been made to decide of whether the information leak is or not. There are many researches for secure information flow analysis concerning high level programming languages. But actually, programs that user executes don't have program source code represented in high level programming language. Thus there is need for analysis of program represented in low level language. More to analysis, visualization of analysis is very important. So, this paper discuss visualization of secure information flow analysis. In this paper, Mini x86 Assembly Language which is subset of x86 assembly language is defined and secure information flow analysis of program is proposed. In addition, this paper defines transfer function that is used for analysis and shows how to visualize control flow graph.

Visual Component Assembly and Tool Support Based on System Architecture

  • Lee, Seung-Yun;Kwon, Oh-Cheon;Shin, Gyu-Sang
    • ETRI Journal
    • /
    • v.25 no.6
    • /
    • pp.464-474
    • /
    • 2003
  • Component-based development leverages software reusability and reduces development costs. Enterprise JavaBeans (EJB) is a component model developed to reduce the complexity of software development and to facilitate reuse of components. However, EJB does not support component assembly by a plug-and-play technique due to the hard-wired composition at the code level. To cope with this problem, an architecture for EJB component assembly is defined at the abstract level and the inconsistency between the system architecture and its implementation must be eliminated at the implementation level. We propose a component-based application development tool named the COBALT assembler that supports the design and implementation of EJB component assembly by a plug-and-play technique based on the architecture style. The system architecture is first defined by the Architecture Description Language (ADL). The wrapper code and glue code are then generated for the assembly. After the consistency between the architecture and its implementation is checked, the assembled EJB components are deployed in an application server as a new composite component. We use the COBALT assembler for a shopping mall system and demonstrate that it can promote component reuse and leverage the system maintainability.

  • PDF

Development of GRAFCET programming tool for sequential control of one-board computer (GRAFCET에 의한 단일 기판 컴퓨터의 순차제어용 프로그래밍 도구의 개발)

  • 국금환;김민환;최기봉
    • 제어로봇시스템학회:학술대회논문집
    • /
    • 1991.10a
    • /
    • pp.894-899
    • /
    • 1991
  • GRAFCET is the program language for a sequential control and utilized in the description of sequence of a process. This study is to implement GRAFCET editor and compiler for personnel computer. The GRAFCET editor module is developed to use as menu-driven method based on the graphic screen and the graphic symbol. So, users can use it interactively. The GRAFCET compiler module analyzes the already drawed GRAFCET diagram, then translates it to Z80 assembly code. After generating Z80 machine code from assembly code, we can send the outputed machine code file to Z80 one-board computer through RS232C. We have developed the GRAFCET programming tool to utilize under IBM PC/AT with the VGA monitor, and it may be contribute to low cost automation system.

  • PDF

Translation Java Bytecode to EVM SIL Code for Embedded Virtual Machines

  • Lee, Yang-Sun;Park, Jin-Ki
    • Journal of Korea Multimedia Society
    • /
    • v.8 no.12
    • /
    • pp.1658-1668
    • /
    • 2005
  • This paper presents the bytecode-to-SIL translator which enables the execution of the java program in EVM(Embedded Virtual Machine) environment without JVM(java Virtual Machine), translating bytecodes produced by compiling java programs into SIL(Standard Intermediate Language) codes. EVM, what we are now developing, is a virtual machine solution that can download and execute dynamic application programs written in sequential languages like C language as well as object oriented languages such as C#, Java, etc. EVM is a virtual machine mounted on embedded systems such as mobile device, set-top box, or digital TV, and converts the application program into SIL, an assembly language symbolic form, and execute it. SIL is a virtual machine code for embedded systems, based on the analysis of existing virtual machine codes such as bytecode, MSIL, etc. SIL has such features as to accommodate various programming languages, and in particularly has an operation code set to accept both object-oriented languages and sequential languages. After compiling, a program written in java language is converted to bytecode, and also executed by JVM platform but not in other platform such as .NET, EVM platform. For this reason, we designed and implemented the bytecode-to-SIL translator system for programs written in java language to be executed in the EVM platform without JVM. This work improves the execution speed of programs, enhances the productivity, and provides an environment for programmers to execute application programs at various platforms.

  • PDF

Design and Evaluation of Function-granularity kernel update in dynamic manner (함수 단위 동적 커널 업데이트 시스템의 설계와 평가)

  • Park, Hyun-Chan;Kim, Se-Won;Yoo, Chuck
    • IEMEK Journal of Embedded Systems and Applications
    • /
    • v.2 no.3
    • /
    • pp.145-154
    • /
    • 2007
  • Dynamic update of kernel can change kernel functionality and fix bugs in runtime. Dynamic update is important because it leverages availability, reliability and flexibility of kernel. An instruction-granularity update technique has been used for dynamic update. However, it is difficult to apply update technique for a commodity operating system kernel because development and maintenance of update code must be performed with assembly language. To overcome this difficulty, we design the function-granularity dynamic update system which uses high-level language such as C language. The proposed update system makes the development and execution of update convenient by providing the development environment for update code which is same for kernel development. We implement this system for Linux and demonstrate an example of update for do_coredump() function which is reported it has a vulnerable point for security. The update was successfully executed.

  • PDF

A Device of Static Buffer Overflow Detection by using Function Summary and Tracking Information Flow of Buffer Domain (함수요약 및 버퍼의 도메인 정보흐름 추적에 의한 정적 버퍼넘침 탐지방안)

  • Lee, Hyung-Bong;Park, Jeong-Hyun;Park, Hyun-Mee
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.7 no.6
    • /
    • pp.703-714
    • /
    • 2001
  • In C language, a local buffer overflow in stack can destroy control information stored near the buffer. In case the buffer overflow is used maliciously to overwrite the stored return address, the system is exposed to serious security vulnerabilities. This paper analyzes the process of buffer overflow hacking and methodologies to avoid the attacks in details. And it proposes a device of static buffer overflow detection by using function summary and tracking information flow of buffer domain at assembly source code level(SASS, Static Assembly Source code Scanner) and then show the feasibility and validity of it by implementing a prototype in Pentium based Linux environment.

  • PDF

Implementation of Nondeterministic Compiler Using Monad (모나드를 이용한 비결정적 컴파일러 구현)

  • Byun, Sugwoo
    • Journal of the Korea Society of Computer and Information
    • /
    • v.19 no.2
    • /
    • pp.151-159
    • /
    • 2014
  • We discuss the implementation of a compiler for an imperative programming language, using monad in Haskell. This compiler involves a recursive-descent parser conducting nondeterministic parsing, in which backtracking occurs to try with other rules when the application of a production rule fails to parse an input string. Haskell has some strong facilities for parsing. Its algebraic types represent abstract syntax trees in a smooth way, and program codes by monad parsing are so concise that they are highly readable and code size is reduced significantly, comparing with other languages. We also deal with the runtime environment of the assembler and code generation whose target is the Stack-Assembly language based on a stack machine.

Optimization of HE-AAC for Korean S-DMB Using TMS320C55x DSP Core

  • Kim, Hyung-Jung;Jee, Deock-Gu
    • The Journal of the Acoustical Society of Korea
    • /
    • v.25 no.4E
    • /
    • pp.137-141
    • /
    • 2006
  • This paper presents HE-AAC decoder optimization on TMS320C55x fixed-point DSP core using a DSP-C like FFR code, which provides fast and flexible porting to a DSP core. Our optimization efforts are focused on methodologies that include general optimization methods of FFR code suitable for general DSP or RISC platform in high-level language and software optimization methods in assembly language level. The implementation result requires 48 MIPS and 135 Kbytes memory space to decode 48 Kbps stereo using real Korean S-DMB data.