能力值:
( LV3,RANK:20 )
|
-
-
26 楼
支持原创,up
|
能力值:
( LV2,RANK:10 )
|
-
-
27 楼
楼主 的 思路很不错..
|
能力值:
( LV9,RANK:250 )
|
-
-
28 楼
Export Redirection,呵呵
主要还是要考虑一下,同名如何中转系统DLL
lpk.dll -> %systemroot%\system32\lpk.dll
|
能力值:
( LV2,RANK:10 )
|
-
-
29 楼
思路不错,好贴留名!
|
能力值:
( LV2,RANK:10 )
|
-
-
30 楼
什么时候能再开发一款内存补丁工具呢?
这个工具要实现的功能:
1、不针对内存中某个具体地址,而是搜索内存中的特征值,找到后,用自己的代码替换。
2、搜索过程允许使用通配符。
3、能过大部分的外壳保护
4、如果能加上CAD的ARX文件的补丁方式更佳。
这样做的优点就是,做出来的DLL内补支持软件升级。不需要每次都反复去搞。
现在所有的内存补丁工具均没有这个功能,不好使。
|
能力值:
( LV2,RANK:10 )
|
-
-
31 楼
利器啊~~~~
|
能力值:
( LV2,RANK:10 )
|
-
-
32 楼
求test.dll 源码 我自己的DLL 无法达到劫持的效果。总是会有一个函数无法定位
|
能力值:
( LV4,RANK:50 )
|
-
-
33 楼
我的程序会将你自己的DLL原来的导出函数清空的,然后克隆被劫持dll的所有导出信息为你的dll的中转输出,要不把你的dll发上来看看呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
34 楼
我写了一个EXE 调用DLL A , 然后重新编译A 为B (修改提示框的字) 然后用B劫持A ,
当exe调用导出函数的时候 弹
我DLL代码如下
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
MessageBox(NULL,"正常","正常",MB_OK);
return TRUE;
} extern "C" __declspec(dllexport) int fnDllll2(void)
{
MessageBox(NULL,"fn","fn",MB_OK);
return 42;
}
DLL见 附件
方便的话 可以分享下您的TEST .dll 的代码嘛
|
能力值:
( LV3,RANK:20 )
|
-
-
35 楼
参考AutoDebug,实现下
|
能力值:
( LV2,RANK:10 )
|
-
-
36 楼
我用ida 逆向了一下 他的test 还是不一样 不知道是不是DLL 需要特殊处理啊。劫持的DLL main函数式进去了但是不能使程序正常使用。
|
能力值:
( LV4,RANK:50 )
|
-
-
37 楼
呵呵,不好意思,当初写程序的时候就考虑过你自己写的DLL有附加数据的情况,比如说debug版的PE,如图:
后来嫌麻烦就没考虑这个问题,你可以想上图那样把多余的数据删除,或者使用release版本的dll做劫持dll,被劫持的dll倒没有任何限制,或者你修改我的代码来去掉这个bug也是很容易的
|
能力值:
( LV2,RANK:10 )
|
-
-
38 楼
测试了一下用了release的 中转DLL 还是没转到EXE调用的函数 只是dllmain 进去了。2个DLLMAIN 都打出来了 但是只要一调用被劫持DLL的导出函数 就挂了。
|
能力值:
( LV2,RANK:10 )
|
-
-
39 楼
另外为什么你的导出表是空的 ,还有用ida看的时候你的函数列表 就5个函数 我自己的DLL 却N多函数,麻烦分享下代码。我就不纠结DLL的写法,努力写功能啦@
|
能力值:
( LV2,RANK:10 )
|
-
-
40 楼
报告成功了,原来是中专dll名 不能写.DLL 后缀 这个原因导致的。 直接写名字 就成功了。
另外想请教一下, 如果想exe掉的某个函数先在劫持DLL 执行 然后再去被劫持DLL 执行 这种要怎么实现
|
能力值:
( LV2,RANK:10 )
|
-
-
41 楼
什么时候能再开发一款内存补丁工具呢?
这个工具要实现的功能: 1、不针对内存中某个具体地址,而是搜索内存中的特征值,找到后,用自己的代码替换。 2、搜索过程允许使用通配符。 3、能过大部分的外壳保护 4、如果能加上CAD的ARX文件的补丁方式更佳。
这样做的优点就是,做出来的DLL内补支持软件升级。不需要每次都反复去搞。
现在所有的内存补丁工具均没有这个功能,不好使。
有的功能,ydlpk已经算有了。
|
能力值:
( LV2,RANK:10 )
|
-
-
42 楼
为什么我用如下的汇编写的DLL不成功。。。大家帮帮忙
.386
.model flat, stdcall
option casemap :none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
INCLUDE MACRO.ASM
.data
lpszByDll db "Welcome",0
.data?
hInstance dd ?
.CODE
;入口.如果DLL需要加载资源,需要保存hIinstDLL这个句柄到全局变量.它才是模块句柄
;使用GetModuleHandle获得的永远是主程序的句柄
LibMain proc hInstDLL:DWORD, reason:DWORD, unused:DWORD
.if reason == DLL_PROCESS_ATTACH ;动态库被加载时调用,返回0加载失败!
invoke MessageBoxA,NULL,CTEXT("ASDFSADFSADF"),NULL,MB_OK
mov eax,hInstDLL
mov hInstance,eax
mov eax,TRUE
ret
.elseif reason == DLL_PROCESS_DETACH
.elseif reason == DLL_THREAD_ATTACH
.elseif reason == DLL_THREAD_DETACH
;添加处理代码
.endif
ret
LibMain Endp
End LibMain
|
能力值:
(RANK:380 )
|
-
-
43 楼
火翼(xxxxxxx) 11:02:41
10年前就很多人用这个方法了
从pe格式确定就存在的
很老的技术,不过这样有代码、有说明、有工具还是第一次。
|
能力值:
( LV2,RANK:10 )
|
-
-
44 楼
顶一个,支持下
|
能力值:
( LV9,RANK:190 )
|
-
-
45 楼
在看雪找一下就有相关代码了,不如自己写个,反正我是自己实现了
|
能力值:
( LV2,RANK:10 )
|
-
-
46 楼
真不错有现成工具。
|
能力值:
( LV2,RANK:10 )
|
-
-
47 楼
好东西啊,收藏了
|
能力值:
( LV9,RANK:410 )
|
-
-
48 楼
这个技术含量高要支持。
|
能力值:
( LV2,RANK:10 )
|
-
-
49 楼
谁能把这代码翻译成Delphi版吗
|
能力值:
( LV2,RANK:10 )
|
-
-
50 楼
这个不错,谢谢楼主
|
|
|