Constant(440)
-
ISITDTU CTF PWNABLE XOXOPWN
보호되어 있는 글입니다.
2018.07.30 -
어셈 64비트 구구단
후 스스로 했다 뿌듯 뿌듯 뿌듯 !!!! x86_64에서 호출 규약 이건 깨뜨리면 안 되는듯 ; 64bit is rdi -> rsi -> rdx -> rcx -> r8 -> r9 ; how to compile ; nasm -f elf64 -o test -l test.lst test.asm ;how to linker ; ld --dynamic-linker /lib64/ld-linux-x86-64.so.2 -o test /usr/lib/x86_64-linux-gnu/crtn.o test.o -lc global _start extern printf extern exit section .data message: db "%ld x %ld = %ld",10,00 ; \x0a\x00 i: dq 2 ; long int..
2018.07.13 -
어셈 32bit 구구단
#include #define INIT (1)char format[] ="result = %d x %d = %d\n";char end_print[] = "good bye\n";int j = 1;int i = 2;int result = 0;int main(){__asm{jmp _init_init:xor eax,eaxxor ecx,ecxxor edx,edxxor edi,edi jmp row_init row_init:mov ecx, i // x jmp row_comp row_comp:cmp ecx, 0x9 // 9단인지 비교 jle column_set// 2~9단이면 jmp end column_set:mov edi, j // yjmp column_comp column_comp:cmp edi, 0x9jle ca..
2018.07.13 -
Grotesque Maze 백트래킹이 필요한 이유
현재의 알고리즘은 무작위로 key값을 세팅 한 후 서버에 보내주는 행위로 구성되어 있다. w s a d 4개에서 무작위로 뽑았을 때 s가 2개 나올 확률이 너무 희박하다. 이 문제는 남쪽으로 두번 진입 해야 또 다른 부분해가 나올 수 있다. 북쪽으로 다시 이동하게 된다면 원점으로 돌아가게 되며, 그 외의 좌표는 벽에 부딪히게 되어 몬스터만 유동적으로 이동하고, 수십 번 이 행위가 반복되게 될 시 몬스터가 유저의 좌표까지 도달할 것 이다. 그래서 이러한 알고리즘은 이 문제에서 사용할 수 없다. 이제 백 트래킹을 왜 사용해야하는지 정확히 알았으니 백트래킹으로 구현해보자.
2018.07.11 -
Grotesque Maze 풀기 전 기초 개념 다지기
아래의 코드는 백 트래킹 코드이다. 정확한 원리를 이해하기 위해서 코드는 책을 참고하였다. 언제 사두었는지 모르겠으나, 사두고 읽지 않고 벽에 박혀있는 책이었다. 종종 읽으면서 머릿속에 좋은 내용을 더 담아야겠다. [책] : 뇌를 자극하는 알고리즘 백 트래킹 요약 : 1. 해가 하나 이상 존재한다. 2. 여러개의 부분 문제를 통해 부분 해를 구하다보면 어느순간 탈출 해를 구할 수 있다. [이해도를 높이기 위한 상황 부여] : ep01. 초보운전자의 초행길 가는 날 [부분 문제] : 두 갈랫길이 눈앞에 있을 때 우측으로 갈지, 좌측으로 갈지 고민하는 상황 [부분 해] : 부분 문제에 대한 해결책 즉, 운전자가 우측으로 가야된다는 것을 인지하고, 우측으로 가게 되는 상황 [탈출 해] : 초보 운전자가 네비게..
2018.07.11 -
Grotesque Maze을 위한 공부
미로 찾기 프로그래밍을 접해본 적이 없었기 때문에 기본적인 '백 트래킹'의 원리에 대해 배웠다. 하지만 내가 생각하기에 해당 Maze문제는 백 트래킹만으로는 풀 수가 없다. 왜냐하면 백 트래킹의 원리에서 한가지 조건이 이 문제에서 만족할 수 없기 때문이다. 백 트래킹 원리를 배우고, C로 구현해보았다. 이제는 이를 Python으로 구현해보고자 한다.
2018.07.11