load.asm

来自「一段给exe程序加壳的汇编代码」· 汇编 代码 · 共 50 行

ASM
50
字号
; #########################################################################
      .386
      .model flat, stdcall
      option casemap :none   ; case sensitive

; #########################################################################
      include \masm32\include\windows.inc
      include \masm32\include\user32.inc
      include \masm32\include\kernel32.inc

      includelib \masm32\lib\user32.lib
      includelib \masm32\lib\kernel32.lib
; #########################################################################

.code

start:

    ;创建对话框,提示正在加载

    

    call Str1
    db  "rjgplng.dll",0
  Str1:
    call LoadLibraryA  ; edx = LoadLibrary("rjgplng.dll")
    mov  edx,eax
    cmp  eax,0
    je   toExit

    call Str2
    db "?SetGetGpHandle@@YA_NPAX@Z",0
  Str2:
    push edx
    call GetProcAddress ; ebx = GetProcAddress(edx, "fun_name")
    mov  ebx,eax  
    cmp  ebx,0
    je   FreeL   ;如果为NULL,则释放返回0

     push 0
     call ebx  ; 调用函数

 FreeL: 
     push edx
     call FreeLibrary
 toExit:
 ;ret
end start

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?