(*참고 : http://ajlab.tistory.com/entry/Visual-Studio-2010-MASM-%ED%99%98%EA%B2%BD-%EC%84%A4%EC%A0%95)
INCLUDE Irvine32.inc
.code
main PROC
mov eax, 10000h
add eax, 40000h
sub eax, 20000h
call DumpRegs
exit
main ENDP
END main
'어셈블리' 카테고리의 다른 글
Irvine 설치 방법 (0) | 2017.05.07 |
---|---|
버퍼 오버플로우 공격 (0) | 2017.05.02 |
인라인 어셈블리 sub (0) | 2017.05.01 |
인라인 어셈블리 add (0) | 2017.05.01 |
mov (0) | 2017.05.01 |
인라인 어셈블리 sub
# include <stdio.h>
int main(void)
{
int v1 = 10;
int v2 = 5;
int re = 0;
__asm
{
mov eax, v1;
mov ebx, v2;
sub eax, ebx;
mov re, eax;
}
printf("%d \n", re);
return 0;
}
(*visual studio deburging mode)
int v2 = 10;
mov dword ptr [v2],0Ah
// OAh => h는 hex 즉, 16진수
int v1 = 30;
mov dword ptr [v1],1Eh
int re = 0;
mov dword ptr [re],0
re = (v2 - v1);
mov eax,dword ptr [v2]
sub eax,dword ptr [v1]
mov dword ptr [re],eax
'어셈블리' 카테고리의 다른 글
Irvine 설치 방법 (0) | 2017.05.07 |
---|---|
버퍼 오버플로우 공격 (0) | 2017.05.02 |
irvine (0) | 2017.05.01 |
인라인 어셈블리 add (0) | 2017.05.01 |
mov (0) | 2017.05.01 |
인라인 어셈블리 add
# include <stdio.h>
int main(void)
{
int v1 = 10;
int v2 = 20;
int result = 0;
__asm
{
mov eax, v1;
mov ebx, v2;
add eax, ebx;
mov result, eax;
}
printf("%d \n", result);
return 0;
}
__asm 부분을 c언어로 convert
/*
int val1 = v1;
int val2 = v2;
val1 += val2;
result = val1;
*/
'어셈블리' 카테고리의 다른 글
Irvine 설치 방법 (0) | 2017.05.07 |
---|---|
버퍼 오버플로우 공격 (0) | 2017.05.02 |
irvine (0) | 2017.05.01 |
인라인 어셈블리 sub (0) | 2017.05.01 |
mov (0) | 2017.05.01 |
# include <stdio.h>
int main(void)
{
int v1 = 10;
int v2 = 0;
__asm
{
mov eax, v1;
mov v2, eax;
}
printf("%d \n", v2);
return 0;
}
구지 __asm 부분을 c언어로 생각해보자면 아래와 같을 것이다.
/*
int temp = 0;
temp = v1;
v2 = temp;
*/
================================================================
*mov 명령 사용시 주의사항
1. 목적지 (Destination), 소스(source)는 반드시 같은 크기여야 한다.
2. 목적지 (Destination), 소스(source)는 모두 메모리 피 연산자 일 수 없다.
================================================================
'어셈블리' 카테고리의 다른 글
Irvine 설치 방법 (0) | 2017.05.07 |
---|---|
버퍼 오버플로우 공격 (0) | 2017.05.02 |
irvine (0) | 2017.05.01 |
인라인 어셈블리 sub (0) | 2017.05.01 |
인라인 어셈블리 add (0) | 2017.05.01 |