飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: ·.χiㄡ欠

[求助] 问下用OD怎么去除跳出的网页

[复制链接]
  • TA的每日心情

    2016-2-14 14:40
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2009-11-12 10:50:07 | 显示全部楼层
    还可以hook
    ShellExcuteA
    源码都给你了
    你自己试着生成吧
    用RadASM
    .586
    .model flat, stdcall  
    option casemap :none  
    include windows.inc
    include user32.inc
    include kernel32.inc
    includelib user32.lib
    includelib kernel32.lib


                     
    .data  
    strLpkDllInitialize           db "LpkDllInitialize",0
    strLpkDrawTextEx              db "LpkDrawTextEx",0
    strLpkEditControl             db "LpkEditControl",0
    strLpkExtTextOut              db "LpkExtTextOut",0
    strLpkGetCharacterPlacement   db "LpkGetCharacterPlacement",0
    strLpkGetTextExtentExPoint    db "LpkGetTextExtentExPoint",0
    strLpkInitialize              db "LpkInitialize",0
    strLpkPSMTextOut              db "LpkPSMTextOut",0
    strLpkTabbedTextOut           db "LpkTabbedTextOut",0
    strLpkUseGDIWidthCache        db "LpkUseGDIWidthCache",0
    strftsWordBreak               db "ftsWordBreak",0

    strBLpkDllInitialize          dd 0
    strBLpkDrawTextEx             dd 0
    strBLpkEditControl            dd 0
    strBLpkExtTextOut             dd 0
    strBLpkGetCharacterPlacement  dd 0
    strBLpkGetTextExtentExPoint   dd 0
    strBLpkInitialize             dd 0
    strBLpkPSMTextOut             dd 0
    strBLpkTabbedTextOut          dd 0
    strBLpkUseGDIWidthCache       dd 0
    strBftsWordBreak              dd 0

    LpkEditControl Proc
    strBLpkEditControl2           dd 40h dup (0)
    LpkEditControl Endp
               

    _dll        db 'shell32.dll',0
    _api       db 'ShellExecuteA',0
    hook        db 0C2h, 018h, 000h, 090h, 090h

    .data?
    LibID       dd ?
    hInstance   dd ?   
    lpbaseaddr  dd ?
    hProcess    dd ?
    hDlg        dd ?
    apiDialogBoxIndirectParamA   dd ?
    apibak      dd ?
    .code        
    Main proc hinstdll:DWORD , reason:DWORD , reserved1:DWORD
            pushad                                   
    .if reason == DLL_PROCESS_ATTACH
           push hinstdll
           pop  hInstance
           call LoadDebug
           call create
    .elseif reason == DLL_PROCESS_DETACH  && reason == DLL_THREAD_ATTACH
         .endif
           popad
           mov  eax,1
           ret     
    Main    endp  



    Process proc
    LOCAL mbi:MEMORY_BASIC_INFORMATION
    LOCAL msize:DWORD        
            invoke GetCurrentProcess
            mov hProcess,eax
            @@:
            invoke GetModuleHandle,offset _dll
            or eax,eax
            je @B
            invoke GetProcAddress,eax,offset _api
            mov apiDialogBoxIndirectParamA,eax
            invoke VirtualQueryEx,hProcess,apiDialogBoxIndirectParamA,addr mbi,SIZEOF MEMORY_BASIC_INFORMATION
            invoke VirtualProtectEx,hProcess, mbi.BaseAddress,5h,PAGE_EXECUTE_READWRITE,addr mbi.Protect
            invoke WriteProcessMemory,hProcess,apiDialogBoxIndirectParamA,offset hook,5h,0
            ret
    Process endp
    create proc
    invoke CreateThread,0,0,offset Process,0,0,0
    create endp

    LoadDebug PROC
    LOCAL LibPath[200h] :BYTE

              pushad         
              invoke GetSystemDirectory , addr LibPath , 100h         
              lea ebx , LibPath
              add eax,ebx
              mov dword ptr [eax], 'KPL\'
              mov dword ptr [eax+4], 'LLD.'
              mov dword ptr [eax+8],0
              invoke LoadLibrary , addr LibPath
    .if eax != 0
              mov LibID , EAX
              invoke GetProcAddress , LibID , addr strLpkDllInitialize
              mov strBLpkDllInitialize,EAX
              invoke GetProcAddress , LibID , addr strLpkDrawTextEx
              mov strBLpkDrawTextEx,EAX
              invoke GetProcAddress , LibID , addr strLpkExtTextOut
              mov strBLpkExtTextOut,EAX
              invoke GetProcAddress , LibID , addr strLpkGetCharacterPlacement
              mov strBLpkGetCharacterPlacement,EAX
              invoke GetProcAddress , LibID , addr strLpkGetTextExtentExPoint
              mov strBLpkGetTextExtentExPoint,EAX
              invoke GetProcAddress , LibID , addr strLpkInitialize
              mov strBLpkInitialize,EAX
              invoke GetProcAddress , LibID , addr strLpkPSMTextOut
              mov strBLpkPSMTextOut,EAX
              invoke GetProcAddress , LibID , addr strLpkTabbedTextOut
              mov strBLpkTabbedTextOut,EAX
              invoke GetProcAddress , LibID , addr strLpkUseGDIWidthCache
              mov strBLpkUseGDIWidthCache,EAX
              invoke GetProcAddress , LibID , addr strftsWordBreak
              mov strBftsWordBreak,EAX
              invoke GetProcAddress , LibID , addr strLpkEditControl
              mov strBLpkEditControl,EAX
              mov esi,eax
              mov edi,offset strBLpkEditControl2
              mov ecx,40h
              rep movsb
    .endif
              popad
              RET

    LoadDebug Endp
    LpkInitialize Proc
              jmp strBLpkInitialize
    LpkInitialize Endp                 
    LpkTabbedTextOut Proc
              jmp strBLpkTabbedTextOut
    LpkTabbedTextOut Endp        
    LpkDllInitialize Proc
              jmp strBLpkDllInitialize
    LpkDllInitialize Endp
    LpkDrawTextEx Proc
              jmp strBLpkDrawTextEx
    LpkDrawTextEx Endp                 
    LpkExtTextOut Proc
              jmp strBLpkExtTextOut
    LpkExtTextOut Endp                  
    LpkGetCharacterPlacement Proc
              jmp strBLpkGetCharacterPlacement
    LpkGetCharacterPlacement Endp                 
    LpkGetTextExtentExPoint Proc
              jmp strBLpkGetTextExtentExPoint
    LpkGetTextExtentExPoint Endp                  
    LpkPSMTextOut Proc
              jmp strBLpkPSMTextOut
    LpkPSMTextOut Endp
    LpkUseGDIWidthCache Proc
              jmp strBLpkUseGDIWidthCache
    LpkUseGDIWidthCache Endp                        
    ftsWordBreak Proc
              jmp strBftsWordBreak
    ftsWordBreak Endp

    END  Main

    [ 本帖最后由 km159 于 2009-11-12 10:56 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-11-16 00:02:02 | 显示全部楼层
    下这个断点ShellExcute,然后上面会有网址的ASCII码出现,全部NOP掉,注意堆栈平衡。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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