- 博客(45)
- 资源 (33)
- 收藏
- 关注
转载 日服巫术online过驱动保护分析(纯工具)(工具+自写驱动)
前言:最近在学外挂编程,基本都是利用CE,OD调试分析游戏数据,但现在游戏公司用各种保护手段防止我们调试游戏,虽然我们有CE,OD这样的利器但是仍然被游戏驱动保护挡在门外i,真可谓巧妇也难为无米之炊啊。 不得已只好暂停学习各种找CALL技术,先了解下游戏驱动保护的门门道道。经过几天的学习,有所收获,特记录下来,以备日后查询。本贴为纯工具过掉保护,下面将用工具+自写驱动过掉它,算是最近学习驱
2015-12-30 13:51:55 6716
转载 读取SSDT表和原函数地址
读取当前地址代码(NtOpenProcess): LONG *SSDT_Adr,t_addr,adr; t_addr=(LONG)KeServiceDescriptorTable->ServiceTableBase; SSDT_Adr=(PLONG)(t_addr+0x7a*4); adr=*SSDT_Adr;读取起源地址(NtOpenProcess):UNICOD
2015-12-30 13:50:30 1184
转载 反调试技巧总结-原理和实现
一、 前言 前段学习反调试和vc,写了antidebug-tester,经常会收到message希望交流或索要实现代码,我都没有回复。其实代码已经在编程版提供了1个版本,另其多是vc内嵌asm写的,对cracker而言,只要反下就知道了。我想代码其实意义不是很大,重要的是理解和运用。 做个简单的总结,说明下实现原理和实现方法。也算回复了那些给我发Message的朋友。
2015-12-30 13:49:15 1286
转载 VC编译的除法的一段汇编代码解释
int main(int argc, char* argv[]){ int i; scanf("%d", &i); int j = i / 2; printf("%d", j);return 0;}编译后:10: int j = i / 2;00401039 mov eax,
2015-12-30 13:48:46 762
转载 用特征码秒杀各程序语言按钮事件
作者:小童工具:OllyDbg、Delphi程序一个、易语言程序一个、MFC程序一个--------------------------------------------------------------------------------------------------------------------------------------------------------
2015-12-30 13:46:47 1868
转载 ssdt 表结构及hook的一般理解
1 Ssdt表的基本结构KeServiceDescriptorTable 首地址:8055D7000: kd> dd KeServiceDescriptorTable8055d700 80505460 00000000 0000011c 805058d48055d710 00000000 00000000 00000000 000000008055d720 0
2015-12-30 13:44:23 488
转载 Socket重叠IO
1.为什么到现在才弄懂这个不知道这个Socket重叠IO这种模型是不是socket IO完成端口的基础,不过我感觉,学习一下这个再去学习socket IO完成端口是比较有好处的。这个Scoket重叠IO我以前记得看过好几次,都没看懂。一部分原因是我没能静态心来写代码,还有更重要的原因就是,Socket重叠他们的结构体参数,还有传参数让人很难理解。下面我将对这些数据结构和参数进行一下讲解
2015-12-30 13:37:34 820
转载 windows终止处理程序( __try __finally) 简单解析
本文大部分来自《windows核心编程》。例1//二话不说,直接上代码int Funcenstein2(){ __try { return 3; } __finally { //在函数返回之前会处理__finally里的内容 cout"finally executed"endl; }
2015-12-30 13:32:21 717
转载 窥探try ... catch与__try ... __except的区别
VC中的这两个东西肯定谁都用过, 不过它们之间有什么区别, 正好有时间研究了一下, 如果有错误欢迎拍砖.基于VC2005, 32位XP 平台测试通过. 估计对于其他版本的VC和操作系统是不通用的.1. try ... catch这个是C++语言定义的, 每个C++都有对其的不同的实现. 使用也很简单. 比如我们有一个函数, 读入年龄. 如果=100, 抛出异常:int
2015-12-30 13:28:14 3559
转载 __declspec(naked)详解
__declspec(naked)是用来告诉编译器函数代码的汇编语言为自己的所写,不需要编译器添加任何汇编代码注意点:[cpp] view plaincopyvoid __declspec(naked) funname() { _asm { ... [cpp] view plainco
2015-12-30 13:20:03 6007
转载 反汇编RETN 0x0c的理解
1.CALL指令: CALL指令可不是如唤指令,而是子程序调用指令。那么汇编语言中的子程序是什么呢?子程序能被其它程序调用,在实现某种功能后能自动返回到调用程序去的程序。其最后一条指令一定是返回指令,故能保证得新返回到调用它的程序中去。也可调用其它子程序,甚至可自身调用。 我们可以暂时把子程序理解为一个代码段,是一个模块化的代码面。这个代码段可以完成某一特定功能,当程序在执行过程中需要
2015-12-29 13:37:00 3932
转载 win7下反汇编程序程序基址改变问题
windows vista开始有动态基地址的功能,只要pe头Dll Characteristics有0x40每次加载时基地址都不一样自己的程序:要想基址固定,在链接器中去掉/DYNAMICBASE加上/FIXED#pragma comment(linker,"/BASE:0x500000"),然后属性--链接器--高级--随机基址 禁用 别人的程序:去掉
2015-12-23 18:48:35 1596
转载 学习windows 应用层 inline hook 原理总结
inline hook 实际上就是指 通过改变目标函数头部的代码来使改变后的代码跳转到我们自己设置的一个函数里,产生hook。今天就拿MessageBoxA这个api函数来做实验。功能就是当程序调用MessageBoxA 时,我们打印出MessageBoxA的参数 大概代码结构应该是这样typedef int (WINAPI *MessageBox_type) (
2015-12-23 18:21:46 797
转载 detours介绍与使用
Detours是微软开发的一个函数库,可用于捕获系统API。在用其进行程序开发之前,得做一些准备工作:一.下载Detours 在http://research.microsoft.com/sn/detours 可免费下载Detours二.安装Detours 一路NEXT三.生成Detours库 在安装后的文件夹下找不到直接可以拿来用的
2015-12-23 13:48:58 15498 1
转载 微软研究院Detour开发包之API拦截技术
我们截获函数执行最直接的目的就是为函数增添功能,修改返回值,或者为调试以及性能测试加入附加的代码,或者截获函数的输入输出作研究,破解使用。通过访 问源代码,我们可以轻而易举的使用重建(Rebuilding)操作系统或者应用程序的方法在它们中间插入新的功能或者做功能扩展。然而,在今天这个商业 化的开发世界里,以及在只有二进制代码发布的系统中,研究人员几乎没有机会可以得到源代码。本文主要讨论Detou
2015-12-23 12:35:34 981
转载 【Boost】boost库中timer定时器
同步Timerasio中提供的timer名为deadline_timer,它提供了超时计时的功能。首先以一个最简单的同步Timer为例来演示如何使用它。 #include #include int main() { boost::asio::io_service io; boost::asio:
2015-12-23 09:41:40 11218 1
转载 shell脚本报错:-bash: xxx: /bin/sh^M: bad interpreter: No such file or directory
今天写了一个shell脚本,然后在执行的时候报错,脚本内容很简单,仅供测试:Shell代码 #!/bin/sh echo "test shell " 具体报错信息如下:Shell代码 [root@localhost test]# ./test.sh -bash: ./test.sh: /bin/sh^M
2015-12-17 14:22:04 1042
转载 PostgreSQL学习笔记10之性能提升技巧
一、使用EXPLAIN: PostgreSQL为每个查询都生成一个查询规划,因为选择正确的查询路径对性能的影响是极为关键的。PostgreSQL本身已经包含了一个规划器用于寻找最优规划,我们可以通过使用EXPLAIN命令来查看规划器为每个查询生成的查询规划。 PostgreSQL中生成的查询规划是由1到n个规划节点构成的规划树,其中最底层的节点为表扫描节点,用于从数据表中返
2015-12-15 16:59:48 424
转载 PostgreSQL学习笔记9之事务隔离
在SQL的标准中事物隔离级别分为以下四种: 1. 读未提交(Read uncommitted) 2. 读已提交(Read committed) 3. 可重复读(Repeatable read) 4. 可串行化(Serializable) 然而PostgreSQL在9.1之前的版本中只是实现了其中两种,即读已提交和可串行化,如果在实际应用中选择了另外
2015-12-15 16:55:05 481
转载 PostgreSQL学习笔记8之索引
一、索引的类型: PostgreSQL提供了多 种索引类型:B-Tree、Hash、GiST和GIN,由于它们使用了不同的算法,因此每种索引类型都有其适合的查询类型,缺省时,CREATE INDEX命令将创建B-Tree索引。 1. B-Tree: CREATE TABLE test1 ( id integer,
2015-12-15 16:53:47 372
转载 PostgreSQL学习笔记7之函数和操作符<三>
九、序列操作函数: 序列对象(也叫序列生成器)都是用CREATE SEQUENCE创建的特殊的单行表。一个序列对象通常用于为行或者表生成唯一的标识符。下面序列函数,为我们从序列对象中获取最新的序列值提供了简单和并发读取安全的方法。函数返回类型描述nextval(regclass)bigint递增序列对象到它的下一个数
2015-12-15 16:51:14 385
转载 PostgreSQL学习笔记6之函数和操作符<二>
六、模式匹配: PostgreSQL中提供了三种实现模式匹配的方法:SQL LIKE操作符,更近一些的SIMILAR TO操作符,和POSIX-风格正则表达式。 1. LIKE: string LIKE pattern [ ESCAPE escape-character ] string NOT LIKE pattern [ ESCAPE escape-
2015-12-15 16:49:04 382
转载 PostgreSQL学习笔记5之函数和操作符<一>
一、逻辑操作符: 常用的逻辑操作符有:AND、OR和NOT。其语义与其它编程语言中的逻辑操作符完全相同。二、比较操作符: 下面是PostgreSQL中提供的比较操作符列表:操作符描述小于>大于小于或等于>=大于或等于=
2015-12-15 16:45:56 485
转载 PostgreSQL学习笔记4之常用数据类型
一、数值类型: 下面是PostgreSQL所支持的数值类型的列表和简单说明:名字存储空间描述范围smallint2 字节小范围整数-32768 到 +32767integer4 字节常用的整数-2147483648 到 +2147483647bi
2015-12-15 16:44:15 556
转载 PostgreSQL学习笔记3之表的继承和分区
一、表的继承: 这个概念对于很多已经熟悉其他数据库编程的开发人员而言会多少有些陌生,然而它的实现方式和设计原理却是简单易懂,现在就让我们从一个简单的例子开始吧。 1. 第一个继承表: CREATE TABLE cities ( --父表 name text, population float,
2015-12-15 16:41:38 408
转载 PostgreSQL学习笔记2之模式
一个数据库包含一个或多个命名的模式,模式又包含表。模式还包含其它命名的对象,包括数据类型、函数,以及操作符。同一个对象名可以在不同的模式里使用而不会导致冲突; 比如,schema1和myschema都可以包含叫做mytable的表。和数据库不同,模式不是严格分离的:一个用户可以访问他所连接的数据库中的任意模式中的对象,只要他有权限。 我们需要模式有以下几个主要原因: 1). 允
2015-12-15 16:38:49 310
转载 PostgreSQL学习笔记1之表定义
一、表的定义: 对于任何一种关系型数据库而言,表都是数据存储的最核心、最基础的对象单元。现在就让我们从这里起步吧。 1. 创建表: CREATE TABLE products ( product_no integer, name text, price numeric ); 2.
2015-12-15 16:38:02 368
转载 透过汇编另眼看世界之DLL导出函数调用
前言:我一直对DLL技术充满好奇,一方面是因为我对DLL的导入/导出机制还不是特别的了解,另一面是因为我发现:DLL技术在Windows平台下占有重要的地位,几乎所有的Win32 API都是以导出函数的形式存放于不同的DLL文件中,在DLL方面的学习是任何一个想深入研究Windows内部机制的Windows程序员都不可能回避的事实。我在查阅了大量的文章后,对DLL技术有了一定的了解,所以我写了这篇
2015-12-11 15:31:18 678
转载 透过汇编另眼看世界之函数调用
在我的另外一篇文章中 ,我提到了要通过汇编语言来分析虚函数调用的真相。我们现在就开始踏上这次艰辛却非常有意思的旅程。其他闲话少说,直接进入主题。本文中使用的C++代码:#include "stdafx.h"#include iostream>class CBase {public: virtual void callMe();};class CDeri
2015-12-11 15:30:16 406
转载 透过汇编另眼看世界之多继承下的虚函数函数调用
在我的前一篇文章"透过汇编另眼看世界之函数调用"中,我们通过汇编了解了虚函数调用的全部过程。在本文中我将分析多继承的情况下虚函数调用的情况。首先还是写一些简单的代码作为本文分析的例子代码://the abstract base classclass IBase {public: virtual void func1() = 0; virtual void
2015-12-11 15:29:26 482
转载 C++内存管理详解
伟大的Bill Gates 曾经失言: 640K ought to be enough for everybody — Bill Gates 1981 程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。 1、内存分配方式
2015-12-11 15:28:04 317
转载 boost中unordered_map的用法
学习数据结构的时候 偶然得知有个unordered_map,以前没有用过,查了查相关内容,据说效率比map高出很多,而且耗资源也少,研究一下至于具体效率咋样我就不去验证了,网上太多了参考:http://blog.csdn.net/whizchen/article/details/9286557关键是unordered_map与map的区别bo
2015-12-11 09:23:29 9347
转载 C++ Boost 学习资源列表
文档书籍下载Boost DocumentationBoost代码下载 优秀网站导航Boost官方网站Boost中文站Boost Consulting 专题资源报告Linux伊甸园- STL/boost专区CSDN-Boost系列专题 个人博客推荐
2015-12-10 17:40:46 426
转载 C++ Boost库简介
boost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。不过对比STL,boost更加实用。STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作。 boost主要包含一下几个大类:字符串及文本处理、容器、迭代子(Iterator)、算法、函数对象和高阶编程、泛型编程、模板元编程、预处理元编程、并发编程、数学
2015-12-10 17:40:01 434
转载 Boost使用几条简单笔记
头文件就是库使用者最常问的问题就是“我该怎么安装Boost”,这个也是我一开始最关心的问题,Boost这点做的很好,将大部分实现都封装在头文件里,所以对于一些基本的Boost库,其实是不需要安装的,只需要将头文件include到自己的程序里,当然前提是你把Boost的所有用到的头文件都拷贝了一份。Boost是如何做到这点的?这是因为Boost的头文件(*.hpp)包含了模板和内联函数,
2015-12-10 17:39:04 582
转载 cmake Debug模式和Release模式
在cmake中要编译debug模式的话,在CMakeLists.txt中添加如下两行SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb ")SET(CMAKE_CXX_FLAGS_RELEASE "${ENV{CXXFLAGS} -O3 -Wall")然后,在编译的时候,使用如下命令:cmake -DCM
2015-12-08 15:15:16 20828
转载 gsoap使用心得
最近换了个工作环境,现在在大望路这边上班,呵,刚上班接到的任务就是熟悉gsoap!废话少说,现在开始gSoap学习!gSOAP是一个夸平台的,用于开发Web Service服务端和客户端的工具,在Windows、Linux、MAC OS和UNIX下使用C和C++语言编码,集合了SSL功能。下载地址:http://sourceforge.net/projects/gsoap2
2015-12-04 16:32:23 2394
原创 Windows下编译和安装Boost库
因为boost都是使用模板的技术,所以所有代码都是写在一个.hpp头文件中。这样boost中的大部分内容是不需要编译生成相应的链接库,只需要设置下面的包含目录(或者设置一下环境变量),在源文件中包含相应的头文件就可以使用了。少部分库需要生成链接库来使用。下面介绍完整安装boost库的方法:1、首先到boost官网去下载最新的版本的boost库:http://www.boos
2015-12-04 13:56:54 1052
原创 C++匿名对象调用成员函数
看例子(VS2008成功测试):#include "stdafx.h"#include using namespace std;class Test{public: bool Fun() { cout<<"1111111"; return true; }};int _tmain(int argc, _TCHAR* argv[]){ if (Test().
2015-12-02 10:22:19 1029
SSDTHook实现进程保护
2017-06-09
SkinSharp开发库+百款皮肤+皮肤编辑器
2017-05-24
minhook-1.3.2
2017-05-09
python2.7.8 32
2016-05-25
AStar 算法实例
2015-07-18
Visual Assist X补丁
2015-06-18
cmake-3.14.3-win64-x64.zip
2019-09-05
跨平台高性能TCP服务器框架 &boost;
2018-06-25
网狐IOCP压缩版
2018-06-22
用C++实现的壳
2017-09-14
像加载DLL一样加载EXE
2017-09-10
protobuf-2.61最新版
2017-08-28
Gh0stVC6到VS2010迁移所有问题的解决方法
2017-08-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人