
함수 에뮬레이션, 함수 정찰, 그리고 에뮬레이션 기반 리버스 엔지니어링 및 취약점 연구를 위한 대화형 Python CLI를 제공하는 Vivisect 플러그인.
VivisectION은 GUI 리버싱, 에뮬레이션 및 디버깅의 교차점으로, 에뮬레이션과 기타 강력한 Vivisect 도구를 사용하여 리버스 엔지니어링과 취약점 연구를 돕는 데 중점을 둡니다.
무엇보다도 VivisectION(일명 Ion)은 Vivisect 확장(플러그인)입니다.
주로 이 플러그인은 GUI에서 함수에 대한 에뮬레이터를 쉽게 설정할 수 있게 해줍니다(함수 주소에서 마우스 오른쪽 버튼 클릭).
VivisectION을 설치하기 전에 Vivisect를 설치하고 제대로 작동하는지 확인하세요.
Ubuntu에서는 apt를 통해 PyQt5와 PyQtWebkit을 설치합니다:
$ sudo apt install python3-pyqt5 python3-pyqt5.qtwebkit
다른 Linux에서는 둘 중 하나가 작동할 수도 있습니다. Ubuntu에서는 PyPi의 PyQt5 설치가 왜인지 문제를 일으킵니다.
Windows(및 일부 Linux도 해당될 수 있음)에서는 [gui] 옵션을 반드시 포함해야 합니다(PyQt5 구성 요소가 포함되어 있습니다):
$ pip install vivisect[gui]
그런 다음 Pip를 사용하여 VivisectION을 설치합니다:
$ pip install VivisectION
또는 최신 Github 저장소에서 설치할 수 있습니다(또는 로컬 드라이브에서 수정된 형태를 사용할 수도 있습니다):
$ git clone https://github.com/atlas0fd00m/VivisectION
#(possibly modify anything)
$ pip install ./VivisectION
다음 도구는 플러그인 디렉터리에 대한 심볼릭 링크를 $HOME/.viv/plugins/(또는 VIV_EXT_PATH의 마지막 디렉터리)에 관리합니다.
$ vivisection_activate # to install the plugin
# and
$ vivisection_deactivate # to remove the plugin
또한 디버거를 Vivisect Server/Shared Workspace와 함께 연결할 것입니다.
디버거 연결(attach), 덤프 및 에뮬레이션 준비
기타 제가 릴리스하기로 결정한 다른 유용한 기능들(C++ 헬퍼, 필요한 사람?)
vw를 VivWorkspace로 사용하는 대화형 Python 세션을 얻을 수 있습니다.SmartEmu - console을 선택하세요.
** 원하는 경우 팝업 창에서 에뮬레이터 설정을 수정하세요.
** 콘솔 창에서 NinjaEmulator를 사용하세요.
** NinjaEmulator를 종료하면 iPython으로 들어가게 됩니다. 다른 것을 에뮬레이션하기 전에 Ctrl-D 또는 exit를 입력하여 빠져나가세요.가 발생했는데 이제 명령줄에 입력한 내용이 표시되지 않습니다.
** (보이지 않는 상태로 입력해야 한다는 건 알아요) stty sane을 입력하고 엔터를 누르세요. 이렇게 하면 보통 터미널이 정상 상태로 돌아옵니다.
CLI와 함수 에뮬레이터를 동시에 사용할 수 없습니다! ** 죄송합니다. 멀티 함수 에뮬레이션에 필요한 코드를 아직 만들지 않았습니다. 현재는 Vivisect를 시작할 때 사용한 기본 CLI만 지원합니다.
CLI 또는 함수 에뮬레이터를 사용할 수 없습니다!
** 때때로 CLI 상태가 꼬여서 사용 중이 아닌데도 사용 중으로 추적될 수 있습니다. Plugins->Ion->Reset Console In Use를 사용하여 이 상태를 재설정할 수 있습니다.
앞으로 나아가 멋진 일들을 해킹하세요!
@