목록전체 글 (420)
외로운 Nova의 작업실
안녕하세요. 이번시간에는 드림핵 Return to Shellcode 문제풀이를 해보도록 하겠습니다. - 문제인식 강의해서 실습하는 거라 별다른 문제정보는 없습니다. 특히나 지금 wsl로는 실행파일을 다운로드 하지 못해서 checksec을 하기 어려운 부분이 있으므로 강의를 참고하겠습니다. 환경을 보게되면 amd64 아키텍쳐 즉 x8-64 명령어 셋을 사용하고 있습니다. Full RELRO로 BSS를 제외한 곳에 write이 안되지만 스택을 건드릴 것이므로 괜찮습니다. 카나리를 사용중이고 NX가 사용중이지 않아서 스택에 쉘코드를 넣고 실행해야할 것 같습니다. PIE가 실행중이여서 실행마다 buf의 주소는 변할 것 같습니다. 이제 코드를 보겠습니다. // Name: r2s.c // Compile: gcc -..
- 리사이클러 뷰 일반적으로 앱을 사용하다 보면 여러가지 항목을 나열하는 목록 화면이 많다는 것을 알 수 있습니다. 리사이클러 뷰는 이러한 목록 화면을 만들때 사용합니다. 아래와 같은 상황을 말합니다. 리사이클러 뷰는 뷰 홀더라는 틀을 만들고 그 틀에 어댑터가 값을 넣어주고 이후 레이아웃매니저가 여러개 배치해주는 순서로 진행됩니다. 하나씩 만들어보겠습니다. - 리사이클러 뷰 선언 먼저 리사이클러를 사용하겠다고 그래들 파일에 선언해줘야합니다. implementation 'androidx.recyclerview:recyclerview-selection:1.1.0' - 리사이클러를 메인 xml에 등록 메인 xml에 키사이클러 태그를 사용하여 들어갈 자리를 정해줍니다. - 리사이클러의 틀을 xml로 만들기 이제..
- 프래그먼트 프래그먼트란 액티비티 화면을 구성하는 뷰입니다. 프래그먼트가 다른 뷰와 다른점은 액티비티 처럼 동작한다는 것입니다. 프래그먼트는 아래와 같이 사용됩니다. 프래그먼트는 아래와 같이 구현됩니다. - 프래그먼트 구현 먼저 프래그먼트를 사용하겠다고 그리들 파일에 선언해줘야합니다. dependencies { ... implementation 'androidx.fragment:fragment-ktx:1.5.5' } 이제 프래그먼트를 만들어보겠습니다. 프래그먼트의 xml을 먼저 만들어주겠습니다. 아래는 fragement1.xml입니다. 위와 같은 프래그먼트를 2개 더 만들어 줍니다. 이름은 fragment2.xml fragement3.xml입니다. 이제 프래그먼트를 화면에 띄우는 kt파일을 만들어줍니다..