티스토리

Ken
검색하기

블로그 홈

Ken

kenneth72.tistory.com/m

Ken out of ken 님의 블로그입니다.

구독자
4
방명록 방문하기

주요 글 목록

  • 2부 PE File Format(0) 출처 File:Portable Executable 32 bit Structure in SVG fixed.svg - Wikimedia Commons commons.wikimedia.org   PE FILE FORMATPE파일은 섹션 헤더에 각 섹션에 대한 파일/메모리에서의 크기, 위치, 속성 등이 정의 되어있다헤더의 끝과 각 섹션의 끝에는 NULL padding이라고 불리우는 영역이 존재하는데, 이는 컴퓨터에서 파일, 메모리, 네트워크 패킷 등을 효율적으로 처리하기 위한 기본 단위 개념을 사용하기위해 각 섹션의 시작 위치를 각 파일/메모리의 최소 기본 단위의 배수에 해당하는 위치로 옮기고 빈 공간을 NULL로 채우기 때문이다      VA & RVA VA: 프로세스 가상 메모리의 절대 주소RVA (Rela.. 공감수 0 댓글수 0 2025. 1. 2.
  • 1부 Visual Basic 들어가기 앞서...솔직히 말하자면 VB를 배우는게 과연 장기적으로 도움이 되는가? 라는 생각이 들었다하지만 책의 내용이 오래 되었으며 앞으로 남은 내용들이 VB 기반이라고 하였을때 익혀는 둬야 겠다는 생각이 들었다Description위의 프로그램에 대한 크랙을 만들어본다 위의 프로그램은 VB로 만들어졌으며 VB의 구조에 대해서 알아보는 시간을 가진다 Key FeaturesEngineVB 파일은 MSVBVM60.dll ( Microsoft Visual Basic Virtual Machine, a.k.a.The Thunder Runtime Engine ) 이라는 VB 전용 엔진을 사용한다 MsgBox() 함수를 예를 들어보자VB 소스코드에서 MsgBox() 함수를 VB 컴파일러가 MSVBVM60.dll!rt.. 공감수 0 댓글수 0 2025. 1. 1.
  • 1부 Stack Frame (스택 프레임) DescriptionESP (스택 포인터)가 아닌 EBP (베이스 포인터) 레지스터를 사용하여 스택 내의 로컬 변수, 파라미터, 복귀 주소에 접근하는 기법 ESP는 함수가 실행되는 동안 계속 변경이 된다함수 내부에서 새로운 데이터를 스택에 push하거나 기존 데이터를 pop 하는 작업이 빈번하다그렇기에 위치가 고정되어 있는 EBP를 기준으로 하는 것이 특정 변수나 파라미터에 접근하기 더 쉽다 StackFrame 예제 Ctrl + G 로 401000 함수 위치로 가라고 한다 해당 함수와 그 어셈블리어는 다음과 같다 // StackFrame.cpp#include "stdio.h"long add(long a, long b){ long x = a, y = b; return (x + y);}in.. 공감수 0 댓글수 0 2025. 1. 1.
  • 1부 레지스터 (IA-3) Description레지스터란?메모리가 아닌 CPU 내부에 존재하는 저장 공간이다디버깅툴에서 나오는 어셈블리어의 명령어 대부분이 레지스터를 조작하고 그 내용을 검사하기에 알아야 한다 레지스터들은 각자의 역할이 있으며 역할에 따라 이름이 있다 TypesBasic program execution registersGeneral purpose Registers (32bit)범용 레지스터이름처럼 범용적으로 사용되는 레지스터로 자주 사용된다이들의 역할은 다음과 같다Common jobs: Arithmetic operations (ADD, SUB, XOR, OR ...)                        Register manipulation (MUL, DIV, LODS ...)EAX: Accumulator f.. 공감수 0 댓글수 0 2025. 1. 1.
  • 1부 1장: 문자열 패치 들어가기 앞서이 당시에는 실습 예제의 존재를 몰라서 직접 코드를 작성하여 구현하였습니다#include int main(){ std::cout 실습에 사용된 코드문자열 패치(바꾸기)코드의 시작인 main문은 디버깅의 시작에 위치해 있지 않는걸 알 수 있다 책에서는 이를 컴파일러가 임의로 추가시킨 stub code 라고하는데, Hello World의 main문을 찾기 위해 천천히 읽어 본 결과,  stub code에 가깝지는 않은 것 같다Method Stub소프트웨어 개발에 쓰이고 다른 프로그래밍 기능을 대리하는 코드기존 코드를 시뮬레이션하거나 아직 개발되지 않은 코드를 임시로 대치하는 역할을 수행 오히러 커널 동작이 많고 어떤 것은 해당 프로그램이 위치하고 있는 디렉토리를 여는 것처럼 보이는 명령어도.. 공감수 0 댓글수 0 2024. 12. 29.
  • 0. 초기 환경 설정 1. MSVC 설치노트북 용량이 제한적이고, Visual Studio IDE는 주로 프로젝트 단위 작업에 초점이 맞춰져 있어 설치를 생략하기로 했다 https://aka.ms/vs/17/release/vs_BuildTools.exe 위의 링크로 Visual Studio 2022에 사용되는 MSVC와 같은 빌드 도구만을 다운로드할 수 있다 링크가 의심된다면 https://visualstudio.microsoft.com/ko/downloads/#build-tools-for-visual-studio-2022 Visual Studio Tools 다운로드 - Windows, Mac, Linux용 무료 설치Visual Studio IDE 또는 VS Code를 무료로 다운로드하세요. Windows 또는 Mac에서 V.. 공감수 0 댓글수 2 2024. 12. 23.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.