usrbin
컴퓨터 일기
usrbin
전체 방문자
오늘
어제

공지사항

  • whoami
  • 분류 전체보기 (127)
    • 깔짝할짝 (61)
    • 잡지식 (30)
    • Network (7)
      • Programming (3)
      • Study (4)
    • Mobile (13)
    • Reversing (5)
      • Win API (2)
      • 분석 (0)
    • Kernel (4)
      • linux (1)
      • Windows (3)
    • Programming (5)

블로그 메뉴

  • 홈
  • 방명록

인기 글

태그

  • monitor mode
  • System
  • System Hacking
  • libpcap
  • nethunter
  • Scapy
  • network
  • pcap
  • HEVD
  • sql injection
  • forensics
  • HackCTF
  • PWN
  • Pwnable
  • Android
  • qt
  • Packet
  • BOF
  • ftz
  • xcz.kr
  • Hive Ransomware
  • Network Programming
  • pwntools
  • Reversing
  • pwnable.kr
  • pcapng
  • Follina
  • x64dbg
  • suninatas
  • Digital Forensics

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
usrbin

컴퓨터 일기

GetModuleFileNameA API
Reversing/Win API

GetModuleFileNameA API

2020. 6. 1. 15:05

오늘 확인할 API는 GetModuleFileNameA API이다

GetModuleFileNameA(
    _In_opt_ HMODULE hModule,
    _Out_writes_to_(nSize,((return < nSize) ? (return + 1) : nSize)) LPSTR lpFilename,
    _In_ DWORD nSize
    );

해당 API는 세개의 인자를 받는다.

첫번째 인자는 HMODULE이다. 현재 실행되고 있는 모듈의 핸들 또는 NULL이 온다.

두번째 인자는 LPSTR형으로, 실행 경로를 받을 버퍼를 명시한다.

typedef _Null_terminated_ CHAR *NPSTR, *LPSTR, *PSTR;

LPSTR형은 char*와 똑같다고 보면 된다.

세번째 인자는 두번째 인자 버퍼의 길이를 나타낸다.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <windows.h>
int main() {
	int len = 0, res = 0;
	char path[1024];
	res = GetModuleFileNameA(0, path, 1024);
	len = strlen((char *)path);

	printf("실행된 위치 >> %s\n", (char *)path);
	printf("GetModuleFileName return >> %d\n", res);
}

위와 같이 현재 실행중인 프로세스의 풀 경로를 받아올 수 있다.

저작자표시 비영리 변경금지 (새창열림)

'Reversing > Win API' 카테고리의 다른 글

LoadLibraryA API  (0) 2020.06.02
    usrbin
    usrbin
    컴퓨터 할거야

    티스토리툴바