- 博客(23)
- 资源 (23)
- 收藏
- 关注
转载 MFC消息映射的原理
原文地址:http://www.cnblogs.com/lidabo/p/3694726.html多态的实现机制有两种,一是通过查找绝对位置表,二是查找名称表;两者各有优缺点,那么为什么mfc的消息映射采用了第二种方法,而不是c++使用的第一种呢?因为在mfc的gui类库是一个庞大的继承体系,而里面的每个类有很多成员函数(只说消息反映相关的成员函数啊),而且在派生类中,需要改写的也比较
2016-08-31 11:07:02 3248 1
转载 动态修改其它进程的代码,实现DLL注入
原文地址:http://www.cnblogs.com/showna/articles/691763.html传统的远程进程控制方式有利用HOOK技术注入DLL,和利用远线程在目标进程中建立新的执行线程的方式. 远线程不被win9x所支持,而hook技术会对目标进程性能造成一定的影响.并具可以通过枚举消息链的方式发现. 本文给出一种动态修改目标进程代码,注入DLL到目标进程的方法,效率
2016-08-23 17:25:43 1855
转载 windows编程经典书籍
作者:Harry Meng 来源:互联网.也许我的阅读面过于狭小,书架里基本上都是Jeffrey Richter,Charles Petzold,侯捷老师以及潘爱民老师的书,这些书一直陪伴着我,并给我的编程工作带来了很大的帮助,希望我的推荐对你也有帮助。现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千,很多陌生的出版社,很多陌生的作者,很多陌生的译者,书名也是越来
2016-08-19 10:27:05 2506
转载 游戏外挂基本原理及实现
游戏外挂已经深深地影响着众多网络游戏玩家,今天在网上看到了一些关于游戏外挂编写的技术,于是转载上供大家参考 1、游戏外挂的原理 外挂现在分为好多种,比如模拟键盘的,鼠标的,修改数据包的,还有修改本地内存的,但好像没有修改服务器内存的哦,呵呵。其实修改服务器也是有办法的,只是技术太高一般人没有办法入手而已。(比如请GM去夜总会、送礼、收黑钱等等办法都可以修改服务器数据,哈哈)
2016-08-18 09:59:11 3234
转载 GCC 编译使用动态链接库
动态链接库1. 创建动态链接库复制代码代码如下:#includevoid hello(){ printf("hello world/n");}用命令gcc -shared hello.c -o libhello.so编译为动态库。可以看到,当前目录下多了一个文件libhello.so。2. 再编辑一个测试文件test
2016-08-12 16:13:42 1379
转载 linux下查找动态库中函数地址实例代码
dl_iterate_phdr可以查到当前进程所装在的所有符号,每查到一个就会调用你指定的回调函数。下面的代码示例如何使用dl_iterate_phdr和dladdr#define _GNU_SOURCE#include #include #include static intcallback (struct dl_phdr_info *info, size_t
2016-08-12 16:12:26 5114
转载 Linux动态库的工作原理详解
关于动态库的原理和加载过程,网上也有很多版本,但是基本都在讲解动态库的编译以及使用,很少能够有文章对动态库的加载以及工作原理进行深入的剖析和讲解。说来也很惭愧,在过去的工作中,没能彻底的去弄清楚动态库的工作原理。直到最近工作中听到一些关于动态库加载以及工作原理的一些错误的理论,一方面为了推翻该理论,另一方面,正好借此机会彻底弄清楚动态库的工作原理。 后面还会详细讲解Linux动态库的加载原理《Li
2016-08-12 14:24:19 2085
转载 Linux动态库原理(二)重定位
原文转自:http://www.aichengxu.com/view/81130Linux动态库原理(二)重定位 前面一章《Linux动态库工作原理详解》比较简单浅显的对 Linux 的工作原理进行了阐述,今天打算从 Linux 动态库在加载过程中符号的重定位(Relocation)的角度,更加深入的讲解 Linux 动态库的工作原理。在1980s SunOS 将动
2016-08-12 14:21:14 3626 1
转载 GDB用法及命令大全
原文链接:http://blog.csdn.net/weiwangchao_/article/details/11882617一:列文件清单 1. list(l) (gdb) list line1,line2 二:执行程序 要想运行准备调试的程序,可使用run(r)命令,在它后面可以跟随发给该程序的任
2016-08-08 10:19:02 567
转载 GDB下查看内存命令(x命令)
可以使用examine命令(简写是x)来查看内存地址中的值。x命令的语法如下所示: x/ n、f、u是可选的参数。 n是一个正整数,表示需要显示的内存单元的个数,也就是说从当前地址向后显示几个内存单元的内容,一个内存单元的大小由后面的u定义。 f 表示显示的格式,参见下面。如果地址所指的是字符串,那么格式可以是s
2016-08-08 10:12:00 2310
转载 使用ptrace向已运行进程中注入.so并执行相关函数
1. 简介 使用ptrace向已运行进程中注入.so并执行相关函数,其中的“注入”二字的真正含义为:此.so被link到已运行进程(以下简称为:目标进程)空间中,从而.so中的函数在目标进程空间中有对应的地址,然后通过此地址便可在目标进程中进行调用。 到底是如何注入的呢? 本文实现方案为:在目标进程中,通过dlopen把需要注入的.so加载到目标进
2016-08-06 18:49:52 663
转载 动态注入技术
我们在讨论动态注入技术的时候,APIHook的技术由来已久,在操作系统未能提供所需功能的情况下,利用APIHook的手段来实现某种必需的功能也算是一种不得已的办法。在Windows平台下开发电子词典的光标取词功能,这项功能就是利用Hook API的技术把系统的字符串输出函数替换成了电子词典中的函数,从而能得到屏幕上任何位置的字符串。无论是16位的Windows95,还是32位的Windws NT,
2016-08-06 11:43:49 4224
转载 玩转ptrace
下面是转帖的内容,写的很详细。但是不同的linux发行版中头文件的路径和名称并不相同。如在某些发行版中就不存在,其中定义的变量出现在和中。==================================================================================================by Pradeep PadalaCrea
2016-08-05 17:58:43 397
转载 linux-inject:注入代码到运行的Linux进程中
最近,我遇到了linux-inject,它是一个注入程序,可以注入一个.so文件到一个运行中的应用程序进程中。类似于LD_PRELOAD环境变量所实现的功能,但它可以在程序运行过程中进行动态注入,而LD_PRELOAD是定义在程序运行前优先加载的动态链接库。事实上,linux-inject并不取代任何功能。换句话说,可以看成是忽略了LP_PRELOAD.它的文档很匮乏,理由可能是开发人员认
2016-08-05 08:28:40 7737 1
转载 使用反汇编理解动态库函数调用方式GOT/PLT
文章转载自:http://blog.csdn.net/anzhsoft/article/details/18776111 本文主要讲解动态库函数的地址是如何在运行时被定位的。首先介绍一下PIC和Relocatable的动态库的区别。然后讲解一下GOT和PLT的理论知识。GOT是Global Offset Table,是保存库函数地址的区域。程序运行时,库函数的地址会设置到GOT
2016-08-04 15:10:53 2137
转载 一步一步走进Linux HOOK API(八)
最近实在是太忙了.学校毕业的事情太麻烦,手续啥的,加上公司的事情..实在没心思写了.特转帖来做本系列的最终章...以后有时间空下来.再详细开帖阐述.望见谅.....共享库注射--injectso实例作者:grip2 日期:2002/08/16内容: 1 -- 介绍 2 -- injectso -- 共享库注射技术 3 -- injectso
2016-08-03 18:00:04 1289
转载 一步一步走进Linux HOOK API(七)
一步一步走进Linux HOOK API(七) 我又来啦,今天是本系列介绍ELF文件的最后一篇教程.跟随大家一起了解了ELF文件的大致结构.整个结构其实是很明朗的,根据ELF头,程序头,节头.从节头里提取不同的类型,到不同的节表内去获取不同的信息,今天这里主要介绍重定位表.也是常用的节表之一.有了符号名和动态库的名字操作系统就可以为我们引入函数了,但在我们的程序中是谁会用这些外部函
2016-08-03 17:58:21 576
转载 一步一步走进Linux HOOK API(六)
一步一步走进Linux HOOK API(六)上一节,我们讲了如何手动通过GDB来拦截printf的参数,其实ELF远远不止我们介绍的那点东西,在经过一轮实战之后,我们得继续回到ELF文件格式的探索之旅了.今天我们这里就要讲什么的,好了,今天我们轻松一点,看一下动态节,动态节的类型是SHT_DYNAMIC,先看一下动态节的定义:[cpp] view
2016-08-03 17:57:08 412
转载 一步一步走进Linux HOOK API(五)
一步一步走进Linux HOOK API(五)这一讲中,我们不在继续进入研究动态符号表的获取了,今天咱们来点实战的话题,对于前面我们研究的那么多知识,做一次总结.来看看这些节表之间是怎么联系起来的.最后我们将经过一个简单的拦截printf函数,修改它的参数,来输出我指定的字符串,这样就达到简单的hook api的目的.好了废话不多说.先看看main.c里面的代码.[
2016-08-03 17:56:18 622
转载 一步一步走进Linux HOOK API(四)
一步一步走进Linux HOOK API(四)这一节主要是讲述的是符号节.要怎么才能找到符号节呢,其实只要在上一期讲的遍历节头的时候,判断每一个节类型是不是SHT_SYMTAB或SHT_DYNSYM,那么相应的节就是一个符号节了,符号节存放的是一张符号表,符号表也是一个连续存储的结构数组.那什么叫符号呢?编程过程中用到的变量和函数都可以称之为符号,一个ELF文件中并不只有一个符号节
2016-08-03 17:55:05 516
转载 一步一步走进Linux HOOK API(三)
一步一步走进Linux HOOK API(三)经过前两篇的教程,我很郁闷,CSDN的博客发布出来之后,跟我的排版完全不一样了,等这一系列的内容全部完成完成之后,我会发布该系列的全部doc文件,如果觉得本系列还不错的话,欢迎大家下载收藏..谢谢支持~~~下面进入正题,今天主要讲述的是ELF 文件的另一个大块叫节头(Section Headers),那么什么叫节头呢.节头里面分散着不同
2016-08-03 17:54:03 556
转载 一步一步走进Linux HOOK API(二)
一步一步走进Linux HOOK API(二)从上一篇的ELF Head之后,想必很多读者已经对ELF文件开始感觉不是遥不可及了,今天这一节,主要是讲程序头(Program Headers),程序头主要是从加载执行的角度来看的,很多人想那里面到底是什么东西呢,其实程序头就是一个结构数组,每一个头保存着对应的不同的数据,有的数据是告诉系统把我放入内存,有的数据时告诉系统我是变量.等等...在
2016-08-03 17:52:41 600
转载 一步一步走进Linux HOOK API(一)
文章转载自:http://blog.csdn.net/yyttiao/article/details/7346287主要是拷贝到自己博客,做个备份最近我查阅很多参考资料.发现对于讲述Linux HOOK API的资料是很少,让我们这些新人难以去走进Linux HOOK大门.在这里我将全面的讲述Linux HOOK API的全部实现过程,这个过程中我也遇到
2016-08-03 17:50:40 573 1
TLV2460中文数据手册
2013-08-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人