| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- AWS
- System
- c
- EC2
- Linux
- htmlinjection
- beebox
- SISS
- backjoon
- python
- 유석종교수님
- basicrce3
- 자료구조
- mount
- cgroup
- wireshark
- fork-bomb
- Reversing
- datastructure
- grafana
- 와이어샤크
- 백준
- Systemhacking
- Dreamhack
- CodeEngn
- pwnable
- cloud
- acc
- bWAPP
- Reflected
- Today
- Total
목록2022/05/15 (4)
Ctrl + Shift + ESC
문제 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그 다음, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮긴다. 예를 들어 N=4인 경우를 생각해 보자. 카드는 제일 위에서부터 1234 의 순서로 놓여있다. 1을 버리면 234가 남는다. 여기서 2를 제일 아래로 옮기면 342가 된다. 3을 버리면 42가 되고, 4를 밑으로 옮기면 24가 된다. 마지막으로 2를 버리고 나면, 남는 카드는 4가 된다. N이 주어졌을 때, 제일 마지막에 남게 되는 카드를 구하는 프로..
문제 집에서 시간을 보내던 오영식은 박성원의 부름을 받고 급히 달려왔다. 박성원이 캠프 때 쓸 N개의 랜선을 만들어야 하는데 너무 바빠서 영식이에게 도움을 청했다. 이미 오영식은 자체적으로 K개의 랜선을 가지고 있다. 그러나 K개의 랜선은 길이가 제각각이다. 박성원은 랜선을 모두 N개의 같은 길이의 랜선으로 만들고 싶었기 때문에 K개의 랜선을 잘라서 만들어야 한다. 예를 들어 300cm 짜리 랜선에서 140cm 짜리 랜선을 두 개 잘라내면 20cm는 버려야 한다. (이미 자른 랜선은 붙일 수 없다.) 편의를 위해 랜선을 자르거나 만들 때 손실되는 길이는 없다고 가정하며, 기존의 K개의 랜선으로 N개의 랜선을 만들 수 없는 경우는 없다고 가정하자. 그리고 자를 때는 항상 센티미터 단위로 정수길이만큼 자른다..
exe 파일을 디버깅하지 않고 실행해 보았다. 이번엔 IDA에서 디버깅을 했다. 함수의 기능을 확인할 수 있었다. 이제 IDA에서 디버깅해보자. basic RCE 3처럼 Function name에서 확인하려 했으나 함수의 이름이 나타나 있지 않았다. 그래서 함수의 import 화면을 실행했다. 실행해보니 의심되는 함수 IsDebuggerPresent 함수가 있어 더블클릭한 뒤 x를 눌러 실행했다. jz에 중단점을 두고 실행해 보았다. EAX(return)값이 1이고, 분기점이 왼쪽으로 가 call이 실행되어 "디버깅 당함"이 출력되는 것을 확인할 수 있었다. jz 중단점 전에 EAX 값을 0으로 바꿔서 확인해 보았다. 오른쪽 분기점으로 실행되어 예상했던 대로 "정상"이 출력되는 것을 확인할 수 있었다. ..
문제 파일을 실행해 보았다. 원래는 실행 파일이 있는 폴더에 MSVBVM50.dll 파일을 설치한 뒤에 실행하면 된다고 하는데, 나는 실행이 되지 않았다. https://boksbooks.tistory.com/67 Msvbvm50.dll 다운로드 및 오류 해결법 Msvbvm50.dll Msvbvm50.dll 에러가 발생하면 문제가 생긴 파일이 있는 위치에 파일을 복사하여 넣거나 파일을 새로 생성해야 합니다. 여기에서는 파일을 다운로드 받아서 시스템 폴더에 넣거나 다이 boksbooks.tistory.com 해당 글을 참고해도 실행이 되지 않아서 코드를 훑어보아 해결하기로 했다. 스트링 비교 함수는 두 글자를 비교(cmp)를 하고 Error 혹은 Success 문자를 출력하는 분기점(jz)을 포함하고 있을..
