목록분류 전체보기 (199)
0x0102
1. IAM이란? AWS IAM(Identity and Access Management)은 AWS에서 제공하는 서비스 중 하나로, 사용자 및 리소스에 대한 보안 및 액세스 제어를 관리하는 데 사용됩니다. IAM을 사용하면 AWS 리소스에 대한 액세스를 안전하게 제어하고 관리할 수 있습니다. 다음은 AWS IAM의 주요 기능과 역할에 대한 간단한 설명입니다: 사용자 관리: IAM을 사용하여 사용자를 생성하고 관리할 수 있습니다. 각 사용자에게는 고유한 액세스 키, 비밀 액세스 키 및 권한이 부여됩니다. 그룹 관리: 그룹을 생성하여 사용자를 묶어서 권한을 관리할 수 있습니다. 그룹에 권한을 할당하면 해당 그룹의 모든 사용자가 해당 권한을 상속합니다. 권한 관리: IAM을 사용하여 사용자 및 그룹에 대한 세분..

1. AWS의 장점 AWS는 아마존에서 온프레미스 인프라 구축 서비스를 클라우드 서비스로 만든것입니다. 온프레미스 서비스를 왜 클라우드로 옮겼고, 어떤 이점이 있는지 살펴보겠습니다. 클라우드 환경과 온프레미스 환경은 각각 고유한 특징과 장단점을 가지고 있습니다. 다음은 두 환경을 비교한 내용입니다: 비용: 클라우드: 초기 투자 비용이 낮고 사용한 만큼 비용 지불. 유연한 비용 모델을 제공 온프레미스: 초기 투자 비용이 높으며, 하드웨어, 소프트웨어 라이선스 및 유지 보수 비용이 발생 확장성: 클라우드: 신속하게 확장 가능하며, 필요에 따라 리소스를 증가 또는 축소 가능. 탄력적인 환경 제공 온프레미스: 하드웨어 및 인프라를 확장하려면 추가 하드웨어 구매 및 설치가 필요하며 확장성이 제한될 수 있음 보안:..

* * * * * /path/to/your/script.sh && mail -s "Subject" your_email@example.com > /path/to/your/logfile.log //여기서 경..
1. 접근 리버싱을 위해서는 보고 싶은 정보가 무엇인지 파악한 다음, 어디에 해당 정보가 있는지 찾아야한다. 예를 들어 게임이 특정 작업을 수행할 때 표시되는 텍스트를 검색하고 싶다면, 메모리 편집기에서 찾은 메모리 주소를 사용하여 코드를 찾을 수 있다. 이러한 접근 방식에서는 breakpoint를 사용하게 된다. 2. breakpoints 중단점을 사용하면 디버거가 특정 명령에서 게임 실행을 일시 중지하고, 사용자는 게임의 메모리를 볼 수 있다. 모든 유형의 메모리에 중단점을 설정할 수 있으며 메모리 스캐너를 사용하여 찾은 메모리도 대상에 포함된다. 중단점은 조건부, 비조건부로 설정 가능하며 해당 조건이 충족되는 경우에만 트리거된다. (=팝핑) 3. Memory Breakpoints 메모리 해킹 게시물..
1. 데이터 관리 데이터는 일반적으로 메모리에서 레지스터로 이동하는데, 이후 데이터가 다시 메모리로 이동되기 전 해당 데이터에 대한 작업이 수행된다. 이동하는데는 mov 명령어가 사용된다. mov eax, ecx mov eax, 1 // ecx 값을 eax로 이동하기. 값 1을 eax로 이동하기. mov eax, dword ptr ds:[0x12345678] // 메모리 주소에 저장된 데이터를 레지스터로 이동 (dword ptr ds) lea eax, dword ptr ds:[ecx] // 레지스터에 주소를 저장한 다음 해당 주소를 다른 레지스터에 로드하여 클래스 내의 특정 변수 검색 2. 데이터 변경 데이터가 레지스터에 로드되면 명령어를 통해 데이터를 수정하는 것도 가능하다. inc eax dec ea..
1. 목표 메모리 수정을 통한 해킹은 강력하지만 한계가 있기에 게임 코드를 수정해야하는 경우가 존재한다. 이전 해킹에서 골드를 조작하여 유닛을 구매했다면 골드 없이도 유닛을 모집하는 것과 같은 해킹도 생각해 볼 수 있다. 이를 위해서는 게임이 실행되는 동안 게임 코드를 보는 '디버깅'을 통해 게임 코드를 수정해야 한다. 2. 도구 디버깅을 위해서는 디버거라는 도구가 필요하다. 디버거를 통해 게임을 일시 중지하거나 코드를 변경하거나, 레지스터를 수정하는 등의 작업이 가능해진다. 그러나 게임 코드를 잘못 변경하면 게임이나 컴퓨터 디스플레이 자체가 정지될 수 있으므로 해킹 머신과 개인 머신을 반드시 분리해야한다. 디버거에는 많은 종류가 있으나 IDA나 gbd를 주로 사용한다. 실습에서는 x64라는 오픈 소스 ..

첫 번째 해킹에서는 "The Battle for Wesnoth"라는 게임을 사용하여 실습해보았다. 이 게임은 부정 행위 방지 메커니즘이 없는 무료 오픈 소스 게임으로 실습에서는 1.14.17 버전을 사용했다. https://forums.wesnoth.org/viewtopic.php?t=54496 Wesnoth 1.14.17 - The Battle for Wesnoth Forums Get help with compiling or installing the game, and discuss announcements of new official releases. Moderator: Forum Moderators Pentarctagon Project Manager Posts: 5455 Joined: March 2..
1. Hacking Steps 1) 무엇을 바꿀지 생각하기 2) 어떤 메모리를 찾아야하는지 이해하기 3) 게임에서 해당 메모리 찾기 4) 해당 메모리 변경하기 2. Identify 해킹의 첫 단계는 수행하려는 작업을 식별하는 것으로 해킹마다 다른 접근 방식이 필요하다. 예를 들어 플레이어의 돈을 수정하려면 변수의 메모리 수정이 필요한 반면 wall로 타 플레이어를 보기 위해서는 게임 코드 메모리 수정이 필요하다. 3. Understand 메모리를 수정하려면 먼저 메모리를 찾아내야하고, 그 전에 어떤 메모리를 찾아야하는지 이해해야한다. 수정하려는 메모리가 변수일 수도 있고 코드일 수도 있기 때문이다. 수정에는 세가지 주요 유형이 있다. 플레이어의 돈을 수정하는 등의 변수 wall이 그려지는 방식을 수정하는..
1. 게임 구성 요소 Graphics Sounds Input Physics Game logic.. etc 게임은 복잡하고 다양한 요소들로 구성되어 라이브러리를 사용하게 되는데, 해킹에서 또한 라이브러리 식별이 중요하다. 예를 들어, wallhack은 해커가 단단한 벽을 통해 타 플레이어를 볼 수 있도록 하는 일종의 해킹으로 게임의 그래픽 라이브러리를 수정하여 프로그래밍할 수 있다.대부분의 해킹에서는 게임 로직을 수정하는데 이는 게임 플레이 방법을 담당하는 섹션으로 캐릭터 제어 등이 자유로워진다. 2. 게임 구조 게임 로직 또한 컴퓨터 코드와 마찬가지로 명령으로 구성된다.대부분의 게임에는 설정과 메인루프, 두 가지 주요 기능이 있다.1) 설정 설정 기능은 게임 시작 시 실행되며 하드 드라이브에서 이미, 사..

I/O 스케줄러는 디스크 성능을 최대화하기 위해 구현된 커널의 일부이며, 모든 작업은 스케줄러를 통해 블록 디바이스에 전달된다. 이 때, 병합과 정렬이라는 두가지 방식을 사용하며 알고리즘에 따라 성능이 조절될 수도 있다. 이번에는 I/O 스케줄러의 역할과 알고리즘들, 워크로드를 확인해보자. 1. I/O 스케줄러의 필요성 디스크와 관련된 작업은 시간이 오래 소요되기 때문에 커널은 스케줄러를 통해 성능을 높이고자 한다. 이 때 병합과 정렬 두 가지 방법을 사용한다. 1) 병합 여러 개의 요청을 하나로 합치는 것 Request Queue에 여러 요청을 블록 디바이스의 Dispatch Queue에 그대로 넘겨주는 대신, 하나로 합쳐 넘겨줌으로써 디스크로의 명령 전달을 최소화하고 성능을 향상시킬 수 있다. 2) ..