1581, 76/80 ȸ  α  
   twinz
   - System Hacking Ͼ

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=788 []


Ͼ

е ũ ؼ ƴ°?
ũcrack.
μ ؼ ִ. μ?
Ʈ ũ ν ڱ ϴ ̶
ְڴ. ׸ ũŷ 迡 ġ ᱹ ũ ǹ̷ ̰ ִ.

ũ ϱؼ ᱹ ñ ؾѴ. ?
reverse
̰. Ȯ ãƺ.
Ͼ ϴ ´´.

Ͼreverse engineering
̶ ؼѴ. ϼǾ мؼ ΰ 
Ǵ мϴ , Ͼ̶ ִ.

׷ мϿ 츮 ϴ ϴ ۾ ũ ġ Ǵ ̴.

е No-CD ũ(ġ)̳ Ű(Űʷkey generator)
Ҵ°? ̵ ô.
̷ α׷ ٷ Ͼ ϼ ͵̴.

θ мؾ 츮 ϴ ϵ ƴѰ.



2, 10, 16 ׸

ΰ ִ.
Text ϰ Binary . ؽƮ ؽƮ ͷ ִ
̴. ̳ʸ ؽƮ ͷ  ȴ.
׸ ϳ . ̴.

ؽƮ ϵ ̳ʸ ̶ ִ.

ᱹ ̰ŵ. sequence of bytes̴.
bytes bytḛ byte 8bit̴. 8bit ?
01000001 ̴. ׸ A̴.

bit ̰ ƴϸ ǹϴ ǻͿ ̴ ̴.
bit ǻͿ ̴ ּ ̴. 0ƴϸ 1, yes or no!

޸忡 A Է غ. ̸ ͷ .
41
̶ ̴. Ʒ .




41 16̴. ̰ 2 ٲٸ, 01000001̴. ׸ ̰ A̴.


ؽƮ ϵ, ̳ʸ ϵ ᱹ ο 2 Ǵ ̴.
2 Ư Ŀ ִ ̸ Ģ
ǰ, ؽƮ ״ о ̴.


ƽŰASCII Ҵ°?
ASCII(American Standard Code for information interchange)
ؼڸ ȯ ̱ ǥ ڵ̴.

ƽŰڵ ⺻ 7Ʈ ̷ִ.
A ƽŰڵ忡 1000001 Ǿִ. ̴ Ģ̴.
10 ٲٸ 65 ǰ 16 ٲٸ 41 ȴ.
B 翬 1000010̰?
̷ ڵ ĺ, ڿ Ưڱ ̸ صξ.


ҸϷ ̷ Ҹ ̳ ϰ ?

2 Ծ ڵ ǹϴ ְ
ɾ ǹϴ ִٴ ̴.

16 90 ɾ nop̴.
16 EB ɾ JMP̴.
߿ ſ ״ ܿζ.

̷ ɾ CPU Ǿִ ɾ Ʈ ǹѴ.
ᱹ CPU Ǿִ ɾ 1 1 Ǵ ̴.
̴ CPU ٸ  ٸٴ ǹ̴.

̷ CPU Ǿ ִ ɾ ٷ ̰, 2 16
ǥȴ. ׸ ̰ ؼϴ ̴ 
̴.

â α׷  , α׷ ®.
ð ؽƮ ͳ ͷ  ̴.
ҸѰ ƴ϶ .
Ӹ ϰ ϱ ϰ ƴ.
̷ ̰, п ſ .
迡 ̴. 谡 ٲ  ٲ.
̷  ޾̴.

ƹư е  ˾ƾѴ. װ͵ Intel迭.
׷ .



̶ ߴ. ׸ ڴ Ư ǹ̸ .
׸ Ư Ŀ ( ) 𽺾 ְ
ҽ ´ٰ ð ̾߱ߴ.
̰ ־ 츮 ֹ ִٰ ̾߱ ߴ.



е 2, 8, 10, 16 ˾Ƶζ.
( ٲٴ ) ణ ˾ƾѴ.
Ư 2 16, ˾ƺ ϰ 10 Բ ˾Ƶθ .


ǻʹ 2 ٰ ߴ. 2 ˰ ϰ
ڸ, ۵Ѵ. 帥, 帣 ʴ
̷ ΰ ۿ ǥ Ѵ.
yes or no, ̰ Ȥ , 0 ƴϸ 1, ̷ ΰ ۿ ǥ
ϴ ̴. ̷ 2 ̰ binary Ҹ digital̶
Ҹ.

׷ ͸ , 0 1 ̷ ƴ϶ 0 F ̴ 16
ִ. ̻Ѱ?
2 ǥϵ ˾ƺⰡ ʴ. űٰ з
ġ ʰ ´.

2 : 010001000011101011010000
10: 4471504
16: 443AD0

̶ з پ ִ° ̴°?
Դٰ 2 16δ ٲ 10δ ٲٱⰡ ƴ.
⿡ 2ٵ ⿡ ȿ ٸ 翬 16
?




Ʒ Ʈ ڼ , Ƽδ ʿ
ߴ.

ȸ ¿ Ⱦ⸸ ϱ ߴ.

ϴ ٸ åڳ ͳ , ٸ е Ͼ
ٶ.


ǻ

ǻʹ Էġ, ġ, ġ Ǿִ.
߿ 츮 ˾ƾ ġ̴. ߿ ߽ɿ ִ CPU
ؼ 캸.

߾óġCPU
Central Processing Unit

߾óġ ǻ γ شϴ Էġκ
ؼ ġ ִ Ѵ.
ȮϰԴ  ϴ ̴.

츮 CPU CPU װ ޾Ƽ ɿ ´ ۾ Ѵ.
׷  ?
̴ ٷ α׷̴.

α׷ CPU ɵ ü̴.

̷ ο ϳ , , θ
Ѵ. űѰ? űϴ.
׸ 4Ģ 길 ۾ Ѵ.

׸ ε ̴. п Ʒ ̴.
𰡸 ϴµ, 翬 𰡰 ʿϴٴ ٵ ̴.
+ δ ƹ͵ Ѵ.
2 + 3̾ ̰, 5 ִ.

̷ + ǹϴ ȣ ڶ ϰ,
2 3 ϴ ̶ Ͽ ǿ(operand) θ.

꿡 ǿڰ ϳ ̻ ؾϴ ̴.

CPU Ϸ ǿڸ Է¹޾ƾ ϴ ε, 츮
Ӹ CPU ұ?

ǻͿ ణ ƴ ̷ 𸥴.
, ޸.. ϵũ.
ϵũ ݼ϶.

CPU ӵ δٰ .
ϵũ ź̴. 䳢 ?
 ź̸ °?
翬 ̴.

׷ 츮ٵ , ſ ӵ ϴ CPU ϵũ
 ? а ̴.

޶ ƹ  䶰 ̾߱⸦ ش ģ.

CPU ׷ ġ ڽŸ ʰ ġ ʿϴ.
ġ ٷ ̴.
(ijö ߴ°? ijô ƴϴ.)

ʹ 꿡 ʿ ̳ , ÷ ̳ ÷
صΰ ̴.
ʿ ؼ ϴ ̴.
Դٰ 굵 ̴.

׸ 뵵 зؼ CPU صξ.
е ̰Ϳ ؼ ˾ƾѴ.


е Ƽδ ƴѰ? ڼ Ѿ
.

    : EAX, EBX, ECX, EDX
    : ESP, EBP
  : ESI, EDI, EIP
÷
׸Ʈ : CS, DS, SS, ES...

Ͱ ̰ ߿ ִ.




General Purpose Registers

16bits Ͱ 2Ʈ 32bits Ѿ鼭 4Ʈ
ư ̸ AX, BX, CX, DX Extended پ.

Ʒ .
׸ ĭ 4bits ̴. ĭ 1byte̴.



* EAX (Accumulator)
ַ , ڷ ¿ ̴ ʹ. ٸ Ϳ
ڷ ӵ .

* EBX (Base)
ַ Ѵ. Ͷ  Ҹ Ű ̴.
ϰ ڸ " ּ "̶ ϰڴ.
ڷ ϴ.

* ECX (Count)
ַ ݺ īͷ Ǵ ̴.
ڷ ϴ.

* EDX (Data)
ַ , ڷ Է¿ ̴ ̴.

ABCD ׳ ĺ ٿٰ ߴ ִ°?
𸣸 ׷.




Stack Registers

* ESP (Stack Pointer)
ÿ ׾Ƶ ڷ ġ ϴ ͷ PUSH
POP ٲ ִ.
ڷᱸ(Ư ) ؼ ̴.

* EBP (Base Pointer)
ּҸ ϴ ͷ ٸ Ϳ Բ
ȴ.




Pointer Registers

Ư ּҸ ų ϴ ͷ ʴ´.

* ESI (Source Index)
ַ ּ Ǹ ڷḦ о ּҸ ⸮Ű
ȴ.

* EDI (Destination Index)
ַ ּ Ǹ ڷḦ ּҸ
Ű ȴ.

* EIP (Instruction Pointer)
ʹ  ϰ ɾ ִ ġ
Ű ̴.



÷
Flag Registers

÷ ʹ ɾ ϴ ͷ Ƿ
.
б , ڸ ø ǥ ֱ⿡ ÷
ʹ ߿ Ͷ ִ.

* ÷



0 - Carry: ڸ ø, ϴ ÷
1 - 1
2 - Parity : 8Ʈ 1 Ǿ ִ Ʈ ¦
̸ Ʈ
3 - 0
4 - Auxiliary carry, ij ÷
5 - 0
6 - Zero : 0̸ Ʈ
7 - Sign : ȣ ִ 꿡 Ʈ
8 - Trap : ϳ INT 01h ߻
9 - Interrupt: ͷƮ ɸ . ƮǸ ͷƮ
A - Direction: ڿ ɾ Ǵ ÷, ƮǸ SI, DI
. ڿ 񱳳 ̵ ̳

B - Overflow : Ϳ ǥ ŭ Ŭ Ʈ
CD - IOPL: ۰
E - NT : 386 ߰ Nested Task Flag
F - 0
10 - Resume: 386 ߰ Resume Flag
11 - VM: 386 ߰ Virtual Mode Flag



׸Ʈ
Segment Registers

׸Ʈ ϴ ͷ ׸Ʈ, ׸Ʈ
ϰ ִ ̴.

* CS (Code Segment)
α׷ ɾ ۵Ǵ Ű

* DS (Data Segment)
׸Ʈ Ű . , ڷᰡ Ǿ ִ ġ
Ų.

* SS (Stack Segment)
׸Ʈ ġ Ű ̴.

* ES (Extra Segment)
׸Ʈ ġ Ű ڿ ɾ DZ⵵ Ѵ.



ٺ ׸Ʈ ߴ. ׸Ʈ ¿ ؼ ߿ġ
׳ Ѿ.





⺻ ɾ


¿ 2 address ɾ ߽ Ѵ.

ɾ ̷ ִ.
[opcode] [destination operand], [source operand]
[ɾ] [ ۷], [ҽ ۷]


* PUSH: SP ͸ ϴ ɾ ϳ ÿ ͸ Ѵ.
push

push eax; eax ÿ ִ´.
push 20 ; 20 ÿ ִ´.
push 40203F ; ޸ ּ 40203F ÿ ִ´.


* POP: SP ͸ ϴ ɾ ͸ .
pop

pop eax ; ÿ eax Ϳ .


* MOV: ޸𸮳 ű δ.
move

mov eax,ebx; ebx eax ű.
mov eax,20 ; 20 eax ű.
mov eax,dword ptr [40203F] ;޸ ּ 40203F eax ű.


* LEA: ۷ ҽ ۷ .
load effective address

lea eax,ebx; eax ebx .


* INC: 1 Ų.
increase

inc eax; eax 1 Ų.


* DEC: 1 Ų.
decrease

dec eax; eax 1 Ų.


* ADD: ̳ ޸ δ.
add

add eax,ebx; eax = eax + ebx
add eax,20 ; eax = eax + 20
add eax,dword ptr [40203F] ; eax = eax + 40203F


* SUB: ̳ ޸ δ.
subtract

sub eax,ebx; eax = eax - ebx
sub eax,20 ; eax = eax - 20
sub eax,dword ptr [40203F] ; eax = eax - 40203F


* NOP: ƹ ͵ ʴ´.
no operation


* CALL: ν(procedure) ȣ δ.
call

call dword ptr [40203F]; ޸ ּ 40203F ȣѴ.


* RET, RETN: ȣ ư.
return


* CMP: Ȥ Ϳ Ѵ.
compare

cmp eax,ebx; eax ebx Ѵ.
cmp eax,20 ; eax 20 Ѵ.
cmp eax,dword ptr [40203F] ; eax ޸ 40203F Ѵ.


* JMP: Ư ġ Ѵ.
unconditional jump

jmp dword ptr [40203F] ; ޸ ּ 40203F Ѵ.


Ǻ : CMP TEST

* JE: CMP TEST ٸ
jump if equal

* JNE: CMP TEST ʴٸ
jump if not equal

* JZ: 0 ̶
jump if zero

* JNZ: 0 ƴ϶
jump if not zero

* JL:
jump if less; signed

* JNL: (ũų )
jump if not less; signed

* JB:
jump if below; unsigned

* JNB: (ũų )
jump if not below; unsigned

* JG: ũ
jump if greater

* JNG: ũ (۰ų )
jump if not greater

* JLE: ۰ų
jump if less or equal; signed

* JGE: ũų
jump if greater or equal





꿡 , ̴ and, or, not, xor, text
ٷ絵 ϰڴ.


* AND: Ǵ Ʈ 1̸ 1, 0

ǥ ˾Ƶζ.
A B &
-----
0 0 0
0 1 0
1 0 0
1 1 1


mov eax,10
and eax,8

eax ,
1010 & 1000 = 1000
8̴.


* OR: Ǵ Ʈ ϳ 1̸ 1, 0̸ 0

A B |
-----
0 0 0
0 1 1
1 0 1
1 1 1


* XOR: Ǵ Ʈ ٸ 1, 0

A B ^
-----
0 0 0
0 1 1
1 0 1
1 1 0


* NOT: Ʈ Ų.

A !
---
0 1
1 0

mov eax,8
not eax

eax ,
1000 Ų 0111̹Ƿ 7̴.


* TEST: ۷忡 ġ ʰ ÷׸ ƮŲ.




е  Ƽδ ?

ð α׷ְ 뿡 ؼ ̴.
߿ϴ.. OTL



Ʈ
dual5651 Ȩ


CRACK, Ŀ 2000, Sky Hacker, Debugging Shock ()
Computer Organization & Architecture : designing for performance - 6th ed, Pearson Education Inc 2003, William Stallings

  Hit : 9245     Date : 2007/08/25 12:51



    
V@luE ȸ1132. 0......

׷?
2010/08/19  
yswang17 մϴ! 2011/07/23  
tlstkdgns0 !! ̷ ǰ մϴ!! ߹ ~ 2011/09/22  
81   - [] ڵ     twinz
08/28 8034
80   - [ŷ] [3]     twinz
08/28 8753
79   - [ŷ] [2]     twinz
08/28 7886
78   - [ŷ] [1][3]     twinz
08/28 9814
77   - [ŷ] Ǫ     twinz
08/28 9094
76   - [ŷ] źΰ     twinz
08/28 7467
75   - [ŷ] ۿ÷ο     twinz
08/28 10320
74   - [ŷ] 鵵 Ʈ̸     twinz
08/28 9305
73   - [ŷ] HTTP Session Hijacking[1]     twinz
08/28 10537
72   - [ŷ] DOS[6]     twinz
08/28 9892
71   - [ŷ] ø̼ ŷ[1]     twinz
08/28 9867
  - System Hacking Ͼ[3]     twinz
08/25 9244
69   - netstat ù     twinz
08/27 8684
68   - Ŀ ع [322]     twinz
08/27 14956
67   - ŷ[1]     twinz
08/27 9917
66   - α׷     twinz
08/27 7638
65   - ý ?[1]     twinz
08/27 10901
64   -      twinz
08/27 7068
63   - ʿ伺[1]     twinz
08/27 10240
62   - ̷     twinz
08/25 7479
[1]..[71][72][73][74][75] 76 [77][78][79][80]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org