2024.10.29 - [Review/Book] - [책 리뷰] 하버드 회복탄력성 수업 개요 회복탄력성을 훈련하는 방법 중 하나로 책에서는 작은 습관으로 시작하여 실천으로 이어가는 연습을 하고 있다.작은 습관으로 시작할 수 있는 것들을 정리해보았다. 작은 목표와 규칙 세우기 하루 5분 독서: 책 한 권을 다 읽는 것이 부담스러울 때, 하루에 단 5분만 독서하도록 목표를 세운다. 책을 읽는다는 시간을 일부러 빼놓기 보다는 흥미를 가지는 것이 필요하다. 하루 한 문장 일기 쓰기: 긴 일기를 쓰려는 부담 대신, 하루를 돌아보며 한 줄의 느낌이나 감사한 일을 적어본다. 나만의 기록을 남기는 작은 시작이다. 매일 10분 산책하기: 운동을 시작하기 어렵다면 하루 10분만 가볍게 산책하는 규칙을 만든다. 물론 밖으..
1. 개요사용자가 홈 버튼을 누르거나, 앱이 실행중인 상태에서 다른 앱을 실행하여 앱이 백그라운드 모드로 전환되면 안드로이드는 현재 앱 액티비티의 스크린샷을 생성하여 작업 관리자(task manager)에서 확인할 수 있으며, 사용자가 최근 사용한 앱 목록을 볼 때 표시된다. 이 기능은 사용자에게 편리함을 제공하지만, 동시에 보안상의 위험을 초래할 수 있다. 예를 들어, 앱이 민감한 정보를 화면에 표시하고 있는 경우, 스크린샷이 기록되어 작업 관리자에 노출될 수 있다. 이는 민감한 정보의 외부 노출로 이어질 수 있으므로, 민감한 정보가 스크린샷에 포함되지 않도록 해야 한다. 💡 더 알아보기작업 관리자의 명칭은 구글 공식 문서에서도 다양한 이름으로 사용하고 있다.영문으로는 Recents screen, O..
1. 개요 안드로이드 앱 개발 시, 디버그 로그는 앱 동작을 추적하고 개발 단계에서의 버그를 수정하는 데 사용한다. 디버그 로그는 앱의 실행 중에 발생하는 이벤트, 상태, 변수 값 등을 모니터링하고 기록할 수 있는 도구로 앱의 동작과 문제 해결에 도움을 준다. 안드로이드에서는 ‘android:debuggable’ 속성을 AndroidManifest.xml에서 ‘true’로 설정하여 앱을 디버깅 할 수 있도록 허용한다. 기본적으로 이 속성은 비활성화(false)되어 있지만, 앱 개발 중에 실행 중 데이터 확인 등 필요에 따라 설정을 변경할 수 있다. 그러나 이 속성을 ‘true’로 설정하게 되면, 앱 실행 중 세부 정보에 접근할 수 있기 때문에 소스코드를 직접 분석하지 않고도 앱을 디버깅할 수 있다. ..
들어가며 인간의 뇌와 몸은 위협과 위험을 만났을 때 복합적이고도 기발하게 반응한다. 이 책에서는 이러한 반응을 투쟁(fight), 도망(flight), 얼음(freeze) 반응으로 설명하는데, 상황이 통제할 수 있을 때는 맞서 싸우고, 대처가 어려울 때는 빠르게 회피하도록 자극하여 위험에서 벗어나기 위한 준비 상태가 된다. 또한 위험을 회피할 수 없거나 상황이 급박한 경우 몸이 얼어붙은 듯 멈추는 반응을 보인다. 이런 반응은 원래 생존 본능에서 비롯된 것이지만, 현대 사회에서도 무의식적으로 나타난다. 일상 속에서 심리적 또는 감정적으로 압박을 느낄 때, 이러한 본능적 반응들이 스스로를 보호하는 방식으로 작동하곤 한다. 그 결과, 사소하다고 생각하는 원인일지라도 막상 일이 터지면 본능은 현실과 상상을 구분..
티스토리에서 매일 블로그 글쓰기 챌린지를 한다고 합니다.11월 7일부터 11월 27일까지 21일 동안 하루에 하나의 포스팅을 포스팅하는 챌린지이다. #오블완 이란?‘오늘 블로그 완료'의 의미로, 오늘의 블로그 포스팅을 완료했음을 인증하는 태그입니다. 블로그 관리 메뉴에는 벌써 "챌린지" 메뉴도 생겼는데,11월 7일부터 게시되는 포스팅에 따라 성공여부를 확인할 수 있는 것 같다. 오블완 성공 날짜 및 추첨 결과에 따라 다양한 혜택을 받을 수 있으니 한번 확인도 해보고 자세한 내용은 아래에서 확인할 수 있다. 작심삼주 오블완 챌린지오늘 블로그 완료! 21일 동안 매일 블로그에 글 쓰고 글력을 키워보세요.www.tistory.com 1주일에 1포스팅도 쉽지 않은데 1일 1포스팅은 더 큰 결심이 필요해..
개요podman 컨테이너 구동 중 Error: OCI runtime error: crun: sd-bus call: Process org.freedesktop.systemdl exited with status 1: Input/output error 에러가 발생하여 해결하는 과정을 기록한다. 해결동작중인 podman 컨테이너가 있음에도 해당 에러가 발생하는 이유는 podman socket service가 구동중이지 않기 때문에 발생한다. https://access.redhat.com/solutions/6512011 페이지를 참고하여 서비스를 구동한다. sudo systemctl systus podman으로 서비스 구동 여부를 확인한다. sudo systemctl daemon-reloadsudo system..
이전글: [VM] qemu 이용하여 AIX7.2 세팅하기 (1)이전 포스팅에 이은 게시글이다. 서버 설치 및 부팅은 완료했지만 Ctrl+C 입력시 qemu 가 바로 종료되고 인터넷 등과 연결되지 않아 테스트를 할 수 없다. 원격 접속을 위한 OpenSSH를 설정한다. 1. 불필요 서비스 종료일부 기본 서비스는 반드시 필요하지 않으므로 종료한다. 가상환경에서 동작하므로 리소스를 아껴야한다.또한 VM CPU의 사용률이 거의 100%에 달하는 것을 볼 수 있는데 불필요한 서비스를 종료하는 것으로 일부 해결할 수 있다. # rmitab cron# rmitab clcomd# rmitab naudio2# rmitab pfcdaemon# stopsrc -s clcomd# stopsrc -s pfcdaemon 2. ..
[Host 환경]Windows 11 64bitqemu 9.0.0[Guest 환경]AIX 7.20. 개요qemu를 이용하여 AIX7.2를 설치한다. AIX 운영체제는 UNIX 운영체제이며 대기업이나 금융권의 대형 서버용으로 사용된다. 다른 운영체제와는 다르게 IBM에서 지정한 아키텍처(IBM Power CPU)에만 설치가능하므로 테스트 환경을 마련하기 어려워 가상환경으로 시도한다. 인프라진단 스크립트를 수정해야하는데 테스트 환경 마련을 위한 배보다 배꼽이 큰 작업. 2021년 4분기 기준 7.3버전을 출시했다. 자세하게 설명되어 있는 다른 포스팅도 있다.참고: https://berasix.tistory.com/entry/AIX-QEMU%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-AI..
1. 개요악성앱(피싱앱) 분석을 하던 중 동적 덱스 로딩 기법이 적용된 앱을 분석하게 되어 정리해둔다. 2. DEX 파일 복호화샘플 앱의 경우, '/assets' 경로 내 동적 로딩을 위한 .dex 파일이 위치하고 있으며, 내용은 암호화되어 있음을 확인한다. 앱 내부에서만 접근 가능한 저장소에 암호화한 dex 파일을 저장하고 배포하여 설치 시에 복호화 후 로드하는 "동적 DEX 로딩(Dynamic DEX Loading)" 방식이다. 코드에서 해당 경로(assets/)에 접근하여 파일을 복호화하고 복사하는 과정이 있을 것이므로 문자열로 검색하여 사용하고 있는 부분을 파악한다. assets 경로에는 앱 실행에 필요한 다른 리소스 또한 포함되어 있으므로 해당 기능을 제외하면 다음의 결과를 확인할 수 있다..
1. 자바와 네이티브 코드안드로이드에서 JNI(Java Native Interface)는 자바, 코틀린에서 컴파일하는 바이트코드가 C/C++로 작성된 네이티브 코드와 상호작용하는 방법을 정의한다. 자바 언어와 자바언어가 아닌 코드가 상호작용할 수 있도록 하는 프레임워크이다. 자바는 플랫폼 독립적인 언어이지만, 자바로 모든 기능을 구현하기엔 어렵기 때문에 네이티브 코드와의 상호작용이 필요하다. 자바가 성능 면에서 부족한 경우, 운영체제나 하드웨어에 특화된 기능을 사용해야할 때, 이미 잘 검증된 네이티브 라이브러리를 재사용함으로써 개발 시간을 단축할 수 있다. 하지만 단점도 존재하는데, 자바와 네이티브 코드 간의 상호작용은 복잡하며, 개발자가 직접 메모리 관리와 같은 저수준 작업을 신경써야 한다. 2. 안..