能力值:
( LV2,RANK:10 )
|
-
-
2 楼
LoadLibrary 导入表中有吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
发上代码来来分析
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
导入表里没有?
我是在新节代码里LoadLibrary的啊,导入表也要有吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
;; ----- 新节代码 -----
NewSection:
;; 在这里获取地址
;; call指令会将下条指令的地址压入堆栈
;; 注意此指令的OPCODE为EB00000000
;; 病毒与Shellcode等常用此指令定位
;; 杀毒软件的启发式搜索常将此特征作为查找特征
;; 聪明的读者可以自己修改定位代码来躲过
;; 这类的查杀
;; invoke LoadLibrary, addr dllName
;; invoke GetProcAddress, eax, addr function01
call GetEip
GetEip:
;; eax中有保存着当前的地址,标号为GetEip
pop ebx
mov ecx, ebx;
add ecx, offset dllName - offset GetEip
push ecx
mov edx, dword ptr [7c801d7bh];
call edx;
;invoke LoadLibrary, ecx
add ebx, offset OrigAddressOfEntry - offset GetEip
;; 两个偏移的差就是这两个地址之间的距离,它的距离 + 起始地址
;; 就为OrigAddressOfEntry的地址
;; 最后将OrigAddressOfEntry保存的值,也就是原来的入口节的地址
;; 送回eax中。
mov eax, dword ptr [ebx]
;; 跳到原入口点地址
jmp eax
代码就是COPY的玩命的,地址暂时先写死了
|
能力值:
( LV9,RANK:610 )
|
-
-
6 楼
你把dll放到同一个目录下 或者放到系统目录下 确认dll的名字没有写错 就这么简单~
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
名字是没有写错,是当前目录。
我不能理解的是为什么OD在入口点都断不下来?
是不是在系统加载那个EXE文件时就出错了,就是名字错了,也应该是在运行是错,不会入口都断不下来啊
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
添加新节时pe头的参数都改了吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
问题解决了。
是PE文件中BOUND_IMPORT问题
|
|
|