
Linux
孔方兄_
少说废话,多挖坑~
展开
-
关于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 · 12884 阅读 · 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 · 2769 阅读 · 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 · 657 阅读 · 0 评论 -
kprobe钩子详细介绍
Kprobe钩子介绍kprobe是一个动态地收集调试和性能信息的工具,它从Dprobe项目派生而来,是一种非破坏性工具,用户用它几乎可以跟踪任何函数或被执行的指令以及一些异步事件(如timer)。它的基本工作机制是:用户指定一个探测点,并把一个用户定义的处理函数关联到该探测点,当内核执行到该探测点时,相应的关联函数被执行,然后继续执行正常的代码路径。kprobe实现了三种类型的探测点:kp原创 2015-12-14 19:27:27 · 4450 阅读 · 0 评论 -
kprobe内核探测介绍
内核转载 2015-10-09 14:42:32 · 778 阅读 · 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 · 451 阅读 · 0 评论 -
防火墙、Iptables、netfilter/iptables、NAT 概述
转自:防火墙的概述 一、防火墙的简介 防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合,它能增强机构内部网络的安全性。它通过访问控制机制,确定哪些内部服务允许外部访问,以及 允许哪些外部请求可以访问内部服务。它可以根据网络传输的类型决定IP包是否可以传进或传出内部网防火墙通过审查经过的每一个数据包,判断它是否有相匹配的过滤规则,根据规则的先后顺序进行一一比较,直到满足其中转载 2015-08-31 12:38:12 · 778 阅读 · 0 评论 -
系统调用跟踪命令strace和dtruss
很多时候我们希望可以看到一个进程调用了哪些API以及其调用顺序,例如我们要参考某个程序的实现,但我们又无法获得该程序的源代码时,使用系统调用跟踪命令不失为一个好办法。另外,在一些无法调试的环境上检查问题时,我们也可以用该命令来查看程序是否按预期执行。strace和dtruss都是同一类型的命令,strace是linux系统上的,而dtruss是mac系统上的。原创 2015-08-30 11:30:14 · 10645 阅读 · 0 评论 -
软件反调试技术解析
目录一、反调试技术1.断点2.计算校验和3.检测调试器4.探测单步执行5.在运行时中检测速度衰减6.指令预取7.自修改代码8.覆盖调试程序信息9.解除调试器线程10.解密二、逆转录病毒三、混合技术四、linux反调试技术简单示例1. int3指令 2. 文件描述符 3. 利用getppid原创 2015-01-26 17:07:51 · 2574 阅读 · 0 评论 -
ununtu14安装ipset-6.24
相关包的下载网址:http://www.netfilter.org/projects/iptables/downloads.html1、解压进入目录#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 · 4404 阅读 · 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 · 869 阅读 · 0 评论 -
ubuntu14添加root并允许开机登录
1、创建root账号sudo passwd root根据提示输入roott帐号密码。2、允许开机登录界面默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录。登录普通用户,su提升权限,在/etc/lightdm/lightdm.conf文件后面增加下面两行:greeter-show-manual-login=trueallow-guest=原创 2014-11-29 13:13:47 · 1780 阅读 · 0 评论 -
向正在运行的Linux应用程序注入代码
1、简介假设Linux上正在运行某程序,像Unix守护程序等,我们不想终止该程序,但是同时又需要更新程序的功能。首先映入脑海的可能是更新程序中一些已知函数,添加额外的功能,这样就不会影响到程序已有的功能,且不用终止程序。考虑向正在运行的程序中注入一些新的代码,当程序中已存在的另一个函数被调用时触发这些新代码。也许这种想法有些异想天开,但并不是不能实现的,有时我们确实需要向正在运行的程序中注转载 2014-11-28 00:33:22 · 543 阅读 · 0 评论 -
Linux共享库注入后门
LINUX共享库类似Windows系统中的动态链接库,Linux中也有相应的共享库用以支持代码的复用。Windows中为*.dll,而Linux中为*.so。下 面详细介绍如何创建、使用Linux的共享库。一个例子:#includeint sayhello( void ){ printf("hello form sayhello function!/n");转载 2014-11-28 00:35:54 · 825 阅读 · 0 评论 -
linux内核编程(一)
这些天在学习linux内核编程,就在这里小小的show以下。首先编写如下的linux代码。并命名为hello.c这里你应该注意亮点:第一、linux内核编程,不同于普通的用户态下的编程;有一个入口的main函数;这里的“main”函数是module_init();同时还有一个善后处理的函数:module_exit()。第二、linux内核编程在编译的时候,不同于用户转载 2014-11-28 00:45:07 · 542 阅读 · 0 评论 -
Linux内核结构
Linux内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。1.进程调度(SCHED):控制进程对CPU的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的进程。可运行进程实际上是仅等待CPU资源的进程,如果某个进程在等待其它资源,则该进程是不可运行进程。Linux使用了比较简单的基于优先级的进程调度算法选择新的进程。2.内存管理(MM)允转载 2014-11-28 00:43:09 · 408 阅读 · 0 评论