首页
社区
课程
招聘
[未解决,已结帖] DNSpy调试C Sharp代码时,如何进入内存中DLL文件中的导出函数 300.00雪花
发表于: 2021-8-29 13:38 5017

[未解决,已结帖] DNSpy调试C Sharp代码时,如何进入内存中DLL文件中的导出函数 300.00雪花

2021-8-29 13:38
5017

各位大佬好,最近在分析一个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无法参与调试是怎么回事。

 

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


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 19
活跃值: (218)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
2021-8-29 19:59
0
雪    币: 3752
活跃值: (2744)
能力值: ( LV7,RANK:105 )
在线值:
发帖
回帖
粉丝
3
liqingjia 1f7K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6K6i4K6u0W2N6r3S2J5k6h3q4@1j5X3!0G2K9#2)9J5k6h3y4F1i4K6u0r3M7X3g2H3L8%4u0@1i4K6u0r3k6X3W2D9k6g2)9J5c8U0b7$3z5o6l9H3z5r3j5#2k6U0b7&6z5e0k6U0x3o6y4T1x3o6k6V1y4X3f1%4y4r3p5&6y4e0b7$3z5h3q4U0k6h3f1%4j5e0x3#2x3X3j5^5k6o6k6T1j5U0g2W2y4K6p5^5k6o6R3$3y4K6l9%4k6r3p5%4j5K6N6U0x3r3p5`. ...
程序能上传看看?
2021-8-30 00:10
0
雪    币: 19
活跃值: (218)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
留言上面的地址,微步上面也可以下载。MD5:632EBC5EA90F2312E61135AE6D1CD300
2021-8-30 07:20
0
雪    币: 19
活跃值: (218)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5

样本

上传的附件:
2021-8-30 07:23
0
游客
登录 | 注册 方可回帖
返回