일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- iptables
- C언어
- Docker
- Compiler
- ncurses
- .nret core 배포
- NAPT
- epoll
- 어셈블리어
- wnourefresh
- LOB
- REDIS
- wrefresh
- rfc5508
- .net core 7
- edge trigger
- level trigger
- 취약점
- epoll_wait
- architecture
- vtable
- BOF
- mvwin
- DOCKER-USER
- cbpf
- doupdate
- packet flow
- packet filter
- ioctl
- 풀이
- Today
- Total
Tuuna Computer Science
C로 시저암호(카이사르암호) 암호화와 복호화를 먼저 작성하고 이를 바탕으로 어셈블리어로 작성하려 한다. 먼저 복호화 구간은 조금 복잡해서 먼저 암호화 구간만 진행했는데 아마 내일 부터 다시 복호화 구간을 만들어내지 않을까 생각해본다... ㅎ 코드는 주석을 대충달았는데 알아서 잘 해석하길 바랍니다. 또한 %include "asm_io.inc"는 Pual Carter 교수가 만든 include파일인데 print_nl을 사용하기 위해서다 이 파일이 없다면 지우고 print_nl을 지우길 바람. ;일단 필요한 함수 strlen, strcpy구현 %include "asm_io.inc" segment .bss segment .data format1 db "%s", 0 format2 db "%d", 0 print1 ..
어세블리어로 시저암호를 만들기위해 먼저 C로 소스코드를 작성함. 아래는 카이사르 암호 복호화, 암호화 과정인데 번호 2번은 작동하지 않는다. 대신 1번을 누르고 암호화 진행 후, 복호화도 같이 진행된다. #include #include /* 카이사르 암호 만들기 암호화 & 복호화 만들기 키는 0~25 총 26개 암호화 과정 'P' - 'A' 해서 나온값에 key를 더하고 %26을 한다. 복호화과정에선 'P' - 'A' 해서 나온값에 key를 빼고 %26을 한다 만약 -가 나올경우 26을 더한다. */ void Crypto(char* plain, int key); void Encrypto(char* crypto_text); int main(void) { int i; int len; int check; ch..
x86 프로세서를 위한 어셈블리어 6판에서 문제인 배열의 역순 풀이 풀면서 여러방법이 있겠지만 2가지 방법이 떠오름 첫 번째로 임시 레지스터를 이용해서 배열의 값을 교체하는거 두 번째로 스택공간의 push와 pop을 이용해 교체하는 것 첫 번째 하다가 segment fault떠서 두 번째 방법으로 갈아탔는데 똑같이 segment fault떴음. 알고 보니깐 두 개다 마지막에 mov esp, ebp를 갈겨서 스택이 증발해벼렸던거... ;( 암튼 풀이는 스택에 1,2,3,4,5 ... 순서대로 push하면 마지막엔 10이 있음. 이 10을 기준으로 다시 pop하면 됨. 아 그리고 C 라이브러리함수인 printf를 호출하면 eax와 ebx, ecx의 값이 바뀌는데 eax의 값이 바뀌는건 알았는데 ecx 레지스..