吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 411|回复: 1
收起左侧

[求助] 一个dll文件hook过程求助

[复制链接]
zhdwc_xa 发表于 2025-3-6 22:15

现在在尝试用hook的方式从一个dll文件中dump出里面的一些算法函数,使用的代码是通过AheadlibPlus(john)生成的hook然后修改,大致的内容形式如下:

// 导出函数
#pragma comment(linker, "/EXPORT:N8JDllMain=AheadLib_J9VMDllMain,@1")

// 原函数地址指针
PVOID(*pfnN8JDllMain)(PVOID p0, PVOID p1, PVOID p2, PVOID p3, PVOID p4, PVOID p5, PVOID p6, PVOID p7, PVOID p8, PVOID p9, PVOID p10, PVOID p11, PVOID p12, PVOID p13 );

//中间是宏定义、HOOK命名空间、Aheadlib命名空间,基本没有改动

inline void WINAPI initAddress()
    {
        pfnN8JDllMain = (decltype(pfnN8JDllMain))GetAddress("N8JDllMain");
                *****
        }

//加载原始函数、释放原始模块没有更改

// 导出函数
ALCDECL AheadLib_N8JDllMain(PVOID p0, PVOID p1, PVOID p2, PVOID p3, PVOID p4, PVOID p5, PVOID p6, PVOID p7, PVOID p8, PVOID p9, PVOID p10, PVOID p11, PVOID p12, PVOID p13 )
{
    prevFunc();
        java_defineClass((JNIEnv*)p0,
        (jclass)p1,
        (jstring)p2,
        (jbyteArray)p3,
        (jint)p4,
        (jobject)p5,
        (jstring)p6, p7, p8, p9, p10, p11, p12, p13);
    setFunc(pfnN8JDllMain);
    endFunc();
}

//定义导出命令
jclass __stdcall java_defineClass(JNIEnv* env, jclass cls, jstring name, jbyteArray data, jint length, jobject pd, jstring source, LPVOID p7, LPVOID p8, LPVOID p9, LPVOID p10, LPVOID p11, LPVOID p12, LPVOID p13)
{
    return (jclass)pfnJava_java_lang_ClassLoader_defineClassImpl((LPVOID)env, (LPVOID)cls, (LPVOID)name, (LPVOID)data, (LPVOID)length, (LPVOID)pd, (LPVOID)source, p7, p8, p9, p10, p11, p12, p13);

}

这里只是描述一下基础的代码构成,在这个java_defineClass方法里面也没有进行任何操作,现在的问题是,这个dll劫持之后,只能dump出一部分的方法函数,然后就报错弹出。
因为是另外一个程序启动的时候调用的dll文件,不方便调试,求助一下这个可能是因为什么原因,有什么处理思路。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

冥界3大法王 发表于 2025-3-11 15:51
OutDebugString
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-3-27 14:04

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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