hearthbuddy試運転2

 ここでは非常に奇妙な文言があり、割り当てた後、あなたはまた、直接の比較を行うことができます

 int型の A = 0 ;
            もし((A = 10)> 9 
            { 
                Console.WriteLineを(A)。
            }

 

内部のIntPtr method_33(のIntPtr intptr_37、文字列 STRING_0は、paramsはClass276.Enum20 [] enum20_0)
        { 
            ながら(intptr_37を!= IntPtr.Zero)
            { 
                使用(AllocatedMemory allocatedMemory = この .externalProcessMemory_0.CreateAllocatedMemory(256 ))
                { 
                    allocatedMemory.AllocateOfChunk <のIntPtr> (" Itrが" )。
                    IntPtrのIntPtr; 
                    一方、((のIntPtr = この .method_35(intptr_37、allocatedMemory [ " Itrは"!]))= IntPtr.Zero)
                    { 
                        のIntPtrアドレス = この.method_37(のIntPtr)。
                        もしこの .externalProcessMemory_0.ReadStringA(アドレス)== STRING_0)
                        { 
                            場合(enum20_0!= NULL 
                            { 
                                Class276.Enum20 []配列 = この.method_31(のIntPtr)。
                                もし(Array.lengthと!= enum20_0.Length ||!array.SequenceEqual(enum20_0))
                                { 
                                    続けます; 
                                } 
                            } 
                            戻りのIntPtr。
                        } 
                    } 
                    intptr_37 = この.method_25(intptr_37)。
                } 
            } 
            戻りIntPtr.Zero。
        }

 

2つのwhileループがあります。

最初のサイクルではないintptr_37渡されIntPtr.Zero

     256 externalProcessMemory_0に基づいてメモリの割り当て

     256メモリ内部のメモリのチャンクを割り当てます

     IntPtr = method_35(intptr_37、チャンク新たに割り当てられたメモリ)

                  第二内部ループ

        【のIntPtr = method_35(intptr_37、チャンク新たに割り当てられたメモリ)]この次のサイクルタイムが再びそれを行います

        アドレス= method_37(のIntPtr)。

                            externalProcessMemory_0.ReadStringA(アドレス)とメソッド名を読みます

                           一致する場合、それはのIntPtrを返し、メソッド名の一致を判定し、そうでなければ第二のサイクルに戻ります

     第二サイクルの終わりには、要件を満たすことが判明していませんでした、

                実行intptr_37 = this.method_25(intptr_37)。

 

したがって、第二サイクルは、主に

1のIntPtr = method_35(intptr_37、チャンク新たに割り当てられたメモリ)

2.アドレス= method_37(のIntPtr)。

3.それが一致するかどうかを確認するためにメソッド名を読みます

 

 

 

内部のIntPtr method_35(のIntPtr intptr_37、のIntPtr intptr_38)
        { 
            戻り 、この .method_17を<のIntPtr>(この .intptr_19、新しい オブジェクト[] 
            { 
                intptr_37、
                intptr_38 
            })。
        }

 

内部のIntPtr method_37(のIntPtr intptr_37)
        { 
            戻り 、この .method_17を<のIntPtr>(この .intptr_21、新しい オブジェクト[] 
            { 
                intptr_37 
            })。
        }

 

 

プライベート Tのmethod_17 <T>(のIntPtr intptr_37、paramsの オブジェクト [] object_0)ここで、 T:構造体
        { 
            戻り 、この .externalProcessMemory_0.CallInjectedを<T> (intptr_37、CallingConvention.Cdecl、object_0)。
        }

 

おすすめ

転載: www.cnblogs.com/chucklu/p/11183453.html