분류 전체보기 205

SCP, CAT, MAIL, ZIP, TAR, SCREEN

현재경로 GUI로 디렉토리 열기 $ nautilus ./ 원격 파일 다운로드 $ scp root@아이피:source destination 중복제거 후 합치기 $cat 1.txt 2.txt | sort | uniq > 3.txt 명령어 숫자 확인 $cat 1.txt 2.txt | sort | uniq > 3.txt Screen(원격세션 종료되도 작업유지됨) 세션저장: screen -s 세션명 세션분리: 컨트롤+a+d 세션목록: screen -list 세션복구: screen -r 세션명 zip 스크린샷 압축하기 $zip -r test.zip [폴더명] tar,gz 압축해재 $tar -xzf [파일명].tar 메일서버 설치 $apt install -y mailutils 파일 첨부 메일 원라인 $echo "he..

Recon 2020.01.25

[x64] DLL(import/export), Function Overriding, Mangling, and Decoration

6.2- DLL https://github.com/0xZ0F/Z0FCourse_ReverseEngineering/blob/master/Chapter%206%20-%20DLL/6.3%20Exports.md -실습용 파일에 대한 설명- RunDLL.exe는 DLL.dll의 내 보낸 함수를 호출하는 프로그램입니다. DLL.dll은 RunDLL.exe와 같은 폴더에 있어야합니다. SourceCode 폴더에는 프로그램의 소스 코드가 포함되어 있습니다. DebugFiles 폴더에는 원하는 경우 심볼을 확인하는데 사용할 수있는 디버그 파일이 포함되어 있습니다. 디버그 파일을 RunDLL.exe 및 DLL.dll과 같은 폴더에 넣습니다 - Dynamic Libraries (프로그램과 따로 분리되어 로드된다. 다양한 프..

[x86-64] 루프 (반복문), 디컴파일러의 do-while 루프

Z0FCourse_ReverseEngineering/Chapter 5 - BasicReversing/5.4 Loops.md For Loop - While 루프 역시 형태가 비슷합니다. MOV EDX, EBX LEA RCX, QWROD PTR DS:[0x7FF7A85A9D90] ; const char* format = "INDEX= %D\n" CALL ; printf INC EBX CMP EBX, 0XA ; A:'\n' JL testing.7FF7A8591080 루프를 식별하는 가장 빠른 방법은 인덱스 / 반복 카운터를 찾는 것입니다. 위의 예에서 우리는 EBX가 XOR EBX, EBX로 제로화되고 있음을 알 수 있습니다. 이것은 특별한 것은 아니지만 조금 내려 가면 INC EBX로 EBX가 증가하고 있음..

[x64] C++ 코드 리버싱할 때, printf와 stdout의 차이

Z0FCourse_ReverseEngineering/Chapter 5 - BasicReversing/5.3 HelloWorld.md C++ 코드 리버싱할 때, std::cout 함수 호출시, C함수의 printf와 모양이 조금 다른데, 이것은 우리가 정의한 함수가 아닌 라이브러리의 함수를 호출하는 것이기 때문이다. 그리고 한번만 호출하면 인라인 기능이 작동된다. (컴파일러가 최적화 시킴) 두번째 호출로 KernelBaseDLLInitialize 라이브러리 함수를 호출하는 것을 확인할 수 있는데, 이것은 std::endl (\n 개행)기능을 호출한 것이다. 프로그램에서 std::cout이 두번 이상 호출되면 인라인 기능은 작동하지 않기 때문에 printf와 유사한 형태로 보인다. 인라인 기능의 예시 최적화..

[x64] fastcall과 호출 규약

참고 (공통: 함수 매개면수는 오른쪽에서 왼쪽 순으로 스택 위로 푸시된다) - cdecl: 일반적으로 x86 C 컴파일러의 기본 호출 규약이다. - stdcall: 마이크로소프트 Win32 API 및 오픈 왓콤 C++의 표준 호출 규약이다. - fastcall: x64 Windows의 호출 규칙이다. 호출규약에 대해 더 많은 정보 필요한 경우 아래 참고 https://docs.microsoft.com/ko-kr/cpp/build/x64-software-conventions?view=vs-2019 https://docs.microsoft.com/ko-kr/cpp/build/x64-calling-convention?view=vs-2019 https://en.wikibooks.org/wiki/X86_Disas..