어셈블리어를 보고 c코드를 유추해서 만들어내는 것이다.
어셈블리는 위와 같다. 우선 canary 보호기법와 pie 보호기법을 해제해 줘야 한다.
핸드레이 결과는 아래와 같다.
#include <stdio.h>
#include <stdlib.h>
int get_int(){
char a[4];
scanf("%3s", a);
return atoi(a);
}
int loop = 1;
int main(){
char buf1[0x13] = "Simple handray ex!";
char *buf2 = "Hello, World";
int num;
while(loop){
num = get_int();
switch(num)
{
case 1:
puts(buf1);
break;
case 2:
puts(buf2);
break;
case 3:
loop = 0;
default:
}
}
}
어셈블리어를 보고 c코드를 유추해서 만들어내는 것이다.
어셈블리는 위와 같다. 우선 canary 보호기법와 pie 보호기법을 해제해 줘야 한다.
핸드레이 결과는 아래와 같다.
#include <stdio.h>
#include <stdlib.h>
int get_int(){
char a[4];
scanf("%3s", a);
return atoi(a);
}
int loop = 1;
int main(){
char buf1[0x13] = "Simple handray ex!";
char *buf2 = "Hello, World";
int num;
while(loop){
num = get_int();
switch(num)
{
case 1:
puts(buf1);
break;
case 2:
puts(buf2);
break;
case 3:
loop = 0;
default:
}
}
}