반응형

chp747 368

Windows 기본 앱 건드리기

Windows 기본 앱 건드리기 Intro Windows 기본 앱(mspaint.exe)을 퍼징하기 위해서 바이너리를 패치하려 하는데, 패치한 바이너리가 실행이 안된다. 내가 시도하던 방법은 두 가지였는데, 다음과 같다. C:\Windows\System32 디렉토리에 존재하는 mspaint.exe 파일을 복사하여 만든 mspaint2.exe로 퍼징하기 C:\Windows\System32에 존재하는 mspaint.exe 파일을 수정하기 결과적으로 1번으로 진행한 것이 성공했고, 그에 대한 내용을 정리하려고 한다. Trouble Windows에서 기본적으로 C:\Windows\System32 디렉토리는 OS의 커널과 관련된 부분들이 많기 때문에 엄격하게 관리된다. C:\Windows\System32 디렉토리..

카테고리 없음 2021.10.08

[Android] 외부 라이브러리 사용하기

[Android] 외부 라이브러리 사용하기 MPAndroidChart 라는 것을 사용해보기로 했는데, 외부 라이브러리라 따로 디펜던시를 추가해줘야 했다. 근데 안드로이드 개발을 잘 안해보다보니 gradle 사용하는 것부터가 막힘 ㅋ 안드로이드는 외부 라이브러리를 사용하기 위해서 gradle 파일에 경로를 추가해줘야 함. 사용할 라이브러리는 이거다. https://github.com/PhilJay/MPAndroidChart 사용방법에 다음과 같이 나와있었는데, 정확히 어디에 추가해야 되는지 몰라서 찾아봤다. repositories { maven { url 'https://jitpack.io' } } dependencies { implementation 'com.github.PhilJay:MPAndroidC..

Windows 프로그램 실행시간 측정하기

Windows 프로그램 실행시간 측정하기 윈도우에서 보다 정교하게 시간을 측정하는 방법으로 고성능 타이버를 이용하는 방법이 있다. 다음과 같이 간단히 구현할 수 있는데, 먼저 Frequency 즉 1초당 CPU가 실행하는 틱 수를 측정한다. MSDOCS에 따르면 이 값은 시스템이 부팅될 때 고정되기 때문에 한 번만 호출해도 된다. 이 후에 프로그램을 실행하기 전의 실행된 틱 값과 실행한 후의 틱 값의 차이를 구하여 Frequency 값으로 나누면 몇 초가 지났는지 구할 수 있다. #include #include #include #include int main(int argc, char* argv[]){ LARGE_INTEGER Frequency; LARGE_INTEGER BeginTime; LARGE_I..

카테고리 없음 2021.09.28

What The Fuzz 분석

What The Fuzz 분석 What The Fuzz wtf.cc 에서 모든 인수에 대해서 CLI를 이용하여 파싱한 다음, Master(=서버)/Fuzz(=클라이언트) 로 나누어짐 중점적으로 볼 부분 Server - 어떻게 Mutation 하여 testcase를 생성하는가 Client - 어떻게 실행시키는가 Client - 어떻게 Coverage를 측정하는가 Master (=Server) Node Fuzz 노드의 경우 backend 부분에 대한 초기화가 추가로 이루어짐 CLI11_PARSE(Wtf, argc, argv); // // If we are in master mode, no need to initialize the heavy machinery. // // 마스터 노드 = 서버 노드인 경우 바로..

Fuzzing software: common challenges and potential solutions 정리

Fuzzing software: common challenges and potential solutions 원문 글 https://securitylab.github.com/research/vlc-vulnerability-heap-overflow/ https://securitylab.github.com/research/fuzzing-challenges-solutions-1/ https://securitylab.github.com/research/fuzzing-software-2/ 1. Fuzzing command-line arguments - Boolean arguments -> 1bit - Float and integer arguments -> 4/8 bytes - Variable-length strin..

CMakeLists.txt 로 Visual Studio Code Debugging 하기

CMakeLists.txt 로 Visual Studio Code Debugging 하기 Visual Studio Code Extension 중 다음 세 가지 설치하기 C/C++ for Visual Studio Code CMake For VisualStudio Code CMake Tools (for Visual Studio Code) 설치 후, ctrl+shift+p로 Command Palette 실행 CMake: Configure -> CMake: Build -> CMake: Debug로 진행하는데, build 과정에서 CMakeLists.txt 파일을 선택하는 과정이 있음. 루트 디렉토리에 해당 파일이 있으면 자동으로 넘어가지만, 종종 위치가 다른 경우도 있으므로 사용자가 직접 파일의 위치를 지정해주면..

반응형