爬虫只能爬取网页,爬软件可以吗?
1、Python(KK 英语发音:/'pa?θɑn/, DJ 英语发音:/?paiθ?n/)是一种面向对象、直译式计算机程序设计语言,由Guido van Rossum于1989年底发明。
第一个公开发行版发行于1991年。
Python语法简捷而清晰,具有丰富和强大的类库。
2、它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。
常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写。
比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C++重写。
3、从UI获取文本信息是最为简单的方法,于是应该优先逆向UI代码部分。
逆向微信apk 首先解包微信apk,用dex2jar反编译classes.dex,然后用JD-GUI查看jar源码。
当然,能看到的源码都是经过高度混淆的。
但是,继承自安卓重要组件(如Activity、Service等)的类名无法被混淆,于是还是能从中看到点东西。
首先定位到微信APP packagecom.tencent.mm。
在 com.tencent.mm中,我们找到一个 ui包,有点意思。
展开 com.tencent.mm.ui,发现多个未被混淆的类,其中发现 MMBaseActivity直接继承自 Activity, MMFragmentActivity继承自 ActionBarActivity, MMActivity 继承自MMFragmentActivity,并且 MMActivity是微信中大多数Activity的父类。
4、现在需要找出朋友圈的Activity,为此要用Xposed hook MMActivity。
创建一个Xposed模块,参考[TUTORIAL]Xposed module devlopment,创建一个Xposed项目。
简单Xposed模块的基本思想是:hook某个APP中的某个方法,从而达到读写数据的目的。
5、在findAndHookMethod方法中,第一个参数为完整类名,第三个参数为需要hook的方法名,其后若干个参数分别对应该方法的各形参类型。
在这里,Activity.setContentView(View view)方法只有一个类型为Vie的形参,因此传入一个View.class。
6、结果是运行时可以从Log中读取到每个Activity中的所有的TextView的显示内容。
但是,因为View中的数据并不一定在setContentView()时就加载完毕,因此小编的实验结果是,log中啥都没有。
要保证APP代码的安全需要做什么测试?
APP代码测试一个大工程,以第三方APP加密平台爱加密来说,代码测试包括三部。
反编译测试,将二进制程序转换成人们易读的一种描述语言的形式,是逆向工程中的常见手段。
反编译的结果是易读的代码,这样就暴露了客户端的所有逻辑,比如与服务端的通讯方式,加解密算法、密钥、转账业务流程、软键盘技术实现等等。
重打包测试,对客户端程序添加或修改代码,修改客户端资源图片,配置信息,图标等,再生成新的客户端程序,实现应用钓鱼。
对金融客户端,可能添加病毒代码、 广告SDK,推广自己的产品;添加恶意代码窃取登录账号密码、支付密码、拦截验证码短信,修改转账目标账号、金额等等。
动态调试测试,指攻击者利用调试器跟踪目标程序运行,查看、修改内存代码和数据,分析程序逻辑,进行攻击和破解等行为。
对于金融行业客户端,该风险可修改客户端业务操作时的数据,比如账号、金额等。
代码注入测试,通过OS特定技术,将代码写入到目标进程并让其执行的技术。
攻击者可以将一段恶意代码写到目标进程,这段代码可以加载其它可执行程序,进而实施hook,监控程序运行行为、获取敏感信息等。
对于金融客户端,可通过代码注入技术,将恶意代码注入到客户端中,窃取输入的登录账号、密码、支付密码, 修改转账的目标账号、金额,窃取通讯数据等。
制作外挂需要多高的编程技术
编写外挂不仅仅需要的编程技术,当然掌握适当的编程技术是做外挂的前提,没有编程技术作为基础,说其他的都是没有意义的!接下来和大家说下编写外挂需要哪些常用的编程技术。
1.会写dll,并熟悉各种dll注入游戏方式。
2.熟悉掌握读写游戏内存,包括字节,2字节,4字节,浮点球,字符串。
3.注入汇编call的写法,比如实现游戏的自动打怪,寻路等4.游戏封包的发送与拦截,hook api获取封包发送的套接字。
当然外挂的制作编程技术不仅仅如此,例如应用层钩子的恢复,驱动钩子的恢复,线程的挂起与停止等...都是需要编程写出来的。
所以说制作游戏外挂很难!对编程技术要求不高。
对逆向、过保护、反检测注入方式等等要求高。
还有,写外挂根本不需要源码,过了保护,载入OD,要啥数据有啥数据。
...
大数据培训到底是培训什么
可以参考一下以道教育的课程体系第一阶段 WEB 开发基础HTML基础1、Html基本介绍2、HTML语法规范3、基本标签介绍4、HTML编辑器/文本文档/WebStrom/elipse5、HTML元素和属性6、基本的HTML元素6.1 标题6.2 段落6.3 样式和style属性6.3 链接 a6.4 图像 img6.5 表格 table6.6 列表 ul/ol/dl7、 HTML注释8、表单介绍9、Table标签10、DIV布局介绍11、HTML列表详解HTML布局和Bootstrap1、 HTML块元素(block)和行内元素(inline)2、使用div实现网页布局3、响应式WEB设计(Responsive Web Design)4、使用bootstrap实现响应式布局HTML表单元素1、HTML表单 form2、HTML表单元素3、 HTML input的类型 type4、 Html input的属性CSS基础1、CSS简介及基本语法2、在HTML文档中使用CSS3、CSS样式4、CSS选择器5、盒子模型6、布局及定位CSS高级/CSS31、尺寸和对齐2、分类(clear/cursor/display/float/position/visibility)3、导航栏4、图片库5、图片透明6、媒介类型 @media7、CSS38、CSS3动画效果JavaScript基础1、JavaScript简介2、基本语法规则3、在HTML文档中使用JS4、JS变量5、JS数据类型6、JS函数7、JS运算符8、流程控制9、JS错误和调试JavaScript对象和作用域1、数字 Number2、字符串String3、日期 Date4、数组5、数学 Math6、DOM对象和事件7、BOM对象8、Window对象9、作用域和作用域链10、JSONJavascript库1、Jquery2、Prototype3、Ext JsJquery1、Jquery基本语法2、Jquery选择器3、Jquery事件4、Jquery选择器5、Jquery效果和动画6、使用Jquery操作HTML和DOM7、Jquery遍历8、Jquery封装函数9、Jquery案例表单验证和Jquery Validate1、用Js对HTML表单进行验证2、Jquery Validata基本用法3、默认校验规则和提示信息4、debug和ignore5、更改错误信息显示位置和样式6、全部校验通过后的执行函数7、修改验证触发方式8、异步验证9、自定义校验方法10、radio 和 checkbox、select 的验证Java基础1、关于Java2、Java运行机制3、第一个Java程序,注释4、Javac,Java,Javadoc等命令5、标识符与关键字6、变量的声明,初始化与应用7、变量的作用域8、变量重名9、基本数据类型10、类型转换与类型提升11、各种数据类型使用细节12、转义序列13、各种运算符的使用流程控制1、选择控制语句if-else2、选择控制语句switch-case3、循环控制语句while4、循环控制语句do-while5、循环控制语句for与增强型for6、break,continue,return7、循环标签8、数组的声明与初始化9、数组内存空间分配10、栈与堆内存11、二维(多维)数组12、Arrays类的相关方法13、main方法命令行参数面向对象1、面向对象的基本思想2、类与对象3、成员变量与默认值4、方法的声明,调用5、参数传递和内存图6、方法重载的概念7、调用原则与重载的优势8、构造器声明与默认构造器9、构造器重载10、this关键字的使用11、this调用构造器原则12、实例变量初始化方式13、可变参数方法访问权限控制1、包 package和库2、访问权限修饰符private/protected/public/包访问权限3、类的访问权限4、抽象类和抽象方法5、接口和实现6、解耦7、Java的多重继承8、通过继承来扩展接口错误和异常处理1、概念:错误和异常2、基本异常3、捕获异常 catch4、创建自定义异常5、捕获所有异常6、Java标准异常7、使用finally进行清理8、异常的限制9、构造器10、异常匹配11、异常使用指南数据库基础(MySQL)数据库基础(MySQL)JDBC1、Jdbc基本概念2、使用Jdbc连接数据库3、使用Jdbc进行crud操作4、使用Jdbc进行多表操作5、Jdbc驱动类型6、Jdbc异常和批量处理7、Jdbc储存过程Servlet和JSP1、Servlet简介2、Request对象3、Response对象4、转发和重定向5、使用Servlet完成Crud6、Session和Coolie简介7、ServletContext和Jsp8、El和Jstl的使用Ajax1、什么是Ajax2、XMLHttpRequest对象(XHR)3、XHR请求4、XHR响应5、readystate/onreadystatechange6、Jquery Ajax7、JSON8、案例:对用户名是否可用进行服务器端校验综合案例1、项目开发一般流程介绍2、模块化和分层3、DButils4、QueryRunner5、ResultSetHandle6、案例:用户登录/注册,从前端到后端第二阶段 Java SE访问权限和继承1、包的声明与使用2、import与import static3、访问权限修饰符4、类的封装性5、static(静态成员变量)6、final(修饰变量,方法)7、静态成员变量初始化方式8、类的继承与成员继承9、super的使用10、调用父类构造器11、方法的重写与变量隐藏12、继承实现多态和类型转换13、instanceof抽象类与接口1、抽象类2、抽象方法3、继承抽象类4、抽象类与多态5、接口的成员6、静态方法与默认方法7、静态成员类8、实例成员类9、局部类10、匿名类11、eclipse的使用与调试12、内部类对外围类的访问关系13、内部类的命名Lambda表达式与常用类1、函数式接口2、Lambda表达式概念3、Lambda表达式应用场合4、使用案例5、方法引用6、枚举类型(编译器的处理)7、包装类型(自动拆箱与封箱)8、String方法9、常量池机制10、Stri...
大数据需要掌握哪些技能
可以参考以下的课程体系第一阶段 WEB 开发基础HTML基础1、Html基本介绍2、HTML语法规范3、基本标签介绍4、HTML编辑器/文本文档/WebStrom/elipse5、HTML元素和属性6、基本的HTML元素6.1 标题6.2 段落6.3 样式和style属性6.3 链接 a6.4 图像 img6.5 表格 table6.6 列表 ul/ol/dl7、 HTML注释8、表单介绍9、Table标签10、DIV布局介绍11、HTML列表详解HTML布局和Bootstrap1、 HTML块元素(block)和行内元素(inline)2、使用div实现网页布局3、响应式WEB设计(Responsive Web Design)4、使用bootstrap实现响应式布局HTML表单元素1、HTML表单 form2、HTML表单元素3、 HTML input的类型 type4、 Html input的属性CSS基础1、CSS简介及基本语法2、在HTML文档中使用CSS3、CSS样式4、CSS选择器5、盒子模型6、布局及定位CSS高级/CSS31、尺寸和对齐2、分类(clear/cursor/display/float/position/visibility)3、导航栏4、图片库5、图片透明6、媒介类型 @media7、CSS38、CSS3动画效果JavaScript基础1、JavaScript简介2、基本语法规则3、在HTML文档中使用JS4、JS变量5、JS数据类型6、JS函数7、JS运算符8、流程控制9、JS错误和调试JavaScript对象和作用域1、数字 Number2、字符串String3、日期 Date4、数组5、数学 Math6、DOM对象和事件7、BOM对象8、Window对象9、作用域和作用域链10、JSONJavascript库1、Jquery2、Prototype3、Ext JsJquery1、Jquery基本语法2、Jquery选择器3、Jquery事件4、Jquery选择器5、Jquery效果和动画6、使用Jquery操作HTML和DOM7、Jquery遍历8、Jquery封装函数9、Jquery案例表单验证和Jquery Validate1、用Js对HTML表单进行验证2、Jquery Validata基本用法3、默认校验规则和提示信息4、debug和ignore5、更改错误信息显示位置和样式6、全部校验通过后的执行函数7、修改验证触发方式8、异步验证9、自定义校验方法10、radio 和 checkbox、select 的验证Java基础1、关于Java2、Java运行机制3、第一个Java程序,注释4、Javac,Java,Javadoc等命令5、标识符与关键字6、变量的声明,初始化与应用7、变量的作用域8、变量重名9、基本数据类型10、类型转换与类型提升11、各种数据类型使用细节12、转义序列13、各种运算符的使用流程控制1、选择控制语句if-else2、选择控制语句switch-case3、循环控制语句while4、循环控制语句do-while5、循环控制语句for与增强型for6、break,continue,return7、循环标签8、数组的声明与初始化9、数组内存空间分配10、栈与堆内存11、二维(多维)数组12、Arrays类的相关方法13、main方法命令行参数面向对象1、面向对象的基本思想2、类与对象3、成员变量与默认值4、方法的声明,调用5、参数传递和内存图6、方法重载的概念7、调用原则与重载的优势8、构造器声明与默认构造器9、构造器重载10、this关键字的使用11、this调用构造器原则12、实例变量初始化方式13、可变参数方法访问权限控制1、包 package和库2、访问权限修饰符private/protected/public/包访问权限3、类的访问权限4、抽象类和抽象方法5、接口和实现6、解耦7、Java的多重继承8、通过继承来扩展接口错误和异常处理1、概念:错误和异常2、基本异常3、捕获异常 catch4、创建自定义异常5、捕获所有异常6、Java标准异常7、使用finally进行清理8、异常的限制9、构造器10、异常匹配11、异常使用指南数据库基础(MySQL)数据库基础(MySQL)JDBC1、Jdbc基本概念2、使用Jdbc连接数据库3、使用Jdbc进行crud操作4、使用Jdbc进行多表操作5、Jdbc驱动类型6、Jdbc异常和批量处理7、Jdbc储存过程Servlet和JSP1、Servlet简介2、Request对象3、Response对象4、转发和重定向5、使用Servlet完成Crud6、Session和Coolie简介7、ServletContext和Jsp8、El和Jstl的使用Ajax1、什么是Ajax2、XMLHttpRequest对象(XHR)3、XHR请求4、XHR响应5、readystate/onreadystatechange6、Jquery Ajax7、JSON8、案例:对用户名是否可用进行服务器端校验综合案例1、项目开发一般流程介绍2、模块化和分层3、DButils4、QueryRunner5、ResultSetHandle6、案例:用户登录/注册,从前端到后端第二阶段 Java SE访问权限和继承1、包的声明与使用2、import与import static3、访问权限修饰符4、类的封装性5、static(静态成员变量)6、final(修饰变量,方法)7、静态成员变量初始化方式8、类的继承与成员继承9、super的使用10、调用父类构造器11、方法的重写与变量隐藏12、继承实现多态和类型转换13、instanceof抽象类与接口1、抽象类2、抽象方法3、继承抽象类4、抽象类与多态5、接口的成员6、静态方法与默认方法7、静态成员类8、实例成员类9、局部类10、匿名类11、eclipse的使用与调试12、内部类对外围类的访问关系13、内部类的命名Lambda表达式与常用类1、函数式接口2、Lambda表达式概念3、Lambda表达式应用场合4、使用案例5、方法引用6、枚举类型(编译器的处理)7、包装类型(自动拆箱与封箱)8、String方法9、常量池机制10、String讲解11...
以道大数据课程体系都讲什么
大数据技术在如今应用非常广泛,许多想入行学习大数据培训的童鞋不知从何学起,从哪儿开始学首先要根据你的基本情况而定,如果你是零基础的也不需要担心,先从基础开始学起就好了,接下来学习基础java开始、数据结构、关系型数据库、linux系统操作,夯实基础之后,再进入大数据的学习,例如:hadoop离线分析、Storm实时计算、spark内存计算的学习,以道教育大数据课程体系可以如下:第一阶段 WEB 开发基础HTML基础1、Html基本介绍2、HTML语法规范3、基本标签介绍4、HTML编辑器/文本文档/WebStrom/elipse5、HTML元素和属性6、基本的HTML元素6.1 标题6.2 段落6.3 样式和style属性6.3 链接 a6.4 图像 img6.5 表格 table6.6 列表 ul/ol/dl7、 HTML注释8、表单介绍9、Table标签10、DIV布局介绍11、HTML列表详解HTML布局和Bootstrap1、 HTML块元素(block)和行内元素(inline)2、使用div实现网页布局3、响应式WEB设计(Responsive Web Design)4、使用bootstrap实现响应式布局HTML表单元素1、HTML表单 form2、HTML表单元素3、 HTML input的类型 type4、 Html input的属性CSS基础1、CSS简介及基本语法2、在HTML文档中使用CSS3、CSS样式4、CSS选择器5、盒子模型6、布局及定位CSS高级/CSS31、尺寸和对齐2、分类(clear/cursor/display/float/position/visibility)3、导航栏4、图片库5、图片透明6、媒介类型 @media7、CSS38、CSS3动画效果JavaScript基础1、JavaScript简介2、基本语法规则3、在HTML文档中使用JS4、JS变量5、JS数据类型6、JS函数7、JS运算符8、流程控制9、JS错误和调试JavaScript对象和作用域1、数字 Number2、字符串String3、日期 Date4、数组5、数学 Math6、DOM对象和事件7、BOM对象8、Window对象9、作用域和作用域链10、JSONJavascript库1、Jquery2、Prototype3、Ext JsJquery1、Jquery基本语法2、Jquery选择器3、Jquery事件4、Jquery选择器5、Jquery效果和动画6、使用Jquery操作HTML和DOM7、Jquery遍历8、Jquery封装函数9、Jquery案例表单验证和Jquery Validate1、用Js对HTML表单进行验证2、Jquery Validata基本用法3、默认校验规则和提示信息4、debug和ignore5、更改错误信息显示位置和样式6、全部校验通过后的执行函数7、修改验证触发方式8、异步验证9、自定义校验方法10、radio 和 checkbox、select 的验证Java基础1、关于Java2、Java运行机制3、第一个Java程序,注释4、Javac,Java,Javadoc等命令5、标识符与关键字6、变量的声明,初始化与应用7、变量的作用域8、变量重名9、基本数据类型10、类型转换与类型提升11、各种数据类型使用细节12、转义序列13、各种运算符的使用流程控制1、选择控制语句if-else2、选择控制语句switch-case3、循环控制语句while4、循环控制语句do-while5、循环控制语句for与增强型for6、break,continue,return7、循环标签8、数组的声明与初始化9、数组内存空间分配10、栈与堆内存11、二维(多维)数组12、Arrays类的相关方法13、main方法命令行参数面向对象1、面向对象的基本思想2、类与对象3、成员变量与默认值4、方法的声明,调用5、参数传递和内存图6、方法重载的概念7、调用原则与重载的优势8、构造器声明与默认构造器9、构造器重载10、this关键字的使用11、this调用构造器原则12、实例变量初始化方式13、可变参数方法访问权限控制1、包 package和库2、访问权限修饰符private/protected/public/包访问权限3、类的访问权限4、抽象类和抽象方法5、接口和实现6、解耦7、Java的多重继承8、通过继承来扩展接口错误和异常处理1、概念:错误和异常2、基本异常3、捕获异常 catch4、创建自定义异常5、捕获所有异常6、Java标准异常7、使用finally进行清理8、异常的限制9、构造器10、异常匹配11、异常使用指南数据库基础(MySQL)数据库基础(MySQL)JDBC1、Jdbc基本概念2、使用Jdbc连接数据库3、使用Jdbc进行crud操作4、使用Jdbc进行多表操作5、Jdbc驱动类型6、Jdbc异常和批量处理7、Jdbc储存过程Servlet和JSP1、Servlet简介2、Request对象3、Response对象4、转发和重定向5、使用Servlet完成Crud6、Session和Coolie简介7、ServletContext和Jsp8、El和Jstl的使用Ajax1、什么是Ajax2、XMLHttpRequest对象(XHR)3、XHR请求4、XHR响应5、readystate/onreadystatechange6、Jquery Ajax7、JSON8、案例:对用户名是否可用进行服务器端校验综合案例1、项目开发一般流程介绍2、模块化和分层3、DButils4、QueryRunner5、ResultSetHandle6、案例:用户登录/注册,从前端到后端第二阶段 Java SE访问权限和继承1、包的声明与使用2、import与import static3、访问权限修饰符4、类的封装性5、static(静态成员变量)6、final(修饰变量,方法)7、静态成员变量初始化方式8、类的继承与成员继承9、super的使用10、调用父类构造器11、方法的重写与变量隐藏12、继承实现多态和类型转换13、instanceof抽象类与接口1、抽象类2、抽象方法3、继承抽象类4、抽象类与多态5、接口的成员...
常用的逆向功能软件有哪些?
主要功能包括:自动将点云数据转换为多边形(Polygons)快速减少多边形数目(Decimate)把多边形转换为NURBS曲面曲面分析(公差分析等)输出与CAD/CAM/CAE匹配的文件格式(IGS、STL、DXF等)1.从CAD数模得到的产品模型2.将CAD模型读入GeomagicStudio3.CAD设计模型与从实际模型扫描所得的点云数据(不同坐标系)4.扫描数据与CAD模型的自动对合5.扫描数据与CAD模型的自动对齐6.误差以彩色图形直观显示7.用户可标出任意点误差8.Qualify的结果可以输出为HTML格式逆向工程CopyCADCopyCAD是由英国DELCAM公司出品的功能强大的逆向工程系统软件,它能允许从已存在的零件或实体模型中产生三维CAD模型
病毒问题Backdoor/Huigezi.Hkp.Hook和Ba
对于程序员来讲,API拦截技术是一种重要的基础技术。
这项技能为编写某些工具软件提供了可能,并可以大大提高我们对第三方应用程序的控制能力。
不过,目前API拦截的技术资料往往局限于原理方面的论述,对于如何具体地编译一个API拦截程序却守口如瓶。
毕竟,对于程序员来讲,当初学习这项技能花费了不少心血,如果让他们无偿地奉献出来,恐怕不太现实;另外的一个因素就是竞争,多一个人学会这项技能,就多一份竞争。
我在掌握这项技能的时候,就走了不少弯路,如果当初有一份详细的资料,这些不必要的弯路是完全可以避免。
而这正是我编写这份技术资料的目的。
本程序是一个示例程序,用以演示如何拦截API调用。
开始拦截CreateProcess之后,当用户通过资源管理器运行程序时,就会弹出一个对话框提示用户运行了什么程序。
停止拦截之后,用户运行程序时则不会弹出对话框。
随本程序附带的教程是未注册版本,如果您需要详细的资料,请通过网上商城进行注册。
注册费用为320元人民币。
最终价格请以网上商城的价格为准。
这就引起了我的好奇,难道这个软件用了什么牛x的新技术?居然这么值钱!那得看看,于是就把该软件下载下来研究了研究。
谁知道,他所用的技术不但一点创新都没有,还有着很大的局限性。
于是就有了这篇文章,还希望高手不要见笑。
这个程序的原版大家自己找,名字就叫做API拦截教程。
启动该程序后,按下拦截createprocess的按钮后,运行任何程序都会弹出运行程序的路径。
稍微了解apihook的都了解,通常ring3下hookapi的法有三种,一是修改程序的iat表,使api调用跳向自己的函数而不是转向api入口。
二是修改api入口的机器码。
三是用创建远线程CreateRemoteThread的法来完成。
那么这个教程究竟用了什么先进手法呢?先运行一次,按下按钮后,果然explorer弹出了程序的路径。
此时,你如果使用icesword类的可以查看程序模块的程序查看explorer的模块,你就会发现explorer里面多了个InterceptDll.dll的模块,当我们卸载了这个dll后,这个拦截的效果就没有了。
看来这个程序的核心不是那个启动的程序,而是这个dll。
现在让我们看看这个InterceptDll.dll到底做了什么。
先使用VC++的工具DUMPBIN将DLL中的导出函数表导出到一定义(.DEF)文件DUMPBINInterceptDll.dll/EXPROTS/OUT:InterceptDll.defordinalhintRVAname1000001230InstallHook2100001270UninstallHook只有两个导出函数,看名字就知道,一个是安装钩子,一个卸载钩子。
我们调用看看,结果连参数都不用,只要调用InstallHook就可以把InterceptDll.dll插入explorer,用UninstallHook就可以卸载钩子。
看来我们不用分析他的exe文件了,因为有用的东西就在这个dll里。
那么如何分析这个dll这么工作的呢?直接用ida看静态代码,可以看见dll里有vivirtualalloc,setwindowshookexa等钩子函数。
但是,里面乜嘢CreateRemoteThread这个函数,那么基本可以排除了第三种方法了。
修改iat或者字节数的可能性比较大一些。
那么具体究竟是用了什么手段,又是怎么实现的呢?光静态看源代码看出来,我可没那种本事。
如果说要实时调试explorer又非常的麻烦,那么怎么呢?其实法很简单啦,只要自己修改一个exe文件名让他跟explorer同名就可以了。
这家伙可不管你是真李逵还是假李鬼,统统都插!我先写了个很简单的exe程序,只有一个按钮直接掉用createprocess启动notepad的小程序,然后改名为explorer。
运行后让程序拦截,果然再用icesword看模块,那个InterceptDll.dll偷偷的钻进了我写的这个程序。
好,现在动手钻进InterceptDll.dll的内部,看看他到底干了什么!我用的是olldbg,其实windbg也可以,我用od习惯了。
先附加到我自己写的这个小explorer程序,然后在createprocess下断点,按下启动notepad的按钮,断下以后,一步一步跟踪。
转载仅供参考,版权属于原作者。
祝你愉快,满意请采纳哦