일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- suninatas 풀이
- python
- lord of sql injection
- IF문
- 배열
- jQuery
- 자바스크립트
- 백준 파이썬
- 포인터
- 파이썬
- 메소드
- 백준 알고리즘
- 사칙연산
- window
- Pwndbg
- 김성엽 대표님
- property
- 함수
- htmlspecialchars
- xss game 풀이
- object
- element 조회
- document
- burp suite
- 객체
- xss game
- github
- sql injection
- 조건문
- blind sql injection
Archives
- Today
- Total
power-girl0-0
어셈블리어 Lotto 본문
728x90
Ⅰ. 환경변수
1. GCC 설치(GCC 7.2.0버전)
-다운로드 경로
2. SASM안에 있는 NASM설치
– 다운로드 경로
https://dman95.github.io/SASM/
3. 배치파일을 만들기
4. Sasm과 Nasm의 프레임워크를 복사하여 배치파일과 같은 경로에 넣기
- 새로운 형태의 코딩 프레임 워크랑 기존 sasm에서 지원하는 매크로 함수를 호환해주는 효과가 있습니다.
Ⅱ. 명령어
(1) 어셈블리어 (중간파일 만들기)
32bit환경 : nasm.exe -g -f win32 <소스이름> -o <중간파일 이름>
64bit환경 : nasm.exe -g -f win64 <소스이름> -o <중간파일 이름>
(2) C언어 (중간파일 만들기)
gcc –c <소스이름>.c
(3) 링킹(실행파일 만들기)
32bit환경 : gcc.exe <중간파일이름> -g -o <실행파일 이름> -m32
64bit환경 : gcc.exe <중간파일이름> -g -o <실행파일 이름> -m64
* 명령어
-g : 디버깅 정보 포함
-f : 출력파일 포멧
-o 출력파일 이름
# 사진참고
: https://blog.naver.com/egsyt/220899267836
Ⅲ. 실행소스
(1) random_num.c
- now_time() : 현재시간을 가져와 난수가 나오도록 해주는 함수
- random_num() : 1 ~ 45사이에서 랜덤한 숫자를 뽑아와주는 함수
(2) lotto.asm
* 방식 2. 스택을 이용한 어셈블리어 코드(실행 결과값은 같습니다-!!)
Ⅳ. 결과물
(1) C언어 소스를 중간파일로 생성
(2) 어셈블리어 소스를 중간파일로 생성
(3) 실행파일 생성
(4) 결과물
728x90
Comments