第二讲:我的第一个驱动

原文:http://blog.csdn.net/caperingrabbit/article/details/5285288 配置好了开发环境之后,下面就要通过具体的程序来了解驱动的开发了。下面我们以一个WDM驱动的框架来实现Windows驱动程序的HelloWorld。 作为一个驱动程序,首先应该写的是它的入口函数,这点跟MFC的WinMain或者C++中的Main函数一样,驱动的入口函数使用DriverEntry。在入口函数中主要实现的功能是一些分发例程的注册以及其他的需要初始化的事务。
分类: 其他 发布时间: 11-12 22:55 阅读次数: 0

使用IDAPYTHON跟踪程序执行路径-未加壳

IDA Pro是一款静态反汇编的利器,具有良好的交互性、可编程性、可扩展性及对多处理器的支持。 对于IDA Pro的可扩展性表现在两个方面,一是采用内置的脚本语言IDC写脚本;二是采用Hex-rays提供的SDK写插件Plug-in。简单的任务交由脚本完成,复杂的任务则需要定制满足需求的插件。 IDA本身附带了一个内建的调试器,可采用该调试器来调试外挂程序,然后使用IDAPython脚本来获取程序执行路径。 技术说明 使用IDAPyhon脚本来获取程序执行路径的基本方法如下: ① 先用IDA反
分类: 其他 发布时间: 11-12 22:55 阅读次数: 0

利用ACL保护游戏

使用一种比较偏僻的方法来实现应用层反调试。这个方法是windows的 访问控制列表(ACL)。应用这个方法可以阻止其他进程打开被保护进程。 调试器在附加一个进程时需要OpenProcess,如果在程序中加入访问控制列表,拒绝某些程序访问,就可以阻止其他进程包括调试器打开游戏进程。 使用访问控制列表保护的基本方法如下: 1. 初始化一个Secrity Identifier安全身份牌,用来后续添加访问列表项。 2. 获取当前进程的安全身份牌 3. 初始化一个访问控制列表。 4. 添加访问列表项,包
分类: 其他 发布时间: 11-12 22:54 阅读次数: 0

Android API Level与sdk版本对照表

API等级1: Android 1.0 API等级2: Android 1.1 Petit Four 花式小蛋糕 API等级3: Android 1.5 Cupcake 纸杯蛋糕 API等级4: Android 1.6 Donut 甜甜圈 API等级5: Android 2.0 Éclair 松饼 API等级6: Android 2.0.1 Éclair 松饼 API等级7: Android 2.1 Éclair 松饼 API等级8: Android 2.2 - 2.2.3 Froyo 冻酸奶
分类: 其他 发布时间: 11-12 22:54 阅读次数: 0

Android版xx助手之天天酷跑外挂详细分析

转载于:红黑联盟 Android版xx助手之天天酷跑外挂详细分析 图/文 莫灰灰 背景 近些年来,移动互联网的大肆崛起,潜移默化中影响着人们的生活和工作习惯。当腾讯的微信平台接入手机游戏之后,移动端的游戏也开始火了起来,这更是改变了人们长久以来的游戏娱乐习惯。茶余饭后,小伙伴们掏出“家伙”打个飞机已是习以为常的事情了。加之移动客户端游戏开发周期短,投入少等特点,很多初创公司也纷纷投入到这个领域中来,并且很多游戏都取得了不错的成绩。就在前不久,全球游戏巨头暴雪的新游戏《炉石传说》也推出了iPad
分类: 其他 发布时间: 11-12 22:54 阅读次数: 0

文件包含漏洞详解

原文作者: m4r10 http://hi.baidu.com/m4r10 转载请注明版权 &&&远程文件包含漏洞&&& 一、 什么才是"远程文件包含漏洞"?回答是:服务器通过php的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意文件,而我们可以构造这个恶意文件来达到邪恶的目的。 涉及到的危险函数:include(),require()和include_once(),require_once() Include:包含并运行指定文件,当包含外部文件发生错误
分类: 其他 发布时间: 11-12 22:54 阅读次数: 0

centos5 下 lida 调试环境搭建

1.下载lida, site:http://lida.sourceforge.net/(需翻墙) 2. 解压lida-03.00.00.tgz 3. make 4. 运行lida 成功了!! 遇到的问题: 1. 报Tk没安装 [root@localhost lida-03.00.00]# ./lida Can't locate Tk.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi
分类: 其他 发布时间: 11-12 22:53 阅读次数: 0

utuntu VPN 环境搭建

 vi /etc/apt/sources.list # # deb cdrom:[Debian GNU/Linux 2016.1 _Kali-rolling_ - Official Snapshot i386 LIVE/INSTALL Binary 20160120-19:42 ]/ kali-rolling contrib main non-free #deb cdrom:[Debian GNU/Linux 2016.1 _Kali-rolling_ - Official Snapsho
分类: 其他 发布时间: 11-12 22:53 阅读次数: 0

JNI(5)The Invocation API

调用API允许软件提供商加载Java VM 到任意的本地应用中。供应商可以提供支持Java的应用程序而无需链接Java VM的代码。 概述 下面代码展示了通过调用API如何使用函数。这个例子中C++代码创建了一个Java VM 和调用一个静态方法,方法为Main.test.为了代码简洁,省略了错误检查。 #include <jni.h> /* where everything is defined */     ...     JavaVM *jvm; /* d
分类: 其他 发布时间: 11-12 22:52 阅读次数: 0

oracle无客户端连接数据库(C#)

前提: 1. 不安装oracle的客户端 2. 不需要配置ora文件 3. C# 实现 既然是C#实现,当然就要去找oracle的连接库了,主要有三种方式: 1. 微软提供的System.Data.OracleClient已经过时了,不推荐使用了 2. Oracle 的Oracle.DataAccess 3. Oracle 的Oracle.ManagedDataAccess 如果运行环境是.net 3.5的话,就只能选择Oracle.DataAccess了 开发: 先去下载ODAC, orac
分类: 其他 发布时间: 11-12 22:52 阅读次数: 0

python 命令行传参

1. 简单的写法: 通过导入模块sys import sys if __name__ == '__main__': argc = len(sys.argv)     arg0 = sys.argv[0] #... 2. 稍微复杂一点的参数可以使用getopt模块: import sys import getopt if __name__ == '__main__': opt,args = getopt.getopt(sys.argv[1:], "h:p:
分类: 其他 发布时间: 11-12 22:52 阅读次数: 0

VC 写shellcode 时函数地址去掉跳转表

在默认DEBUG/RELEASE模式下函数地址不是最终的函数地址,而是E9 + offset 的形式,这使得直接使用函数地址作为shellcode 起始地址时会出现问题。该怎么修改编译选项呢? 在项目属性中,选择 “配置属性” ==> "C/C++" ==> "优化" ==> "全程序优化" ,选择“是(/GL)” 这样就去掉了函数跳转表。但是这个开关会和另一个开关有冲突: 在“常规” 属性里,将调试信息格式选择为“程序数据库(/Zi)”就可以了。
分类: 其他 发布时间: 11-12 22:51 阅读次数: 0

本博客说明

本博客为作者的兴趣,记录关于逆向工程和加密解密的好的文章、心得等。有原创的,转载的,还有翻译的。请尊重作者的劳动成果,转载请注明出处,谢谢!
分类: 其他 发布时间: 11-12 22:51 阅读次数: 0

spring boot中security安全退出如何跳转指定页面,iframe与安全器兼容性问题

分享一下这这次项目中自己学到的一些东西(还没学完,技术很菜,写的有问题希望大家指出来,希望大家可以一起学习,一起努力) 在WebSecurityConfig中配置: http.logout() //安全退出配置 .logoutSuccessUrl("/logout2") //指定安全退出跳转页面 .invalidateHttpSession(false); //安全退出不删除会话, http.formLogin() //登录配置 .loginPage("/login").permitAll()
分类: 其他 发布时间: 11-12 22:50 阅读次数: 0

java如何实现QQ邮箱验证

这里后台用的是spring boot。 实现QQ邮箱验证首页添加依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> 之后在application.properties配置文件中添加配置: #设置字符集 spring.mail.default-encoding=UTF-8 spring.mail.ho
分类: 其他 发布时间: 11-12 22:50 阅读次数: 0

LNMP部署实例及HTTPS服务实现

LNMP部署实例及HTTPS服务实现LNMP是什么:Linux+Nginx+Mysql+(php-fpm,php-mysql)即在Linux操作系统上Nginx+Mysql+Php的网站服务架构。CentOS6中为MySQL,CentOS7中为Mariadb作用是什么:提供web服务,并可以解析PHP类的应用程序;下面我就利用LNMP架构部署wordpress博客系统和phpMyAdmin:前提:
分类: 企业开发 发布时间: 11-12 22:50 阅读次数: 0

java如何在原有时间上加几个月

在原有的时间上添加几个月: SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式 Date date = new Date(); System.out.println(df.format(date)); // 当前系统时间 Date newDate = stepMonth(date, 1); System.out.println("当前时间前13个月的日期:" + df.format(newDate
分类: 其他 发布时间: 11-12 22:50 阅读次数: 0

java中时间如何比较大小

java中时间如何比较大小: SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); //设置日期格式 Date begin = fmt.parse("20170730"); //开始时间 Date end = fmt.parse("20170830"); //结束时间 try { Date bt=df.parse(begin ); Date et=df.parse(end ); if (bt.before(et)){ bt时间小于于
分类: 其他 发布时间: 11-12 22:50 阅读次数: 0

centos yum 配置本地源

1.挂载光盘 2.把/etc/yum.repos.d文件夹内的内容全部删除掉 删除命令 rm -rf * 3.用vim 新建一个cdrom.repo; 内容如下 这里的name 可以任意取。 4.执行yum list ;看yum 安装好没。 这样就表示可以用了 5.安装一个office试一试 这样就行了。 所有的历史命令 第一次写这个没写清楚,还请见谅。
分类: 其他 发布时间: 11-12 22:49 阅读次数: 0

OpenCV-python 漫水操作

版权声明:原创内容,转载请注明来源https://blog.csdn.net/e01114255/article/details/76186656 原创内容,转载请注明来源https://blog.csdn.net/qq_37354021/article/details/80854577 水漫填充算法实现 help(cv2.floodFill) floodFill(image, mask, seedPoint, newVal[, loDiff[, upDiff[, flags]]]) -> r
分类: 其他 发布时间: 11-12 22:48 阅读次数: 0