반응형
물론 UPX압축형태는 UPX Uncompressor로 풀수 있다. (당연한이야기지만;)
하지만 우리는 손으로 직접풀기를 원한다.

손으로 직접푸는 압축을 MUC라고 부른다. (Manually UnPack)

OllyDBG로 타깃프로그램을 불러왔다. 경고가 뜬다. 내용을 읽어보니 타깃프로그램이 압축되어서 잘못된 정보가 보여질수 있다 라고 한다. 이런경우 100% 압축이다.

압축이 되어 있을경우 우선 PEID툴로 해당 타깃프로그램을 불러온다. 여기서 PEID 아래쪽 설명을 보면 압축방식이 나오는데 UPX 샬라샬라 라는 글자가 보인다.!! 자 이런경우 우리는 압축방식이 UPX로 되어 있는것임을 알수 있다.

이제 압축을 풀기위해 도구가 필요하다. OllyDBG, OllyDump, Lord PE, 그리고 방금 사용한 PEID

우선 OllyDBG로 타깃을 연다. 그러면 오류가 뜨고 계속 할래 말래 물어본다. 여기서 계속 진행함을 선택하면, 잘못된 코드 정보가 보인다. 그 이유는 압축된 코드를 다시 어셈블리어로 번역한것이라 잘못된 정보라는것이다. 여기에서 스크롤을 내려 가장 아래쪽 코드를 보자. 00,00,00,00 ........
무수히 많은 00이 보인다. 그럼 00이 시작되는 곳의 경계를 찾아보자.

UPX방식은 압축후에 압축전 진입포인트를 파일 마지막에 기록하는것 같다. 00은 파일에서 데이터가 없는부분이다. 자 그럼 파일 마지막의 00이 아닌곳을 찾고 코드를 보자.

JMP 명령이 보이는가? 00이 아닌코드들 위로 3줄만 훑어보면 바로 JMP명령이 보일것이다. UPX형태의 압축은 압축을 풀고나서 파일 마지막의 JMP문을 통해 압축푼 프로그램으로 접근한다. 그렇기에 JMP구문의 주소를 따라가면 되는것이다.

우선 파일 마지막의 JMP구문에 F2를 눌러 브레이크포인트(앞으로 브포)를 걸어준다. F9키를 누르면 브포 영역까지 순차적으로 진행한다. 진행중에 브레이크포인트로 잡아놓은 부분에 멈췄다.

우선 JMP루틴에서 멈췄으므로 따라가보자. F8 키를 누르면 한단계 진행할 수 있다. F7은 함수가 있을때 함수 안으로 따라 들어가기, F8은 함수를 따라 들어가진 않고 현재 블락에서 한단계 진행을 의미한다.

방금전 JMP루틴에서 한단계를 진행하고 나면 어떤 코드와 맞닥들이게 된다. 여기에서 마우스 오른쪽 클릭을 하자. 그러면 ADD-IN 항목을 찾을수 있는데 그곳에서 OllyDump를 선택한다. OllyDump 는 Tool 설명에서 이미 설명했다. 새로 뜨는 창에서 Rebuild Import 체크를 없애준다. 그리고 바로 덤프 시작.

설명을 하자면 우리는 압축루틴을 그냥 F9로 다 스킵해버리고 압축이 메모리에 풀린 어느 시점에 JMP명령을 브포걸어서 잡아놓고, 그 JMP명령을 따라 시작되는 압축풀린 프로그램의 첫 코드부터 쭈우우우욱 덤프해버린 것이다.

자 그럼 덤프해버린 프로그램을 exe파일로 저장했다면, 실행해보자. 띠딩! 오류가 난다. 물론이다. 프로그램 엔트리 포인트(진입점)을 찾지 못하기 때문이다. 그럼 이 진입점을 어떻게 찾아주느냐?

Lord PE 라는 프로그램을 사용하겠다. 이 프로그램역시 Tool 설명에서 설명했다.
이 프로그램으로 망가진 exe를 고쳐보자. 우선 Lord PE프로그램을 실행하고, Rebuild PE 버튼을 누르고, exe파일을 넣어보자. 메시지가 뜨면서. 완료..

exe파일을 실행해보자. 여기서 잘 실행된다면 우리는 압축된 프로그램을 압축 풀어버린것이다.
반응형

실험 실행파일 : CrackMe2.exe

사용자 삽입 이미지
[Before Unpacking]


첫번째 : upx 툴을 이용한다.
가장 빠르고 쉬운 방법..


명령 프롬프트에서 다음과 같이 입력한다.

upx -d [filename]

끝~ -_-; 같은 파일이름으로 unpacking 되어 저장된다.


두번째 : ollydbg 이용하기.


맨 뒤쯤 가면 jmp 문이 있다. 그곳에 bp를 걸고 실행(F9)한다. F8로 넘어가보면 그곳이 OEP이다. 이곳에서 우클릭하고 Dump debugged proccess를 선택하고 [ ] Rebuild Import의 체크를 해제한다. 그리고 Dump.

이제 Lord PE로 와서 Rebuild PE를 누른후 덤프한 파일을 선택한다.

사용자 삽입 이미지

 

[After Unpacking]

반응형


 비쥬얼베이직으로 만들어진 프로그램이 있는곳에

 폴더 안에 있는 vbaStrCmp2.dll, vbaStrCmp2.ini, msvbvm60.dll를 넣어주시고 실행하면..

 스트링 비교하는게 다 보입니다..

사용자 삽입 이미지


반응형

vbde... 0.85 by iorior

vb 실행파일에 대한 정보 알려주는 프로그램
반응형

   

                                             

Data Transfer

MOV

Move

데이터 이동 (전송)

PUSH

Push

오퍼랜드의 내용을 스택에 쌓는다

POP

Pop

스택으로부터 값을 뽑아낸다.

XCHG

Exchange Register/memory with Register

첫 번째 오퍼랜드와 두 번째 오퍼랜드 교환

IN

Input from AL/AX to Fixed port

오퍼랜드로 지시된 포트로부터 AX에 데이터 입력

OUT

Output from AL/AX to Fixed port

오퍼랜드가 지시한 포트로 AX의 데이터 출력

XLAT

Translate byte to AL

BX:AL이 지시한 데이블의 내용을 AL로 로드

LEA

Load Effective Address to Register

메모리의 오프셋값을 레지스터로 로드

LDS

Load Pointer to DS

REG←(MEM), DS←(MEM+2)

LES

Load Pointer ti ES

REG←(MEM), ES←(MEM+2)

LAHF

Load AH with Flags

플래그의 내용을 AH의 특정 비트로 로드

SAHF

Store AH into Flags

AH의 특정 비트가 플래그 레지스터로 전송

PUSHF

Push Flags

플래그 레지스터의 내용을 스택에 쌓음

POPF

Pop Flags

스택으로부터 플래그 레지스터로 뽑음

Arithmetic

ADD

Add

캐리를 포함하지 않은 덧셈

SBB

Subtract with Borrow

캐리를 포함한 뺄셈

DEC

Decrement

오퍼랜드 내용을 1 감소

NEG

Change Sign

오퍼랜드의 2의 보수, 즉 부호 반전

CMP

Compare

두 개의 오퍼랜드를 비교한다

ADC

Add with Carry

캐리를 포함한 덧셈

INC

Increment

오퍼랜드 내용을 1 증가

AAA

ASCII adjust for Add

덧셈 결과 AL값을 UNPACK 10진수로 보정

DAA

Decimal adjust for Add

덧셈 결과의 AL값을 PACK 10진수로 보정

SUB

Subtract

캐리를 포함하지 않은 뺄셈

AAS

ASCII adjust for Subtract

뺄셈 결과 AL값을 UNPACK 10진수로 보정

DAS

Decimal adjust for Subtract

뺄셈 결과의 AL값을 PACK 10진수로 보정

MUL

Multiply (Unsigned)

AX와 오퍼랜드를 곱셈하여 결과를 AX 또는 DX:AX에 저장

IMUL

Integer Multiply (Signed)

부호화된 곱셈

AAM

ASCII adjust for Multiply

곱셈 결과 AX값을 UNPACK 10진수로 보정

DIV

Divide (Unsigned)

AX 또는 DX:AX 내용을 오퍼랜드로 나눔. 몫은 AL, AX 나머지는 AH, DX로 저장

IDIV

Integer Divide (Signed)

부호화된 나눗셈

AAD

ASCII adjust for Divide

나눗셈 결과 AX값을 UNPACK 10진수로 보정

CBW

Convert byte to word

AL의 바이트 데이터를 부호 비트를 포함하여 AX 워드로 확장

CWD

Convert word to double word

AX의 워드 데이터를 부호를 포함하여 DX:AX의 더블 워드로 변환

Logic

NOT

Invert

오퍼랜드의 1의 보수, 즉 비트 반전

SHL/SAL

Shift logical / arithmetic Left

왼쪽으로 오퍼랜드만큼 자리 이동 (최하위 비트는 0)

SHR

Shift logical Right

오른쪽으로 오퍼랜드만큼 자리 이동 (최상위 비트 0)

SAR

Shift arithmetic Right

오른쪽 자리이동, 최상위 비트는 유지

ROL

Rotate Left

왼쪽으로 오퍼랜드만큼 회전 이동

ROR

Rotate Right

오른쪽으로 오퍼랜드만큼 회전 이동

RCL

Rotate through Carry Left

캐리를 포함하여 왼쪽으로 오퍼랜드만큼 회전 이동

RCR

Rotate through Carry Right

캐리를 포함하여 오른쪽으로 오퍼랜드만큼 회전 이동

AND

And

논리 AND

TEST

And function to Flags, no result

첫 번째 오퍼랜드와 두 번째 오퍼랜드를 AND하여 그 결과로 플래그 세트

OR

Or

논리 OR

XOR

Exclusive Or

배타 논리 합 (OR)

String Manipulation

REP

Repeat

REP 뒤에 오는 스트링 명령을 CX 0이 될 때까지 반복

MOVS

Move String

DS:SI가 지시한 메모리 데이터를 ES:DI가지시한 메모리로 전송

CMPS

Compare String

DS:SI ES:DI의 내용을 비교하고 결과에 따라 플래그 설정

SCAS

Scan String

AL 또는 AX ES:DI가 지시한 메모리 내용 비교하고 결과에 따라 플래그 설정

LODS

Load String

SI 내용을 AL 또는 AX로 로드

STOS

Store String

AL 또는 AX ES:DI가 지시하는 메모리에 저장

Control Transfer

CALL

Call

프로시저 호출

JMP

Unconditional Jump

무조건 분기

RET

Return from CALL

CALL로 스택에 PUSH된 주소로 복귀

JE/JZ

Jump on Equal / Zero

결과가 0이면 분기

JL/JNGE

Jump on Less / not Greater or Equal

결과가 작으면 분기 (부호화된 수)

JB/JNAE

Jump on Below / not Above or Equal

결과가 작으면 분기 (부호화 안 된 수)

JBE/JNA

Jump on Below or Equal / not Above

결과가 작거나 같으면 분기 (부호화 안 된 수)

JP/JPE

Jump on Parity / Parity Even

패리티 플레그가 1이면 분기

JO

Jump on Overflow

오버플로가 발생하면 분기

JS

Jump on Sign

부호 플레그가 1이면 분기

JNE/JNZ

Jump on not Equal / not Zero

결과가 0이 아니면 분기

JNL/JGE

Jump on not Less / Greater or Equal

결과가 크거나 같으면 분기 (부호화된 수)

JNLE/JG

Jump on not Less or Equal / Greater

결과가 크면 분기 (부호화된 수)

JNB/JAE

Jump on not Below / Above or Equal

결과가 크거나 같으면 분기 (부호화 안 된 수)

JNBE/JA

Jump on not Below or Equal / Above

결과가 크면 분기 (부호화 안 된 수)

JNP/JPO

Jump on not Parity / Parity odd

패리티 플레그가 0이면 분기

JNO

Jump on not Overflow

오버플로우가 아닌 경우 분기

JNS

Jump on not Sign

부호 플레그가 0이면 분기

LOOP

Loop CX times

CX 1감소하면서 0이 될 때까지 지정된 라벨로 분기

LOOPZ/LOOPE

Loop while Zero / Equal

제로 플레그가 1이고 CX≠0이면 지정된 라벨로 분기

LOOPNZ/LOOPNE

Loop while not Zero / not Equal

제로 플레그가 0이고 CX≠0이면 지정된 라벨로 분기

JCXZ

Jump on CX Zero

CX 0이면 분기

INT

Interrupt

인터럽트 실행

INTO

Interrupt on Overflow

오버플로우가 발생하면 인터럽트 실행

IRET

Interrupt Return

인터럽트 복귀 (리턴)

Processor Control

CLC

Clear Carry

캐리 플레그 클리어

CMC

Complement Carry

캐리 플레그를 반전

CLD

Clear Direction

디렉션 플레그를 클리어

CLI

Clear Interrupt

인터럽트 플레그를 클리어

HLT

Halt

정지

LOCK

Bus Lock prefix

 

STC

Set Carry

캐리 플레그 셋

NOP

No operation

 

STD

Set Direction

디렉션 플레그 셋

STI

Set Interrupt

인터럽트 인에이블 플레그 셋

WAIT

Wait

프로세서를 일지 정지 상태로 한다

ESC

Escape to External device

이스케이프 명령


Push: sp 레지스터를 조작하는 명령어중의 하나이다.

스택에 데이터를 저장하는데 쓰인다.

ex:) Push eax

:스택에 Eax의 값을 스택에 저장한다.

ex:) Push 20

:즉석값인 20을 스택에 저장한다.

ex:) Push 401F47

:메모리 오프셋 401F47의 값을 스택에 저장한다.


Pop: 이또한 sp 레지스터를 조작하는 명령어중 하나

이다. 스택에서 데이터를 꺼내는데 쓰인다.

ex:) Pop eax

:스택에 가장 상위에 있는 값을 꺼내애서 eax에 저장

주의점: Push 의 역순으로 값은 스택에서 Pop 된다.


Moo 메모리나 레지스터의 값을 옮길떄[로 만들떄]

쓰인다.

ex:) Mov eax,ebx

:ebx 레지스터의 값을 eax로 옮긴다[로 만든다].

ex:) Mov eax,20

:즉석값인 20을 eax레지스터 에 옮긴다[로 만든다].

ex:) Mov eax,dword ptr[401F47]

:메모리 오프셋 401F47 의 값을 eax에 옮긴다[로 만든다]


Lea: 오퍼렌드1의 값을 오퍼렌드2의 값으로 만들어준다.

ex:) Lea eax,ebx

:eax레지스터의 값을 ebx의 값으로 만든다.


Inc: 레지스터의 값을 1증가 시킨다.

ex:) Inc eax

:Eax 레지스터의 값을 1증가 시킨다.


Dec: 레지스터의 값을 1 감소 시킨다.

ex:) Dec eax

:Eax 레지스터의 값을 1 감소 시킨다.


Add: 레지스터나 메모리의 값을 덧셈할떄 쓰임.

ex:) Add eax,ebx

:Eax 레지스터의 값에 ebx 값을 더한다.

ex:) Add eax,50

:Eax 레지스터에 즉석값인 50을 더한다.

ex:) Add eax,dword ptr[401F47]

:Eax 레지스터에 메모리 오프셋 401F47의 값을 더한다.

반응형
The.Art.Of.Assembly.Language.(Windows.Edition)  (영문) PDF The.Art.Of.Assembly.Language  (영문)  HTML
그외 어셈자료..
pcasm-book.pdf
반응형

Cracking & Reverse Engineering

크랙과 리버스 엔지니어링에 관한 자료를 제공합니다. 주로 제가 크랙한 프로그램에 대한 자료를 제공합니다. 하지만 제 실력이 그리 좋지 않은 관계로 하이레벨 자료를 기대하지 않는게 좋습니다. ^^; 직업(?)이 아니라 취미로 하는것이기에... 좀 전문적이지 않습니다. 가끔씩 머리가 아플때마다 머리식히기 위해서 하는데 상당히 재미있습니다. 여러분도 한번 해보세요. ^^

Fry (Translate ALZIP to ZIP) - 2004년 2월 8일

어제 웃대에서 휴식을 취하고 있다가 안타까운 글을 읽었습니다. 모 개발자와 모 업체가 알집 파일을 푸는 알고리즘을 갖고 서로 싸우는 내용이었는데, 개인적으로 보기 안좋더군요. 한국사람들끼리 원수처럼 싸우는 것이 참... 그렇게 헐뜯고 싸울만큼 가치있는 기술도 아닌데 말이죠. 리버스 엔지니어링에 조금이라도 경험이 있는 분이라면 손쉽게 분석하실수 있습니다. 아래는 간단한 예제 코드 입니다. 알집이 zip 알고리즘을 그대로 사용하기 때문에, 헤더만 조금 고쳐주시면 zip 파일로 손쉽게 변환이 가능하죠. 아래 예제에서는 한개의 파일만 압축되어 있는 알집 파일을 zip파일로 변환시키는 모습입니다. 코드를 조금 수정 하시면, 여러개의 파일이 압축되어 있는 알집 파일도 변환 가능하죠. 뭐 다 아시겠지만.. ^^

  • fry.zip - 소스 파일 입니다. 콘솔에서 테스트 하다가 mfc로 옮기다 보니 소스가 좀 지저분 합니다. ^^;

Tinker Bell for WinMine 2000 Pro & XP Pro - 2003년 7월 1일

지뢰찾기 맵핵 입니다. 시스템 전역 후킹 라이브러리를 만들다가, 어떻게 하다보니 만들게 되었습니다. 황당하게도 프로그램 이름은 팅커벨로 정했습니다. 만들고 있던 라이브러리 이름이 후크선장 이어서 무의식적으로 프로젝트 이름을 팅커벨로 입력해 버렸거든요. 후킹 라이브러리에서 사용하는 부분들을 그대로 팅커벨(MFC)로 옮기다 보니 소스의 변수 선언부가 약간 어지럽습니다. 혹시라도 소스 보실분은 이점 이해해 주세요. 2003년 7월 1일 업데이트 이후로 윈도우즈 2000 프로페셔널 버젼과 함께 윈도우즈 XP 프로페셔널 버젼의 지뢰찾기도 맵핵이 됩니다. 나머지는 리버싱을 안해봐서 잘 모르겠네요. 선언부만 변경해주시면 다른 버젼도 적용 가능합니다. ^^

  • winmine.zip - Windows 2000 Professional에 들어있는 지뢰찾기 실행파일 입니다.
  • tinkerbell.zip [screenshot 1st 2nd] - 팅커벨 소스 파일입니다. Visual C++ 7.0이 필요합니다. 서비스팩 깔기 귀찮아서 이제부터 6.0은 안쓰기로 했습니다. ^^

'WinMine for Windows 2000 Professional' Cracking - 2003년 4월 25일

이번 크랙은 정말 얼떨결에 하게 됐습니다. 어떻게 된거나면, dcinside란 곳에서 놀고있는데 한분이 자신이 지뢰찾기 게임을 중급자 모드로 해서 30초만에 클리어 했다는 글을 올리신 것에서 부터 시작됐죠. 이후로 다른분들이 많이 도전하셨지만 50초가 최고였습니다. 저도 지뢰찾기는 꽤 한다고 생각했는데, 쉽지가 않더군요. 하지만, 뭐 모로가든 서울만 가면 된다는 말이 있잖습니까. 게임이 어려우면 내게 쉽도록 바꾸면 되죠. ^^ 이번 크랙은 간단했습니다. 약 100byte 정도의 코드만 추가해 주시면 되요. 한번 해보세요.

  • Original WinMine - Windows 2000 Professional에 들어있는 지뢰찾기 실행파일 입니다. 공짜에요. (맞죠?)
  • Cracked WinMine [screenshot 1st 2nd 3rd] - 크랙된 지뢰찾기 실행파일 입니다. 아래 두번째 사진이 크랙된 모습이에요. 실행하시면 지뢰가 보입니다. O_O;;;;

'ReverseMe#1 by SantMat' Reverse Engineering - 2002년 12월 9일

ReverseMes.de에 있는 문제 입니다. 처음 해보는 리버싱이지만 스토리를 갖고 있어서 상당히 재밌게 했습니다. ^^ 인류의 종말(멸망?)을 구한 영웅이 된 기분이랄까요? ㅎㅎ. 크랙보다는 훨씬 재미있네요. 이거 하면서 가장 힘들었던 점은 기계어 코드를 직접 입력하는것.. --; OpGen이라는 명령어 생성기를 구했는데 2000에서는 안돌아 가더군요. (미치는줄 알았음.) 그래서 생각보다 시간이 많이 걸려 버렸습니다. 계속 구해보다가 못구하면 하나 만들어서 써야 겠네요. 쩝. 그리고 리버스한 프로그램의 암호는 'fuckingUSA'로 설정했습니다. 미국이 싫어요! >.< ReverseMes에 리버스한 프로그램이랑 튜토리얼을 올릴려고 했는데 'fuckingUSA'암호로 올렸다가는 매장당할것 같아서 못올리겠네영 ㅋㅋ.. 그렇다고 암호는 바꾸기 싫고. -_- 암튼 잼있으니 여러분도 한번 해보세요. ^^

'CrackMe B1' Cracking - 난이도 : 4/10, 2002년 12월 3일

Le4rN TO Cr4cK에 있는 난이도 4의 문제 입니다. 아래의 문제들과는 달리 패치를 하는게 아니라 암호 key를 찾는 것 입니다. 크랙해 보니까 확실히 패치하는 것 보다는 어렵더군요. 디어셈 해보시면 아시겠지만 key에 따른 function table이 메모리에 있어서 그걸 참조 합니다. 더이상 말하면 재미 없겠죠? ^^; 한번 풀어보세요. 아마 연습장과 계산기가 필요하실 겁니다. ^^

  • CrackMe B1 - CrackMe B1 프로그램 입니다.
  • 튜토리얼 문서 [screenshot] - 아직 공개하지 않습니다. 'Le4rN TO Cr4cK'에서 출제중인 문제입니다. 따라서 스크린샷만 공개합니다.

'CrackMe 8' and 'CrackMe 8.1' Cracking - 난이도 : 1/10, 2/10, 2002년 12월 3일

Le4rN TO Cr4cK에 있는 난이도 1과 2의 문제 입니다. 프로그램을 실행하면 'Unregistered'라고 나오면서 등록하라고 그러는데 이걸 크랙해서 'Registered'라고 나오도록 바꾸면 됩니다. 이건 제가 가장 처음에 도전한 문제입니다. 이 두개는 똑같은 방법으로 풀었습니다. 그래서 이렇게 같이 적습니다. 출제자는 뭔가다르게 바꾼것 같은데 뭘 의도한지는 잘 모르겠네요. --; 쉬운 난이도인만큼 실제로 머리쓸일은 없을 겁니다.

  • CrackMe 8, CrackMe 8.1 - CrackMe 8과 CrackMe 8.1 프로그램 입니다.
  • 튜토리얼 문서 [screenshot] - 아직 공개하지 않습니다. 'Le4rN TO Cr4cK'에서 출제중인 문제입니다. 따라서 스크린샷만 공개합니다.

유용한 문서

홈페이지 링크

    $ 국내 홈페이지 $
  • Le4rN TO Cr4cK - 국내 크래킹 관련 포럼. 많은 해커들이 자신이 크래킹한 프로그램에 대한 튜토리얼 문서를 제공.
  • oPEN rEVERSE fORUMS - 리버스 엔지니어링 포럼.
  • dive2code님의 홈페이지 - 크래킹에 필요한 여러 문서를 공개.
  • x3chun님의 홈페이지 - 크래킹과 리버스 엔지니어링에 관한 문서와 프로젝트를 진행.

    $ 국외 홈페이지 $
  • CrackMes.de - 전세계 크래커들이 모여있는 곳. 난이도별로 수많은 크래킹 문제들 출제.
  • ReverseMes.de - 리버스 엔지니어링 사이트.
  • Crack Store - 폴란드의 크래킹 커뮤니티. 크래킹에 필요한 툴, 튜토리얼 문서, 툴사용 문서, 소스등을 제공.
  • Programmer Tools - 컴파일, 디버깅, 패킹 관련 툴을 제공.
  • Stenri님의 홈페이지 - 소프트아이스 화면을 캡쳐하는 IceExt라는 플러그인을 개발.
  • CoDe_InSiDe's Manual UnPacking Page - Packer와 Encrypter에 관한 문서 제공.
반응형

출처 : http://www.hackerschool.org

[어셈블리어] Win32 API Assembly 강좌

작성자 : nyam(천세진)
출처 : http://blog.naver.com/zoware.do
기타 : ZIP 압축 파일입니다.



[어셈블리어] 어셈블리어 강좌

출처 : http://blog.naver.com/zoware.do



[어셈블리어] 매크로 어셈블러에 관한 작은 이야기 (HWP 버젼)

작성자 : 김대수
출처 : http://blog.naver.com/zoware.do



[어셈블리어] 매크로 어셈블러에 관한 작은 이야기

작성자 : 김대수
출처 : http://blog.naver.com/zoware.do



[어셈블리어] 어셈블리 초급 기초 #2

작성자 : 정태식
출처 : http://blog.naver.com/zoware.do



[어셈블리어] 어셈블리 초급 기초 #1

작성자 : 정태식
출처 : http://blog.naver.com/zoware.do



[어셈블리어] MASM 6.0 사용법

작성자 : 정재흠(천사)
출처 : http://blog.naver.com/zoware.do



[어셈블리어] 인라인 어셈블리어 강좌

제목 : 인라인 어셈블리어 강좌
작성자 : ddoch(한동훈)



[어셈블리어] 인라인 어셈블리를 분석하자!

제목 : 인라인 어셈블리를 분석하자!
작성자 : ddoch(한동훈)



[어셈블리어] 어셈블리어 강좌 7

제목 : 어셈블리어 강좌 7



[어셈블리어] 어셈블리어 강좌 6

제목 : 어셈블리어 강좌 6



[어셈블리어] 어셈블리어 강좌 5

제목 : 어셈블리어 강좌 5



[어셈블리어] 어셈블리어 강좌 4

제목 : 어셈블리어 강좌 4



[어셈블리어] 어셈블리어 강좌 3

제목 : 어셈블리어 강좌 3



[어셈블리어] 어셈블리어 강좌 2

제목 : 어셈블리어 강좌 2



[어셈블리어] 어셈블리어 강좌 1

제목 : 어셈블리어 강좌 1

반응형
시스템프로그래밍(어셈블리어) 자료

전자계산기에선 독립적인 과목으로

조직응용에선 어셈블리어 파트를 공부하기 위해 공부해야 하는 과목으로

시스템 프로그래밍이 있습니다.

책마다 범위가 좀 다르던데 제가 이전에 본 책에선 운영체제에 대한 소개까지만 있었거든요

암튼 이 내용은 시스템 프로그래밍 자료입니다.


자료를 인터넷에서 구하긴 했는데 자료에 저작권 표시도 없고 해서 이렇게 올립니다.

원 저자라도 알았다면 저자에게 양해를 구햇을 터인데.... 저자도 안적혀 있더군요.

그래서 이렇게 올립니다.


이 자료의 모든 범위가 전자계산기 조직응용에 나옵니다.




반응형
Tsearch 한글 수정판 bisket 2

한글로 패치한 Tsearch 와 동일한 프로그램이다.



+ Recent posts