티스토리 뷰
간단한 C/C++ 소스를 작성하고 어셈 공부를 하고 싶을 때가 있다.
이 때에 디버깅을 하면 되겠지만,
그냥 텍스트로 보고 싶을 때가 있을 것이다.
이럴때 프로젝트 빌드시 '.COD' 파일을 생성하도록 하면 유용하다.
[빌드 명령 및 옵션]
cl /c /Fc /FC test_helloworld.cpp
아래와 같이 .COD 파일이 생성되어 있다.
이 때에 디버깅을 하면 되겠지만,
그냥 텍스트로 보고 싶을 때가 있을 것이다.
이럴때 프로젝트 빌드시 '.COD' 파일을 생성하도록 하면 유용하다.
[빌드 명령 및 옵션]
cl /c /Fc /FC test_helloworld.cpp
아래와 같이 .COD 파일이 생성되어 있다.
TITLE d:\projects_svn\test_helloworld\test_helloworld.cpp
.386P
include listing.inc
if @Version gt 510
.model FLAT
else
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
_DATA SEGMENT DWORD USE32 PUBLIC 'DATA'
_DATA ENDS
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
_BSS SEGMENT DWORD USE32 PUBLIC 'BSS'
_BSS ENDS
$$SYMBOLS SEGMENT BYTE USE32 'DEBSYM'
$$SYMBOLS ENDS
$$TYPES SEGMENT BYTE USE32 'DEBTYP'
$$TYPES ENDS
_TLS SEGMENT DWORD USE32 PUBLIC 'TLS'
_TLS ENDS
FLAT GROUP _DATA, CONST, _BSS
ASSUME CS: FLAT, DS: FLAT, SS: FLAT
endif
PUBLIC _main
EXTRN _printf:NEAR
_DATA SEGMENT
$SG580 DB 'Hello World!', 0aH, 00H
_DATA ENDS
_TEXT SEGMENT
_main PROC NEAR
; 7 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
; 8 : printf("Hello World!\n");
00003 68 00 00 00 00 push OFFSET FLAT:$SG580
00008 e8 00 00 00 00 call _printf
0000d 83 c4 04 add esp, 4
; 9 : return 0;
00010 33 c0 xor eax, eax
; 10 : }
00012 5d pop ebp
00013 c3 ret 0
_main ENDP
_TEXT ENDS
END
.386P
include listing.inc
if @Version gt 510
.model FLAT
else
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
_DATA SEGMENT DWORD USE32 PUBLIC 'DATA'
_DATA ENDS
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
_BSS SEGMENT DWORD USE32 PUBLIC 'BSS'
_BSS ENDS
$$SYMBOLS SEGMENT BYTE USE32 'DEBSYM'
$$SYMBOLS ENDS
$$TYPES SEGMENT BYTE USE32 'DEBTYP'
$$TYPES ENDS
_TLS SEGMENT DWORD USE32 PUBLIC 'TLS'
_TLS ENDS
FLAT GROUP _DATA, CONST, _BSS
ASSUME CS: FLAT, DS: FLAT, SS: FLAT
endif
PUBLIC _main
EXTRN _printf:NEAR
_DATA SEGMENT
$SG580 DB 'Hello World!', 0aH, 00H
_DATA ENDS
_TEXT SEGMENT
_main PROC NEAR
; 7 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
; 8 : printf("Hello World!\n");
00003 68 00 00 00 00 push OFFSET FLAT:$SG580
00008 e8 00 00 00 00 call _printf
0000d 83 c4 04 add esp, 4
; 9 : return 0;
00010 33 c0 xor eax, eax
; 10 : }
00012 5d pop ebp
00013 c3 ret 0
_main ENDP
_TEXT ENDS
END
'IT > 프로그래밍' 카테고리의 다른 글
Python - URLLIB - GetAddrInfo Failed (0) | 2009.09.25 |
---|---|
[Python] win32net.NetUseAdd() 오늘의 시행착오 (1) | 2009.09.21 |
Python 으로 작성한 Script 를 EXE 파일로 변환 (0) | 2009.09.16 |
프로젝트 : error PRJ0003 : 'mt.exe'을(를) 생성하는 동안 오류가 발생했습니다. (3) | 2009.09.08 |
MFC에서 키보드 제어를 해야 할 경우 (PreTranslateMessage 이용) (0) | 2009.07.23 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
- 지루박멸연구센타
- 열정의 힘을 믿는다
- Le4rN TO Cr4cK
- 디버깅에관한모든것(DebugLab)
- sysinternals
- FoundStone
- hashtab
- 보안-coderant
- 디바이스드라이버 개발자 포럼
- dualpage.muz.ro
- osronline.com - 드라이버 관련 정보 사이트
- NtInternals - NativeAPI Refere…
- pcthreat - spyware 정보 제공
- rootkit.com - 루트킷 관련 정보
- www.ntinternals.net
- WINE CrossRef. - source.winehq…
- tuts4you
- hex-rays
- idapalace
- idefense
- immunityinc
- threatexpert
- hdp.null2root.org
- www.crackstore.com
- crackmes.de
- www.who.is
- www.cracklab.ru
- community.reverse-engineering.…
- video.reverse-engineering.net
- SnD
- 클레이 키위
- reversengineering.wordpress.co…
- www.openrce.org
- www.woodmann.com
- PEID.Plusins.BobSoft
- roxik.com/pictaps/
- regexlib.com
- spyware-browser.com
- www.usboffice.kr
- regulator
- www.txt2re.com
- ietab.mozdev.org
- zesrever.xstone.org
- www.heaventools.com/PE-file-he…
- www.heaventools.com
- www.innomp3.com
- 울지않는벌새
- exetools.com-forum
- exetools.com
- utf8 conv
- robtex - IP trace
- onsamehost - same IP sites
- JpopSuki
- jsunpack.jeek.org
- wepawet.iseclab.org
- www.jswiff.com
- www.hackeroo.com
- winesearcher.co.kr
- khpga.org
- malwareurl.com
- anubis.iseclab.org
- www.crummy.com-eautifulSoup
- malwarebytes.org/forums
- bbs.janmeng.com
- blackip.ustc.edu.cn
- eureka.cyber-ta.org
- exploit-db.com
TAG
- ROA
- 공공인프라
- 미국주식
- INVOICE
- 군함도
- SBI저축은행
- 피봇
- 맥쿼리인프라
- ChatGPT
- 주택구매력지수
- ElasticSearch
- Pivot
- 사회간접자본
- PIR
- 매매가격지수
- O365
- ubuntu
- 실시간트래이딩
- systemd
- 전세매매지수
- 시스템트래이딩
- logrotate
- hai
- 주식트래이딩
- 주식
- 다올저축은행
- 신한저축은행
- CriticalSection
- 레고랜드
- 자동트래이딩
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함