인라인 함수


인라인 함수는 C/C++ 에서 사용할 수 있는 기능이다. 인라인으로 명시된 함수는 호출된 함수 부분을 코드로 치환하여 컴파일된다. 따라서 프로그램 실행 중, 호출 함수의 주소로 점프하고 다시 돌아오는 방법을 사용하지 않게 된다. 코드가 호출부에 치환하여 삽입되므로 함수 주소 이동이 없기에 속도의 면에서 유리하다.


사용법 


#include <stdio.h>


inline void print()

{

    printf("Hello, world");

}


int main()

{

    print();

    return 0;

}

 

위와같이 함수 앞에 inline을 명시하면 된다.


위 함수는 컴파일러를 통해 아래처럼 바뀌어 동작한다.


int main()

{

    printf("Hello, world");

    return 0;

}



그러나 최신 컴파일러의 경우 inline이 붙지 않아도 자동 인라이닝을 하는경우도 있다. 반면 인라이닝을 거부하는 컴파일러도 있다.

Psexec 란?


원격으로 pc를 제어하는 프로그램에 여러가지가 있지만, 대부분 클라이언트 pc에 프로그램을 설치해야하는 불편함이 있다. Pxexec 는 cmd 로 원격제어를 할 수 있는 경량 원격 제어 프로그램이다.

원격으로 정해진 시간에 프로그램을 제어하고 프로그램을 실행시킬 수 있다. 서버 패치 자동화 같은 경우에 사용하기도 한다.


설치


다운로드 링크 : https://docs.microsoft.com/en-us/sysinternals/downloads/psexec 에 들어가서 설치할 수 있다.


압축을 해제하고 PSTools 폴더를 C:\Windows\System32 디렉토리에 복사한다.


Psexec를 사용하기 위해 다음과 같은 설정을 확인해야 한다.



1. target pc 에서 PIC$ , ADMIN$ 시스템 기본을 포함하는지 확인한다.

2. UAC 가 꺼져있는지 확인한다.

3. TCP 445 포트를 사용해야 하므로 해당 포트가 오픈되어 있는지 확인한다.



cmd 창에서 net share 명령어를 입력하고 PIC$ , ADMIN$를 확인한다.





https://zetawiki.com/wiki/%EC%9C%88%EB%8F%84%EC%9A%B0_UAC_%EB%81%84%EA%B8%B0 링크를 통해 UAC 끄는 법을 참고한다.


그리고 다음 명령어를 관리자권한으로 실행하여 TCP 445 포트를 Open할 수 있다.



netsh advfirewall firewall add rule name="TCP-445" dir=in action=allow protocol=tcp localport=445


이제 원격 cmd 창을 띄운다.


원격 pc 를 제어하기 위해서는 target pc 의 user name, password, ip 번호 가 필요하다.


다음 명령을 통해 원격 pc에 cmd 창이 띄워지는 것을 확인할 수 있다.



PsExec.exe -u [user name] -p [password] [ip] cmd



ex) PsExec.exe -u Scott -p hello1024 \\192.168.0.66 cmd

'좌뇌 > TOOL' 카테고리의 다른 글

안드로이드 - 깃허브 연동하기  (0) 2019.04.28
대용량 문서(Text)파일 읽기  (0) 2019.03.08

+ Recent posts