0x02の組み込み---ハイジャックシステムコール隠しファイル

  1. システムコールテーブルのメモリアドレスsys_call_tableにカーネルメモリを見ると、関数のメモリアドレスをスワップ
  2. より/boot/System.map-4.15.0-66-generic(4.15.0-66-ジェネリックカーネルバージョンは、あなたがのuname -rで見ることができます):システムファイルの一部を通じて
	asmlinkage long (*real_mkdir)(const char __user *pathname,umode_t mode);
	asmlinkage long myself_mkdir(const char __user *pathname, umode_t mode)
	{
		....
	}
	write_cr0(read_cr0() & (~0x10000)); //关闭内存保护
	real_mkdir = (void *)sys_call_table[__NR_mkdir]; //real_mkdir 原mkdir调用的系统调用函数,提前保存原函数。
	sys_call_table[__NR_mkdir] = myself_mkdir; //将自定义的mkdir函数进行赋值给sys_call_table[__NR_mkdir] 。
	write_cr0(read_cr0() | 0x10000); //开启内存保护
公開された31元の記事 ウォン称賛17 ビュー10000 +

おすすめ

転載: blog.csdn.net/q759451733/article/details/102811819