下载了typemock。却要我license。老子才不尿你。打开reflector开始破解。

 

大概看了源码,主要是

 

MockManager.Init() 里面调用了注册类。 bi.e()

 

比较另类的验证机制。

 

其他的TypeMock.Integration / Interceptors 似乎没有什么意义。

 

找到IL里面的:

 

.class public auto ansi sealed TypeMock.MockManager

       extends [mscorlib]System.Object

 

   .method public hidebysig static void  Init(bool collectAllCalls) cil managed

 

具体内容:

 

    // 代码大小       149 (0x95)
    .maxstack  2
    .locals init (valuetype gk V_0)
    IL_0000:  call       valuetype gk gk::b()
    IL_0005:  stloc.
0
    .
try
    {
      IL_0006:  call       
void bi::e()
      IL_000b:  ldsfld     
string TypeMock.MockManager::i
      IL_0010:  ldsfld     
string TypeMock.MockManager::h
      IL_0015:  call       int32 TypeMock.MockManager::SetEnvironmentVariable(
string,
                                                                              
string)
      IL_001a:  pop
      IL_001b:  ldsfld     
bool TypeMock.MockManager::z
      IL_0020:  brtrue.s   IL_0035

      IL_0022:  call       
bool TypeMock.AutoFake.TyphoonConfiguration::IsInAutoFake()
      IL_0027:  brtrue.s   IL_0035

      IL_0029:  ldc.i4.
1
      IL_002a:  stsfld     
bool TypeMock.MockManager::z
      IL_002f:  call       valuetype hs g6::f()
      IL_0034:  pop
      IL_0035:  call       
class ay TypeMock.MockManager::k()
      IL_003a:  callvirt   instance 
void ay::a()
      IL_003f:  ldsfld     
class dp TypeMock.MockManager::v
      IL_0044:  callvirt   instance 
void dp::a()
      IL_0049:  ldsfld     
class hf TypeMock.MockManager::w
      IL_004e:  callvirt   instance 
void hf::a()
      IL_0053:  call       
void TypeMock.RecorderManager::k()
      IL_0058:  ldarg.
0
      IL_0059:  call       
void TypeMock.MockManager::set_CollectAllCalls(bool)
      IL_005e:  ldc.i4.
1
      IL_005f:  stsfld     
bool TypeMock.MockManager::m
      IL_0064:  ldc.i4.
0
      IL_0065:  stsfld     int32 TypeMock.MockManager::y
      IL_006a:  ldc.i4.
0
      IL_006b:  stsfld     
bool TypeMock.MockManager::o
      IL_0070:  call       
void TypeMock.ExpectationBlock::a()
      IL_0075:  call       
void TypeMock.MockManager::i()
      IL_007a:  call       
void TypeMock.MockManager::j()
      IL_007f:  call       
void f9::b()
      IL_0084:  leave.s    IL_0094

    }  
// end .try
    finally
    {
      IL_0086:  ldloca.s   V_0
      IL_0088:  constrained. gk
      IL_008e:  callvirt   instance 
void [mscorlib]System.IDisposable::Dispose()
      IL_0093:  endfinally
    }  
// end handler
    IL_0094:  ret
  } 
// end of method MockManager::Init

相关文章:

  • 2021-06-04
  • 2021-09-24
  • 2021-11-14
  • 2021-12-09
  • 2021-11-07
  • 2021-07-09
  • 2021-08-07
  • 2021-08-20
猜你喜欢
  • 2021-05-18
  • 2022-01-20
  • 2022-12-23
  • 2021-07-14
  • 2022-12-23
  • 2021-12-04
  • 2022-01-20
相关资源
相似解决方案