Skip to content

JaonLin/pemu

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

1 Process Information for guest OS:

1.1 Compile and run task-info/task-info.c in the guest OS

sudo insmod task-info.ko
dmesg

1.2 Copy the output to the ./target-i386/PEMU/linux.c

{
	0xC1731F60, /* task struct root */
	432, /* offset of task_struct list */
	460, /* offset of mm */
	40, /* offset of pgd in mm */
	732, /* offset of comm */
};

Note: the new process detection approach listed in the paper is not that stable. Instead, we use some process information to help new process detection.

2 Compile PEMU:

sudo apt-get build-dep qemu
cd pemu && mkdir build && cd build
../myconfig && make install

3 Compile PIN plugins

cd pemu/plugins && make

4 Run testcases:

4.1 Launch PEMU:

cd pemu/build/bin && ./qemu-system-i386 -m 512 image -monitor stdio

4.2 Specify PIN plugin and target program (eg. ls):

(QEMU) pemu ls strace.so

4.3 Run target program in guest OS (eg. ls):

guestos:~$ ls

About

PEMU: A PIN Highly Compatible Out-of-VM Dynamic Binary Instrumentation Framework with some patches

Resources

License

Unknown and 2 other licenses found

Licenses found

Unknown
LICENSE
GPL-2.0
COPYING
LGPL-2.1
COPYING.LIB

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 73.1%
  • Assembly 10.7%
  • HTML 6.4%
  • C++ 3.6%
  • Roff 1.2%
  • Objective-C 0.9%
  • Other 4.1%