• 제목/요약/키워드: assembly language code

검색결과 30건 처리시간 0.021초

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

  • 유장희
    • 한국소프트웨어감정평가학회 논문지
    • /
    • 제16권2호
    • /
    • pp.1-8
    • /
    • 2020
  • 컴퓨터 프로그램의 표절 또는 복제에 대한 유사도 검출은 구현에 사용된 프로그래밍 언어, 분석 대상 코드의 종류에 따라 각기 다른 감정 방법과 도구가 필요하다. 최근 들어 증가하고 있는 내장형 시스템의 목적 코드에 대한 유사도 감정은 원시 코드와 비교해 더욱 복잡한 과정 및 고도의 기술과 함께 상당한 자원을 요구하고 있다. 본 연구에서는 목적 코드를 대상으로 역 어셈블리 기법의 적용과 같은 역공학 방법을 이용하여, 목적 코드의 어셈블리어 변환을 통한 어셈블리어 레벨에서의 함수 단위 유사도 감정 방법에 관하여 연구하였다. 그리고, 어셈블리어 레벨에서의 유사도 비교를 위해 코드의 구문분석을 통한 명령어 및 오퍼랜드 테이블을 생성하고, 이를 대상으로 유사도를 검출할 수 있는 도구의 설계에 관하여 기술하였다.

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

  • 홍옥수
    • 대한전자공학회논문지
    • /
    • 제16권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

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

  • 김제민;김기태;유원희
    • 디지털산업정보학회논문지
    • /
    • 제5권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
    • /
    • 제25권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

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

  • 국금환;김민환;최기봉
    • 제어로봇시스템학회:학술대회논문집
    • /
    • 제어로봇시스템학회 1991년도 한국자동제어학술회의논문집(국내학술편); KOEX, Seoul; 22-24 Oct. 1991
    • /
    • 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
    • 한국멀티미디어학회논문지
    • /
    • 제8권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)

  • 박현찬;김세원;유혁
    • 대한임베디드공학회논문지
    • /
    • 제2권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)

  • 이형봉;박정현;박현미
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제7권6호
    • /
    • pp.703-714
    • /
    • 2001
  • C 언어에서 스택에 할당된 지역변수가 넘칠 경우 주변에 위치한 제어정보가 손상을 입는다. 이러한 C언어 특성이 악의적으로 사용되어 주변의 복귀주소가 교묘하게 조작되면 그 시스템을 심각한 보안상 위험에 노출된다. 본 논문에서는 이러한 버퍼넘침을 유발하는 라이브러리 함수에 전달된 버퍼의 도메인 정보흐름을 추적하여 프로그램 작성자에게 버퍼넘침 가능성을 통지할 수 있는 정적 어셈블리 소스코드 탐색(static assembly source code scan)방안을 제안하고 그 실현 가능성 및 유의성을 펜티엄기반 리눅스 환경에서의 프로토타입 구현으로 진단한다.

  • PDF

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

  • 변석우
    • 한국컴퓨터정보학회논문지
    • /
    • 제19권2호
    • /
    • pp.151-159
    • /
    • 2014
  • 본 연구에서는 Haskell의 모나드 기법을 이용한 명령형 언어의 컴파일러 구현에 대해 논의한다. 이 컴파일러는 한 생성 룰이 입력 스트링의 파싱을 실패할 때 다른 생성 룰로써 파싱하는 backtracking 기능의 비 결정적 Recursive Descent Parser를 포함한다. Haskell은 파싱에 필요한 우수한 기능들을 가지고 있다. Haskell의 대수적 타입은 추상구문트리를 자연스럽게 표현할 수 있으며, 모나드 파싱을 적용한 프로그램 코드는 매우 간결하여 가독성이 좋고, 타 언어에 의해 구현된 것에 비해 코드의 양이 획기적으로 감소된다. 이 컴파일러의 목적 코드는 스택 머신을 기반으로 한 Stack-Assembly 언어로서 이것을 위한 코드 생성과 어셈블러 실행 환경에 대해서도 논의한다.

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
    • /
    • 제25권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.