리버싱 주말반 3차

2011년 6월 18일 토요일

오후 1:53

Add = 더하기

Sub = 빼기

Inc  = ++의미(c언어)

Doc = --를 의미(c언어)

화면 캡처: 2011-06-18, 오후 2:2

Rep = 한줄반복

Loop = 구문반복 - ecx가 1일때 0이 떨어지면서 끝

곱셈

Mul = 곱셈 명령어

Mul = 부호 신경안쓰고 저장

Imul = 사인드

나눗셈

Div = xor = 언사인드

Idiv = = 부호비트 사인드  cbw = 부호 확장비트

Eax - 몫 작은비트는 작은값은 여기에 저장

Ecx - 나머지 저장

.date = 데이트영역에 넣겠다

.code = 코드영역에 넣겠다

위넥스

화면 캡처: 2011-06-18, 오후 5:17

바이트오더링 - 메모리에 저장할때만 거꿀로 나온다 cpu레지터랑은 상관이 없다.

Test = 내부적으로 and연산을 하는 명령어 (결과를 저장하지 않는다)

Offset = 시작지점부터의 거리

Repne = 같지않을때까지 반복해라. ZF(제로플래그)가 1일때까지 반복하라.

Scasb = 바이트단위로 비교한다. - 한번비교를 한뒤 다음글자로 넘어간다.

Scasw = word단위로 비교한다. - 메모리에서 출력 될때는 바이트오더링

Stosb = 스토어 스트링 b=바이트단위로 저장 w=워드 단위로저장 d=디워드 단위로 저장

ㄴ

함수 호출 규약

[알라딘]사이버 보안 바이블 세트 - 전3권

화면 캡처: 2011-06-18, 오후 4:35

함수 호출 규약

Callee - 스텍정리를 신경 쓸 필요가 없음 부름 당한쪽

Etdcall - api 함수 호출  stack Callee

화면 캡처: 2006-06-18, 오후 6:09

Cdecl - 대표적으로 c언어에서 호출하는 방식 stack caller

Fastcall - 잘쓰지않음 ECX EDX Stack

Thiscall - 객체를 다룰때 , c++에서 사용

비주얼 스튜디오

Cl = 컴파일 링크의 약자

/opt:icf,ref - 최적화옵션
