コード例 #1
0
        public static List <Mail163Message> GetMessages(HeapFileAnalyzer analyser)
        {
            List <Mail163Message> result = new List <Mail163Message>();
            var t = analyser.ObjectInstanceInfos.Where(c => c.ClassName == "com.netease.mobimail.n.c.am").ToList();

            foreach (var it in t)
            {
                var msg = new Mail163Message();
                foreach (var it2 in it.InstanceFields)
                {
                    switch (it2.Name)
                    {
                    case "t":
                        msg.Content = GetJavaString((it2 as ReferenceObjectInfo).ReferenceTarget as ObjectInstanceInfo);
                        break;

                    case "s":
                        msg.Theme = GetJavaString((it2 as ReferenceObjectInfo).ReferenceTarget as ObjectInstanceInfo);
                        break;

                    case "n":
                        GetMessageSender(it2 as ReferenceObjectInfo, ref msg);
                        break;

                    default:
                        break;
                    }
                }
                result.Add(msg);
            }
            return(result);
        }
コード例 #2
0
        static void GetMessageSender(ReferenceObjectInfo senderRefer, ref Mail163Message msg)
        {
            if (senderRefer.ReferenceTarget != null)
            {
                var t = senderRefer.ReferenceTarget as ObjectInstanceInfo;
                foreach (var it2 in t.InstanceFields)
                {
                    switch (it2.Name)
                    {
                    case "a":
                        msg.SenderName = GetJavaString((it2 as ReferenceObjectInfo).ReferenceTarget as ObjectInstanceInfo);
                        break;

                    case "b":
                        msg.SenderEmail = GetJavaString((it2 as ReferenceObjectInfo).ReferenceTarget as ObjectInstanceInfo);
                        break;

                    default:
                        break;
                    }
                }
            }
        }