一、前言:
相信很多学习计算机的同学,都有一个黑客梦,这次就给大家稍微展示一些“拙劣”的黑客技巧,仅限于linux环境。因为工作以后,90%的人都是在linux系统从事开发工作的。
二、测试环境:
三、strcmp函数简介
以大家最熟悉的strcmp函数为例,玩一把劫持。人狠话不多,直接上代码。
1、strcmp函数原型:
int strcmp(const char *s1, const char *s2);
2、strcmp函数所属头文件
#include <string.h>
3、strcmp函数介绍
strcmp函数是string compare(字符串比较)的缩写,用于比较两个字符串并根据比较结果返回整数。基本形式为strcmp(str1,str2),若str1=str2,则返回零;若str1
4、strcmp基本用法
test.c文件内容如下:
#include <stdio.h> #include <string.h> int main() { char passwd[] = "654321"; int ret; ret = strcmp(passwd, "123456"); if (ret == 0) { puts("密码正确"); } else { puts("密码错误"); } return 0; }
5、编译运行
四、strcmp函数劫持
以下代码会涉及到linux环境高级编程的知识,有兴趣的朋友可以留言,根据大家感兴趣程度,我可以再写一篇博客单独介绍这些技巧。
第一步、编写劫持模块 mystrcmp.c
第二步、编译劫持模块
gcc -fPIC -shared -o mystrcmp.so mystrcmp.c
第三步、加载劫持模块
export LD_PRELOAD=./mystrcmp.so
第四步、运行test程序
大家可以看到,即使passwd的值为654321,也会打印密码正确,神奇不。
第五步、恢复环境
export LD_PRELOAD=
五、小结
以上就是劫持(Hook)库函数的完成流程了,大家觉得好玩不,有兴趣留言,后续还会更新更多好玩的。
0.0分
5 人评分
点我有惊喜!你懂得!浏览:1166 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:674 |
C语言训练-立方和不等式 (C语言代码)浏览:779 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:827 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:1052 |
简单的a+b (C语言代码)浏览:385 |
【明明的随机数】 (C语言代码)浏览:846 |
sizeof的大作用 (C语言代码)浏览:1598 |
有关字符,字符串的输入输出函数说明浏览:499 |
陶陶摘苹果2 (C语言代码)浏览:651 |