黑客编程教程(二)Win API编程简介
第二节 Win API编程简介
下面介绍一下WIN API.
我们需要自己编写一个工具时,必然会用到很多操作windows和控制windows的函数,这些函数就是windows API.
API是Application Progamming Interface的缩写.就是说API是一系列已经定义的在windows内部的函数,是应用程序和系统之间的
桥梁,应用程序通过调用API来请求系统完成一系列的任务.窗口,菜单,文件操作等都是通过API实现的.
WIN32 API就是WINDOWS 32位平台的应用程序接口.现在可视化编程工具提供了大量控件,他们代替了API的功能.这些控件都是构建
在WIN32 API之上的.是封装了的API函数集合.但是对于比较复杂和特殊功能(想我们的黑客编程)来说,就必须用API函数来实现.
WIN API存放在动态链接库(DLL)中,在98系统中,有32位的GDI32.DLL,KERNEL32.DLL,16位的GDI.EXE,KRNL386.EXE.API就存放在这些
动态链接库中. www.2cto.com
木马和后门其实就是使用了文件操作函数,这里做简要介绍:
删除文件:BOOL DeleteFile(LPCTSH lpFileName)
复制文件:BOOL CopyFile()
移动文件:BOOL MoveFile()等等
具体的API可以上网自己去查看,有很多介绍API的书籍.
黑客编程教程(二)Win API编程简介的更多相关文章
- Shell脚本系列教程二: 开始Shell编程
Shell脚本系列教程二: 开始Shell编程 2.1 如何写shell script? (1) 最常用的是使用vi或者mcedit来编写shell脚本, 但是你也可以使用任何你喜欢的编辑器; (2) ...
- Quartz教程二:API,Job和Trigger
原文链接 | 译文链接 | 翻译:nkcoder | 校对:方腾飞 本系列教程由quartz-2.2.x官方文档翻译.整理而来,希望给同样对quartz感兴趣的朋友一些参考和帮助,有任何不当或错误之处 ...
- NODE编程(二)--异步编程技术
在Node世界里流行两种响应逻辑管理方式,回调和事件监听. 回调通常用来定义一次性响应的逻辑.比如对于数据的查询,可以指定一个回调函数来确定如何处理查询结果. 事件监听器,本质上也是一个回调,不同的是 ...
- CC++初学者编程教程(8) VS2013配置编程助手与QT
1. 2. 配置编程助手 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26 ...
- MongoDB入门教程二[MongoDB Shell 简介与使用]
MongoDB Shell 是MongoDB自带的JavaScript Shell,随MongoDB一同发布,它是MonoDB客户端工具,可以在Shell中使用命令与MongoDB实例交互,对数据库的 ...
- 【repost】如何学好编程 (精挑细选编程教程,帮助现在在校学生学好编程,让你门找到编程的方向)四个方法总有一个学好编程的方法适合你
方法(一)编了这么久的程序,一直想找机会总结下其中的心得和方法,但回想我这段编程道路,又很难说清楚,如果按照我走过的所有路来说,显然是不可能的!当我看完了云风的<游戏之旅--编程感悟>和梁 ...
- 【转载】【收藏】Github上免费的编程教程【作者Victor Felder】
原链接:https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books-zh. ...
- DirectX API 编程起步 #01 项目设置
=========================================================== 目录: DirectX API 编程起步 #02 窗口的诞生 DirectX A ...
- Linux Shell 编程 教程 常用命令
概述: Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户 ...
随机推荐
- Hibernate(八)多对多映射
一.创建数据表 --学生证表 create table paper ( pid number primary key, pdesc ) , sid number references student( ...
- ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
Linux rpm方式安装完MySQL之后 mysql>SET PASSWORD = PASSWORD('newpasswd');
- windows installer服务无法启动,无法打开任何msi文件
如果不成功就在"依存关系"中找是否有其他的文件没有启用. 启用"remote procedure call(rpc)" 启用"workstation& ...
- WebApi 数据保护操作未成功。这可能是由于未为当前线程的用户上下文加载用户配置文件导致的。当线程执行模拟时,可能会出现此情况。","ExceptionType":"System.Security.Cryptography.CryptographicException","StackTrace
在调用System.Security.Cryptography.ProtectedData.Protect方法来保护私密信息时,IIS可能会报以下错误:CryptographicException: ...
- 〖Linux〗gvim使用alt+1,2,3..进行标签页切换
gvim ~/.gvimrc,往里边添加: """"""""""""" ...
- 使用JDK自带的JAXB进行类和xml的互转
Classroom.java public class Classroom { private int id; private String name; private int grade; publ ...
- java 内省(Introspector)
开发框架时,经常需要使用java对象的属性来封装程序的数据,每次都使用反射技术完成此类操作过于麻烦,所以sun公司开发了一套API,专门用于操作java对象的属性. 当然你也可以用反射来操作JavaB ...
- 示例:Socket应用之简易聊天室
在实际应用中,Server总是在指定的端口上监听是否有Client请求,一旦监听到Client请求,Server就会启动一个线程来响应该请求,而Server本身在启动完线程之后马上又进入监听状态. 示 ...
- ContactsContract.Contacts之sort_key
// 从Contacts表中找出所有联系人 Cursor cursor = context.getContentResolver().query( ContactsContract.C ...
- TP3.2校验微信公众号||小程序 服务器地址
1.在TP3.2里面,写一个控制器,用来校验微信公众号||小程序的服务器地址 <?php namespace Home\Controller; use Think\Controller; hea ...