Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 ragg2 명령입니다.
프로그램:
이름
ragg2 - 이국적인 환경에서 프로그램을 실행하는 Radare2 유틸리티
개요
래그2 [-a 아치] [-b 비트] [-k 커널] [-f 체재] [-o 파일] [-i 쉘코드] [-I 통로]
[-e 인코더] [-B XNUMX진수] [-c k=v] [-C 파일] [-d 끄기:dword] [-D 꺼짐:qword]
[-w 끄기:XNUMX진수] [-p 메워 넣기] [-FOLsrxvh]
기술
ragg2는 r_egg의 프런트엔드이며 프로그램을 x86-32/64 및 arm용 작은 바이너리로 컴파일합니다.
이 도구는 실험적이며 이전 rarc2 및 rarc2-tool 프로그램을 다음과 같이 다시 작성했습니다.
라이브러리이며 r_asm 및 r_bin과 통합되었습니다.
r_egg에 의해 생성된 프로그램은 재배치가 가능하며 실행 중인 프로세스에 주입될 수 있습니다.
디스크 바이너리 파일.
ragg2-cc는 r2와 함께 제공되는 또 다른 도구이며 C에서 쉘코드를 생성하는 데 사용됩니다.
암호. 최종 코드는 rabin2와 연결될 수 있고 재배치 가능하므로 다음 용도로 사용할 수 있습니다.
원격 프로세스에 주입하십시오.
ragg2-cc는 개념적으로 shellforge4를 기반으로 하지만 linux/osx x86-32/64 플랫폼만
지원.
지시문
rr2(ragg2) 구성 파일은 key=value로 설명된 다음 지시문을 허용합니다.
'#'으로 시작하는 줄로 정의된 항목과 주석입니다.
-a 아치 아키텍처 x86 설정, arm
-b 비트 32 또는 64
-k 커널 윈도우, 리눅스, OSX
-f 체재 바이너리 형식 선택(pe, elf, mach0)
-o 파일 컴파일 결과를 쓰기 위한 출력 파일
-i 쉘코드
사용할 쉘코드 이름을 지정합니다(-L 참조).
-e 인코더 사용할 인코더 이름을 지정합니다(-L 참조).
-B XNUMX진수 쉘코드를 XNUMX진수로 지정
-c k=v 쉘코드 인코더에 대한 구성 옵션을 설정합니다. 인수는 키=값이어야 합니다.
-C 파일 파일 내용 포함
-d 끄기:dword
지정된 오프셋에서 주어진 dword로 최종 버퍼를 패치합니다.
-D 꺼짐:qword
지정된 오프셋에서 주어진 qword로 최종 버퍼를 패치합니다.
-w 끄기:헥페어
지정된 오프셋에서 주어진 hexpair로 최종 버퍼를 패치합니다.
-p 메워 넣기 형식 문자열을 사용하여 일반 패딩을 지정합니다.
-F 기본 파일 형식 자동 감지(osx=mach0, linux=elf, ..)
-O 기본 출력 파일 사용(확장자 또는 a.out이 없는 파일 이름)
-I 통로 포함 경로 추가
-s 어셈블러 코드 표시
-x 실행(적시)
예
$ 고양이 안녕.r
/* r_egg의 hello world */
쓰다@시스템 콜(4);
출구@시스템 콜(1);
기본@글로벌(128) {
.var0 = "안녕하세요!\n";
쓰기(1,.var0, 4);
출구(0);
}
$ ragg2 -O -F hi.r
$ ./안녕하세요
안녕하세요!
$ 고양이 안녕.c
기본() {
write(1, "안녕하세요0, 6);
출구(0);
}
$ragg2 hi.c
$ ./hi.c.bin
안녕하세요
onworks.net 서비스를 사용하여 온라인으로 ragg2 사용