鱼C论坛

 找回密码
 立即注册
查看: 1584|回复: 2

关于win32汇编的问题

[复制链接]
发表于 2013-9-25 00:12:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我想问一下,一个程序在加载运行的时候,需要一个逻辑地址,那这个逻辑地址是那儿来的,还有就是DLL动态链接库是在那儿存放的,还有就是怎么样才能拥有系统的特权,也就是保护模式下的最高级的那个系统权限,呵呵,请各位亲们帮我一下^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-25 08:57:10 | 显示全部楼层
你的意思是程序开始需要一个OEP吧,程序开始地址可以自己通过org这个汇编伪指令来定义。
动态链接库的使用:
1: 使用 include ***.inc 和 includelib ***.lib 直接调用库函数 ;使用方便,但是如果装入DLL过程中有任何错误(dll丢失、初始化失败、找不到导出函数等),应用程序无任何机会完成应变措施
2:动态装入:让应用程序代替Windows完成装入工作。涉及函数:LoadLibrary(装入动态链接库)、FreeLibrary(释放库)、GetProcAddress(获得导出函数地址)
动态链接库一般在masm32的include和lib目录下
可指定库的绝对地址
include C:\MASMPlus\Include\windows.inc
include C:\MASMPlus\Include\kernel32.inc
includelib C:\MASMPlus\Lib\kernel32.lib
include C:\MASMPlus\Include\user32.inc
includelib C:\MASMPlus\Lib\user32.lib

保护模式下要获得最高权限,我的理解是需要通过编写驱动来获取系统的最高权限。因为我们一般编程应用程序都在Ring3,要获得更大的权限需要进入到Ring0才行。
可以通过KmdKit的全称是Kernel Mode Driver development Kit for assembly language programmers,即内核模式驱动程序汇编开发包,在Windows NT为基础的操作系统上用Win32汇编开发KMD。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-26 22:40:42 | 显示全部楼层

哦,谢谢这位朋友,呵呵,以后还要请您这老手多多指教呢!{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-17 09:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表