PropertyInfo m_session_ptr = session.GetType().GetProperty("m_session_ptr", BindingFlags.Instance | BindingFlags.NonPublic);
object m_session_ptr_obj = m_session_ptr.GetValue(session);
IntPtr m_session_ptr_val = new IntPtr(System.Reflection.Pointer.Unbox(m_session_ptr_obj));
Console.WriteLine(m_session_ptr_obj + ",m_session_ptr_val:=>" + m_session_ptr_val.ToString("x"));
IntPtr m_session_vftbl = Marshal.ReadIntPtr(m_session_ptr_val);
IntPtr ReadObjectFunc = Marshal.ReadIntPtr(m_session_vftbl, 1768);
Console.WriteLine("ReadObjectFunc:=>" + ReadObjectFunc.ToString("x"));