首页
社区
课程
招聘
[求助]DNSpy调试C Sharp代码时,如何进入内存中DLL文件中的导出函数
发表于: 2021-8-29 08:20 5350

[求助]DNSpy调试C Sharp代码时,如何进入内存中DLL文件中的导出函数

2021-8-29 08:20
5350

各位大佬好,最近在分析一个C#的原样本,遇到调试的问题,想请教各位。
样本行为:
1、内存解密一个C#写成的DLL文件,并调用其中的导出函数。
2、调用代码如下


3、继续F11进入Activator.CreateInstance()函数,后续函数调用步骤如下:
runtimeType.CreateInstanceImpl()
((ConstructorInfo)methodBase).Invoke(bindingAttr, binder, args, culture)
RuntimeMethodHandle.InvokeMethod(null, array, signature, true)
MarshalByRefObject IsCurrentContextOK()
在IsCurrentContextOK()函数中有2条代码:
{
marshalByRefObject = proxyAttribute.CreateInstanceInternal(serverType);
return marshalByRefObject;
}
return marshalByRefObject时程序在运行,DNSpy调试器不能再调试程序。

 

在之前分析过的调用C#DLL文件中的导出函数会跟踪到RuntimeMethodHandle.InvokeMethod(obj,null,this.signature,false)再F11就可以进入到DLL中导出函数中调试,DNSpy可以继续调试。
但这次的InvokeMethod()函数参数不同,F11怎么会进入到IsCurrentContextOK()函数,而且后续调试DNSpy无法参与调试是怎么回事。

 

找不到是什么原因,哪位大佬知道原因,这种情况应该怎么调试,帮帮小弟。


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 19
活跃值: (218)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
样本地址:https://s.threatbook.cn/report/file/468008f5f4996c03b06d6e74a95469acee7a352f8d6bb5e718d86707da7c7c0a/?sign=history&env=win7_sp1_enx86_office2013
上传的附件:
2021-8-29 20:05
0
雪    币: 19
活跃值: (218)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
已解决,感激各位大佬。
2021-8-31 15:39
0
雪    币: 207
活跃值: (942)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
4
咋不分享下怎么解决 的呢
2021-9-2 10:08
0
雪    币: 200
活跃值: (46)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
请问是怎么解决的哈,我也调试的相同的样本
2022-9-2 11:00
0
游客
登录 | 注册 方可回帖
返回
//