Linux
孔方兄_
少说废话,多挖坑~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
系统调用跟踪命令strace和dtruss
很多时候我们希望可以看到一个进程调用了哪些API以及其调用顺序,例如我们要参考某个程序的实现,但我们又无法获得该程序的源代码时,使用系统调用跟踪命令不失为一个好办法。另外,在一些无法调试的环境上检查问题时,我们也可以用该命令来查看程序是否按预期执行。strace和dtruss都是同一类型的命令,strace是linux系统上的,而dtruss是mac系统上的。原创 2015-08-30 11:30:14 · 10983 阅读 · 0 评论 -
关于Qt下error: multiple definition of 的问题
通常情况下,编译遇到multiple definition of重复定义的问题都是由于多次引入.h文件导致的,这种情况可以通过#pragma once或者以下方式解决: #ifndef TEST_H #define TEST_H // 变量和函数定义 #endif 但在Qt中还有一种情况会导致error: multiple definition of 的问题,那就是在.pro项目文件...原创 2019-06-28 10:35:58 · 13765 阅读 · 2 评论 -
获取kprobes嗅探的函数参数
获取kprobes嗅探的函数参数 疑问: 我已经用kprobes对一个函数进行嗅探,我需要在pre_handler处理函数里获取被嗅探函数的参数值。 被嗅探函数如下: void foobar(int arg, int arg2, int arg3,int arg4, int arg5, int arg6, int arg7, int arg8) { printk("foobar翻译 2015-12-16 11:00:46 · 2993 阅读 · 0 评论 -
linux dup,dup2,dup3 复制一个文件描述符
dup,dup2,dup3 --duplicate a file descriptor复制一个文件描述符 大纲 #include int dup(int oldfd); int dup2(int oldfd , int newfd); int dup3(int oldfd , int newfd , int flags); 描述: 这些转载 2015-12-15 10:27:11 · 710 阅读 · 0 评论 -
kprobe钩子详细介绍
Kprobe钩子介绍 kprobe是一个动态地收集调试和性能信息的工具,它从Dprobe项目派生而来,是一种非破坏性工具,用户用它几乎可以跟踪任何函数或被执行的指令以及一些异步事件(如timer)。它的基本工作机制是:用户指定一个探测点,并把一个用户定义的处理函数关联到该探测点,当内核执行到该探测点时,相应的关联函数被执行,然后继续执行正常的代码路径。 kprobe实现了三种类型的探测点:kp原创 2015-12-14 19:27:27 · 4727 阅读 · 0 评论 -
kprobe内核探测介绍
内核转载 2015-10-09 14:42:32 · 862 阅读 · 0 评论 -
Linux tcpdump命令详解
转载自:http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、转载 2015-08-31 17:41:48 · 507 阅读 · 0 评论 -
防火墙、Iptables、netfilter/iptables、NAT 概述
转自:防火墙的概述 一、防火墙的简介 防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合,它能增强机构内部网络的安全性。它通过访问控制机制,确定哪些内部服务允许外部访问,以及 允许哪些外部请求可以访问内部服务。它可以根据网络传输的类型决定IP包是否可以传进或传出内部网防火墙通过审查经过的每一个数据包,判断它是否有相匹配的过滤规则,根据规则的先后顺序进行一一比较,直到满足其中转载 2015-08-31 12:38:12 · 820 阅读 · 0 评论 -
Linux内核结构
Linux内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。 1.进程调度(SCHED):控制进程对CPU的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的进程。可运行进程实际上是仅等待CPU资源的进程,如果某个进程在等待其它资源,则该进程是不可运行进程。Linux使用了比较简单的基于优先级的进程调度算法选择新的进程。 2.内存管理(MM)允转载 2014-11-28 00:43:09 · 445 阅读 · 0 评论 -
软件反调试技术解析
目录 一、反调试技术 1.断点 2.计算校验和 3.检测调试器 4.探测单步执行 5.在运行时中检测速度衰减 6.指令预取 7.自修改代码 8.覆盖调试程序信息 9.解除调试器线程 10.解密 二、逆转录病毒 三、混合技术 四、linux反调试技术简单示例 1. int3指令 2. 文件描述符 3. 利用getppid原创 2015-01-26 17:07:51 · 2866 阅读 · 0 评论 -
ununtu14安装ipset-6.24
相关包的下载网址:http://www.netfilter.org/projects/iptables/downloads.html 1、解压进入目录 #tar -vxjf ipset-6.24.tar.bz2 #cd cd ipset-6.24/ 2、初始化ipset编译环境,需要automake,autoconf,pkg-config和libtool的支持。 #./autog原创 2014-11-29 17:30:50 · 4591 阅读 · 0 评论 -
Ubuntu 14.04 下安装 JDK 8和eclipse C++
方法一:(缺点是安装时附加openjdk等大量程序并无法去除,优点是安装简单) $ sudo apt-get install eclipse 方法二:(优点是安装内容精简,缺点是配置麻烦) 一、安装JDK(目前最新的是jdk-8u25) 1、下载 JDK 8 从http://www.oracle.com/technetwork/java/j原创 2014-11-29 15:17:00 · 914 阅读 · 0 评论 -
ubuntu14添加root并允许开机登录
1、创建root账号 sudo passwd root 根据提示输入roott帐号密码。 2、允许开机登录界面 默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录。 登录普通用户,su提升权限,在/etc/lightdm/lightdm.conf文件后面增加下面两行: greeter-show-manual-login=true allow-guest=原创 2014-11-29 13:13:47 · 1847 阅读 · 0 评论 -
向正在运行的Linux应用程序注入代码
1、简介 假设Linux上正在运行某程序,像Unix守护程序等,我们不想终止该程序,但是同时又需要更新程序的功能。首先映入脑海的可能是更新程序中一些已知函数,添加额外的功能,这样就不会影响到程序已有的功能,且不用终止程序。考虑向正在运行的程序中注入一些新的代码,当程序中已存在的另一个函数被调用时触发这些新代码。也许这种想法有些异想天开,但并不是不能实现的,有时我们确实需要向正在运行的程序中注转载 2014-11-28 00:33:22 · 609 阅读 · 0 评论 -
Linux共享库注入后门
LINUX共享库 类似Windows系统中的动态链接库,Linux中也有相应的共享库用以支持代码的复用。Windows中为*.dll,而Linux中为*.so。下 面详细介绍如何创建、使用Linux的共享库。 一个例子: #include int sayhello( void ) { printf("hello form sayhello function!/n");转载 2014-11-28 00:35:54 · 901 阅读 · 0 评论 -
linux内核编程(一)
这些天在学习linux内核编程,就在这里小小的show以下。 首先编写如下的linux代码。并命名为hello.c 这里你应该注意亮点: 第一、linux内核编程,不同于普通的用户态下的编程;有一个入口的main函数;这里的“main”函数是module_init();同时还有一个善后处理的函数:module_exit()。 第二、linux内核编程在编译的时候,不同于用户转载 2014-11-28 00:45:07 · 596 阅读 · 0 评论
分享