-
-
[已解决]
[求助]关于C代码inlinehook java虚拟机某些字节无法修改的问题
100雪币
-
-
[已解决] [求助]关于C代码inlinehook java虚拟机某些字节无法修改的问题
100雪币
最近想写一个自动化下载器,于是就选择了开源的jdowloader2,正好复习下自己的inlinehook的内容。
这是我自己写的常用的copy的代码。
这是我要修改的目标函数,也就是jdowloader中的jvm.dll里面的导出函数映射地址。
代码执行后变成这样了

可以看到除了90这个地方的字节,其他的都copy过去了。当我尝试从8F处copy的时候,还是90这个地方的字节没有变化。用windows的API也不行。。直接指针修改也无法修改
正确来说是这样的
用x64dbg可以直接修改,没有异常,但是用memcpy修改也没有异常,但是就是那一个字节无法修改。
其他地方也有相应的问题,看这一段shellcode

本来应该是这样的

还是有几个字节copy不上,不清楚为什么。
hook流程是先写一个启动器,然后在程序挂起的时候注入

然后在dll里面hook

尝试搜索了很多内容,感觉最有可能是jvm内存管理的问题。但是我还是看不明白到底是什么原因无法修改,被静默拒绝,恳请大佬指教。
传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!