
Linux c/c++
吴英强
80后,IT男,全栈工程师。
展开
-
itoa/atoi/getpass
myitoa#include #include void resver(char *s)//反转字符串{ int len = strlen(s); //printf("len=%d\n",len); int i = 0; char tmp = 0; for (; i<len/2; i++) { tmp = s[i];原创 2015-04-02 21:33:34 · 1323 阅读 · 0 评论 -
传智播客c/c++公开课学习笔记--C语言与木马恶意代码分析和360安全防护揭秘
黑客代码分析与预防 笔记【课程简介】C/C++语言是除了汇编之外,最接近底层的计算机语言,目前windows,linux,iOS,Android等主流操作系统都是用C/C++编写的,所以很多病毒、木马也都是用C/C++实现的。课程的目的就是通过C语言揭秘木马和各种远程控制软件的实现原理以及如何防护。 【课程知识点】1、木马入侵系统的方式;2、木马入侵到宿主目标后的关原创 2015-05-29 08:18:40 · 4078 阅读 · 3 评论 -
传智播客c/c++公开课学习笔记--邮箱账户的破解与邮箱安全防控
SMTP(SimpleMail Transfer Protocol)即简单邮件传输协议。SMTP协议属于TCP/IP协议簇,通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。SMTP使用TCP提供的可靠的数据传输服务把邮件消息从发信人的邮件服务器传送到收信人的邮件服务器。跟大多数应用层协议原创 2015-06-12 13:01:41 · 5669 阅读 · 0 评论 -
实现一个跨平台的mysock库(windows、linux)
1.首先确定自己的操作系统为32位还是64位:root@bfq:~/mysock# uname -aLinux bfq 3.11.0-26-generic#45~precise1-Ubuntu SMP Tue Jul 15 04:02:35 UTC 2014x86_64x86_64 x86_64 GNU/Linux 2.编写测试程序:root原创 2015-06-10 13:19:37 · 3711 阅读 · 0 评论 -
windows、linux劫持技术
windows系统下面可以利用detours劫持realse 模式劫持,调试的程序不可以 函数劫持可以实现的效果。函数的劫持原理我们如何实现-detours detours是微软亚洲研究院出品的信息安全产品,主要用于劫持。 detours根据函数指针改变函数的行为,拦截任何函数,即使操作系统函数。1.安装detours2.构建库文件-n原创 2015-06-03 12:54:18 · 2564 阅读 · 0 评论 -
linux信号处理--通过发送信号控制进程
要求: 实现两个程序mysignal、mycontrl, mycontrl给mysignal发送SIGINT信号,控制mysiganl是否在屏幕打印"hello,world"字符串.//makefile.SUFFIXES: .c .oCC=gccSRCS1=mysignal.cSRCS2=mycontrol.c OBJS1=$(SRCS1:.c=.o)原创 2015-05-30 11:19:48 · 1768 阅读 · 0 评论 -
linux下Shell编程--标准的守护进程的启动脚本
一个标准的守护进程的启动脚本:#! /bin/shWHOAMI=`whoami`PID=`ps -u $WHOAMI | gerp mydaemond | awk '{print $1}'`if (test "$1" = "") then echo "mydaemond [start][stop][version]" exit 0fiif ( test "$1" = "原创 2015-05-18 13:22:55 · 2679 阅读 · 4 评论 -
进程间通信--两个进程操作同一个文件
a.txt文件内容如下:hello,world。编写两个不同的可执行程序,名称分别为a和b。在a程序中调用open函数打开a.txt文件,在b程序不可调用open或者fopen。只允许调用read函数来实现读取a.txt文件(a程序中可以使用fork和execv函数创建子进程)。makefile.SUFFIXES: .c .oCC=gccSRCS=a.c原创 2015-05-07 22:34:47 · 3320 阅读 · 0 评论 -
字符集转化/curses
要求: 自己动手实现一个守护进程,当控制台窗口关闭时还可以在后台运行,每隔一秒钟向my.log文件中插入一条记录,记录格式如下:yyyy-mm-dd hh:mi:se 。//makefile.SUFFIXES: .c .oCC=gccSRCS=mydaemon.cOBJS=$(SRCS:.c=.o)EXEC=mydaemonall: $(OBJS)原创 2015-04-20 21:53:48 · 1036 阅读 · 0 评论 -
内存四区分析
代码区代码区code,程序被操作系统加载到内存的时候,所有的可执行代码都加载到代码区,也叫代码段,这块内存是不可以在运行期间修改的。静态区所有的全局变量以及程序中的静态变量都存储到静态区,比较如下两段代码的区别#include int a = 0;int main(){ static int b = 0; printf("%p, %p\n", &原创 2015-03-17 21:11:45 · 2712 阅读 · 0 评论 -
Linux 线程挂起与唤醒功能 实例
pthread_cond_wait多线程的条件变量条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件成立信号)。为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。创建和注销条件变量和互斥锁一样,都有静态动态两种创建方式,静态方式使用PTHREAD_COND_INI原创 2014-04-11 09:35:09 · 17080 阅读 · 0 评论 -
linux下C语言编程动态库so的编写及调用
//test_so.h#include void test_a();void test_b();//test_a.c#include "so_test.h"void test_a(){ printf("this is in test_a...\n");}//test_b.c#include "so_test.h"void test_b(){ printf("thi原创 2015-03-01 21:00:09 · 2473 阅读 · 0 评论 -
Linux下socket编程,附带tcp例子
1、网络中进程之间如何通信?本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类:消息传递(管道、FIFO、消息队列)同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量)共享内存(匿名的和具名的)远程过程调用(Solaris门和Sun RPC)但这些都不是本文的主题!我们要讨论的是网络中进程之间如何通信?首要解决的问题是如何唯一标识一个进程,否则原创 2014-05-28 16:03:46 · 3767 阅读 · 2 评论 -
UC高级编程--利用信号实现进程间通信
/********************************************************************** *Copyright (c) 2014,TianYuan *All rights reserved. * * 文件名称: sigin.c * 文件标识:无 * 内容摘要:利用信号实现进程间通信,测试代码. 把要发送的数据存放到文件中,并发送信号原创 2014-07-11 18:57:11 · 1489 阅读 · 0 评论 -
【C/C++学院】0804-C语言和设计模式(继承、封装、多态)
C++有三个最重要的特点,即继承、封装、多态。我发现其实C语言也是可以面向对象的,也是可以应用设计模式的,关键就在于如何实现面向对象语言的三个重要属性。(1)继承性[cpp] view plaincopy1. typedef struct _parent 2. { 3. int data_parent; 4. 5. }Parent原创 2015-09-15 13:00:17 · 1863 阅读 · 3 评论