본문 바로가기

전체 글461

[모던 C++] 배열 대신 std::vector, std::array를 써보자 특정 크기의 메모리 버퍼를 할당을 하거나 무언가 연속적인 데이터를 저장해야할 때 늘 그렇듯 C스타일 배열(array)를 썼다. 그것이 익숙 하기도 하고 속도면에서도 빠를테니까?unsigned char buffer[1024] ;하지만 C스타일 배열은 버그를 만들어낼 문제가 많고, 인덱스를 잘못 계산하면 메모리 범위를 벗어 날 수도 있다.그래서 그런지.모던(modern) C++에서는 std::vector, std::array를 쓰도록 권장하고 있다.std::vector, std::array는 배열과 마찬가지로 표준에 의해 연속된 메모리에 메모리 블록을 저장하고 유효한 범위 내에서 엑세스 할 수 있는 이터레이터(iterator)도 제공한다. std::vector vec1 = {1, 2, 3, 4, 5};std.. 2025. 7. 6.
C++ 값 카테고리 (lvalue, rvalue...) lvalue, rvalue에 대한 내용을 제미나이에게 물어본 결과이다.msdn c++ 관련 문서에도 나와있는 내용. 맞는지 틀린지는 나중에 읽어봐야겠음.https://learn.microsoft.com/ko-kr/cpp/cpp/lvalues-and-rvalues-visual-cpp?view=msvc-170 값 범주: Lvalues 및 Rvalues(C++)자세한 정보: Lvalues 및 Rvalues(C++)learn.microsoft.com C++ 값 카테고리 (Value Categories)C++의 값 카테고리(Value Category)는 C++11에서 이동 의미론(Move Semantics)이 도입되면서 더 정교하게 분류되었습니다. 이들은 표현식(expression)이 평가될 때 그 결과가 어떤 .. 2025. 7. 6.
[iOS 보안] sideloadly 설치 아이폰(iOS)에 공식 앱스토어에서 배포되지 않은 앱은 원칙적으로 설치가 안된다. 하지만 특별히 허용해 주는 경우가 있는데 바로 개발자가 개발한 본인의 앱이다. 이런 원리로 sideloadly라는 프로그램을 통해 공식 앱스토어에서 배포되지 않은 앱을 설치 할 수 있다. 물론 여기에는 약간의 제약이 있다. 7일동안 앱 실행이 허용되며 3개정도 앱을 설치 할 수 있다.설치에 앞서 준비물은 버릴듯한 애플 계정이다. sideloadly로 앱을 서명하는 과정에서 애플 개발자 계정이 이용된다. 물론 털리기는 쉽지 않으나 그래도 사용되지 않을 애플계정이면 좋을 듯 하다. dmg파일을 열어 sideloadly.app을 설치하고 실행해준다.애플 아이디를 넣고 설치하고자 하는 ipa파일을 설정한다. start를 누르니.. 2025. 7. 5.
[iOS 보안] iOS 15 Dopamine(도파민) rootless탈옥하기 (아이폰7) iOS 15부터 애플의 SSV 도입으로 rootless탈옥이 등장하게 되었다. rootless탈옥을 지원하는 탈옥툴은 대표적으로 palera1n, dopamine이 있다. palera1n은 A12이전의 칩의 부트롬 취약점을 이용한 탈옥이라 재부팅하면 다시 컴퓨터와 연결하여 탈옥을 수행해야하는 Semi-tethered 탈옥이다. 하지만 Dopamine의 경우 iOS 커널 취약점을 기반으로한 Semi-Untethered방식의 탈옥 툴로써 언제든지 컴퓨터연결없이 탈옥을 진행할 수 있다. 그래서 대세인 Dopamine 탈옥을 하는 방법을 알아보겠다.1. 설치 요약Dopamine 탈옥을 하는 방법은 대략적으로 다음과 같다.Dopamine 앱설치탈옥!문제는 Dopamine앱을 어떻게 설치하냐이다.dopamine홈페.. 2025. 7. 5.
[iOS 보안] 완탈? 반탈? 탈옥의 종류 (Tethered, Untethered jailbreak) iOS 탈옥을 알아보다보면 완탈, 반탈이라는 용어들이 등장한다. 모두 탈옥의 상태를 의미하지만 약간 상태가 다른듯하여 이번에 정리해본다. 참고로 영어권에서는 Tethered, Untetherd, Semi-Tetherd, Semi-Unthered와 같은 단어로 통용된다.1. 완전탈옥 : 완탈 (Untethered jailbreak)완탈은 가장 이상적인 탈옥 형태로 한번 탈옥을 하게되면 그 상태가 재부팅을 하여도 여전히 유지되는 상태를 말한다. 즉 완탈된 아이폰은 마음껏 재부팅을 할 수 있고 부팅에 제약이 없다. 하지만 요새는 이러한 완탈 형태의 탈옥이 불가능하다.2. 반탈옥: 반탈 (Tethered jailbreak)반탈은 영어로 Tethered Jailbreak이라고 불린다. 그 뜻에서 알 수 있듯 무언.. 2025. 7. 3.