关于win32汇编的问题
我想问一下,一个程序在加载运行的时候,需要一个逻辑地址,那这个逻辑地址是那儿来的,还有就是DLL动态链接库是在那儿存放的,还有就是怎么样才能拥有系统的特权,也就是保护模式下的最高级的那个系统权限,呵呵,请各位亲们帮我一下^_^ 你的意思是程序开始需要一个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。 福禄娃娃 发表于 2013-9-25 08:57 static/image/common/back.gif
你的意思是程序开始需要一个OEP吧,程序开始地址可以自己通过org这个汇编伪指令来定义。
动态链接库的使用 ...
哦,谢谢这位朋友,呵呵,以后还要请您这老手多多指教呢!{:1_1:}
页:
[1]