Exemple #1
0
        public void addGuns(int id)
        {
            Random  n    = new Random();
            JObject mail = new JObject();

            mail.Add("id", n.Next(1, 99999999).ToString());;
            mail.Add("user_id", "0");
            mail.Add("type", "6");
            mail.Add("sub_id", "0");
            mail.Add("user_exp", "0");
            mail.Add("mp", "0");
            mail.Add("ammo", "0");
            mail.Add("mre", "0");
            mail.Add("part", "0");
            mail.Add("core", "0");
            mail.Add("gem", "0");
            mail.Add("gun_id", id.ToString());
            mail.Add("fairy_ids", "");
            mail.Add("item_ids", "");
            mail.Add("equip_ids", "");
            mail.Add("furniture", "");
            mail.Add("gift", "");
            mail.Add("coins", "");
            mail.Add("skin", "0");
            mail.Add("commander_uniform", "");
            mail.Add("bp_pay", "0");
            mail.Add("chip", "");
            mail.Add("title", string.Format("GiveGuns {0}", id.ToString()));
            mail.Add("content", "");
            mail.Add("code", "");
            mail.Add("start_time", MicaSecurityTools.GetCurrentTimeStamp().ToString());
            mail.Add("end_time", "2100000000");
            mail.Add("if_read", "0");
            ((JArray)homedata["index_getmaillist"]).Add(mail);
        }
Exemple #2
0
        private void Form1_Load(object sender, EventArgs e)
        {
            server_togglebtn.Text = Properties.Strings.serverstart;
            tabControl1.TabPages["informationpage"].Text   = Properties.Strings.tapPage_info;
            tabControl1.TabPages["dollsettingpage"].Text   = Properties.Strings.tapPage_gunsett;
            tabControl1.TabPages["equipsettingpage"].Text  = Properties.Strings.tapPage_equipsett;
            tabControl1.TabPages["fairysettingpage"].Text  = Properties.Strings.tapPage_fairysett;
            tabControl1.TabPages["serversettingpage"].Text = Properties.Strings.tapPage_serversett;
            tr_RX.Text = Properties.Strings.indicater_rx;
            tr_TX.Text = Properties.Strings.indicater_tx;
            //tabControl1.TabPages.Remove(tabControl1.TabPages[4]);
            ind_RX_timer.Start();
            ind_TX_timer.Start();
            serveripaddrtextbox.Text = GetLocalIP();
            gunNameCsv.AddRange(File.ReadAllLines("data/db/csv/guns.b64"));
            userdata = JObject.Parse(File.ReadAllText("data/db/json/userinfo.json"));
            homedata = JObject.Parse(File.ReadAllText("data/db/json/home.json"));
            JArray userdata_guninfo = JArray.Parse(userdata["gun_with_user_info"].ToString());

            gundb = JArray.Parse(File.ReadAllText("data/db/json/dolls.json"));
            gundb.Merge(JArray.Parse(File.ReadAllText("data/db/json/dolls_missing.json")));
            foreach (string name in gunNameCsv)
            {
                string[] t = name.Split(',');
                if (t[0].StartsWith("gun-1"))
                {
                    gunNameID.Add(string.Format("{0},{1}", t[1], t[0].Substring(5)));
                }
            }
            foreach (JObject a in userdata_guninfo)
            {
                add_gun_list(a);
                GeneratedgunIDs.Add(Convert.ToInt32(a["id"]));
            }
            MicaSecurityTools.init();
            server_status_text.Text = "停止";
        }
        private void sendbtn_Click(object sender, EventArgs e)
        {
            Random  n    = new Random();
            JObject mail = new JObject();

            mail.Add("id", n.Next(1, 99999999).ToString());;
            mail.Add("user_id", "0");
            mail.Add("type", "6");
            mail.Add("sub_id", "0");
            mail.Add("user_exp", "0");
            mail.Add("mp", "0");
            mail.Add("ammo", "0");
            mail.Add("mre", "0");
            mail.Add("part", "0");
            mail.Add("core", "0");
            mail.Add("gem", "0");
            mail.Add("gun_id", "0");
            mail.Add("fairy_ids", "");
            mail.Add("item_ids", "");
            mail.Add("equip_ids", "");
            mail.Add("furniture", "");
            mail.Add("gift", "");
            mail.Add("coins", "");
            mail.Add("skin", "0");
            mail.Add("commander_uniform", "");
            mail.Add("bp_pay", "0");
            mail.Add("chip", "");
            mail.Add("title", titletext.Text);
            mail.Add("content", bodytext.Text);
            mail.Add("code", "");
            mail.Add("start_time", MicaSecurityTools.GetCurrentTimeStamp().ToString());
            mail.Add("end_time", notime.Checked ? "2100000000" : ((DateTimeOffset)dateTimePicker1.Value).ToUnixTimeSeconds().ToString());
            mail.Add("if_read", "0");
            this.FormCloseEvent(mail);
            Close();
        }
        protected override byte[] ResponseProcess(HttpRequest request)
        {
            void log_clientdata(string s)
            {
                Form1.frm.logtextbox_clientrequest.AppendText(string.Format("[{0}]{1}{2}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), s, Environment.NewLine));
            }

            void log_returndata(string s)
            {
                Form1.frm.logtextbox_clientresponce.AppendText(string.Format("[{0}]{1}{2}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), s, Environment.NewLine));
            }

            Form1.frm.indicater_blink_TX();
            string datafromclient = null;

            foreach (string key in request.PostParameters.AllKeys)
            {
                if (key == "outdatacode")
                {
                    datafromclient = MicaSecurityTools.Decode(request.PostParameters["outdatacode"], Form1.frm.signkey);
                    log_clientdata(datafromclient);
                }
                else if (key == "signcode")
                {
                    log_clientdata("Sign:" + request.PostParameters["signcode"]);
                }
            }
            if (request.Uri.LocalPath.ToString() == "/")
            {
                return(Encoding.UTF8.GetBytes("Welcome! Simple Http Server"));
            }
            if (request.Uri.LocalPath == "/getpac/pac.js")
            {
                return(Encoding.UTF8.GetBytes(File.ReadAllText(@"data/pac/pac.js")));
            }
            if (request.Uri.ToString().Contains(GF_URLs_KR.host) && Form1.frm.causeErrorNext.Checked)
            {
                Form1.frm.causeErrorNext.Checked = false;
                Form1.frm.notification_show(Properties.Strings.notification, Properties.Strings.reset_client);
                return(Encoding.UTF8.GetBytes("error:1"));
            }
            else if (request.Uri.ToString().Contains(GF_URLs_KR.index_version))
            {
                JObject  outdata   = new JObject();
                TimeSpan monthzero = (new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1, 0, 0, 0) - new DateTime(1970, 1, 1, 0, 0, 0));
                outdata.Add("now", Form1.frm.UnixTimeNow().ToString());
                outdata.Add("tomorrow_zero", (Form1.frm.UnixTimeNow() + (86400 - Form1.frm.UnixTimeNow() % 86400)).ToString());
                outdata.Add("month_zero", (long)monthzero.TotalSeconds);
                outdata.Add("next_month_zero", 0);
                outdata.Add("timezone", "Asia / Seoul");
                outdata.Add("data_version", "193aded53d62f9b6dc784174e8dc8751");
                outdata.Add("client_version", "20302");
                outdata.Add("ab_version", "0");
                outdata.Add("is_kick", "0");
                outdata.Add("weekday", 4);
                outdata.Add("authentication_url", "http://127.0.0.1");
                return(Encoding.UTF8.GetBytes(outdata.ToString()));
            }

            else if (request.Uri.ToString().Contains(GF_URLs_KR.getToken))
            {
                JObject outdata = new JObject();
                outdata.Add("uid", Form1.frm.uid);
                outdata.Add("sign", Form1.frm.signkey);
                outdata.Add("is_username_exist", true);
                outdata.Add("app_guard_id", "");
                outdata.Add("real_name", 0);
                outdata.Add("authentication_url", "http://127.0.0.1");
                return(Encoding.UTF8.GetBytes(MicaSecurityTools.EncodeWithGzip(outdata.ToString(), defaultkey)));
            }
            else if (request.Uri.ToString().Contains(GF_URLs_KR.gundevelop))
            {
                JObject o    = JObject.Parse(datafromclient);
                int     slot = int.Parse(o["build_slot"].ToString()) - 1;
                current_develop[slot] = gunid_generate();
                string data = "{ \"gun_id\":\"" + current_develop[slot].ToString() + "\"}";
                return(Encoding.UTF8.GetBytes(MicaSecurityTools.EncodeWithGzip(data, Form1.frm.signkey)));
            }
            else if (request.Uri.ToString().Contains(GF_URLs_KR.finishdevelop))
            {
                JObject o      = JObject.Parse(datafromclient);
                int     slot   = int.Parse(o["build_slot"].ToString()) - 1;
                string  gid    = Form1.frm.GenerateRandomID();
                string  data   = "{ \"gun_with_user_add\":{ \"gun_with_user_id\":\"" + gid + "\",\"gun_id\":\"" + current_develop[slot].ToString() + "\"} }";
                JObject newgun = new JObject(Form1.frm.GenerateNewGun(gid, current_develop[slot].ToString()));
                current_develop[slot] = 0;
                Form1.frm.add_gun_list(newgun);
                Form1.frm.addGuntoUserinfo(newgun);
                return(Encoding.UTF8.GetBytes(MicaSecurityTools.EncodeWithGzip(data, Form1.frm.signkey)));
            }
            else if (request.Uri.ToString().Contains(GF_URLs_KR.GetgundevelopCollectList))
            {
                StringBuilder data = new StringBuilder();
                for (int i = 0; i < current_develop.Length; i = i + 2)
                {
                    data.Append(string.Format("スロット{0} [一般] {1}  [大型] {2}{3}", (i / 2) + 1,
                                              Form1.frm.getgunKRNAme(current_develop[i].ToString()),
                                              Form1.frm.getgunKRNAme(current_develop[i + 1].ToString()),
                                              Environment.NewLine
                                              ));
                }
                return(Encoding.UTF8.GetBytes(string.Format("error:202|[現在製造中リスト]{0}{1}", Environment.NewLine
                                                            , data.ToString())));
            }
            else if (request.Uri.ToString().Contains("sn-list.girlfrontline.co.kr") && request.Uri.ToString().Contains(".txt"))
            {
                //Uri url = new Uri("http:" + request.Uri.ToString());
                WebClient wc = new WebClient();
                wc.Headers.Add("Accept-Encoding", "gzip");
                wc.Headers.Add("User-Agent", request.Headers["User-Agent"].ToString());
                wc.Headers.Add("X-Unity-Version", request.Headers["X-Unity-Version"].ToString());
                byte[] data = wc.DownloadData(request.Uri.ToString());
                return(data);
            }
            else if (request.Uri.ToString().Contains("sn-list.girlfrontline.co.kr") && request.Uri.ToString().Contains("index.php"))
            {
                WebClient wc = new WebClient();
                wc.Headers.Add("Accept-Encoding", "gzip");
                wc.Headers.Add("Content-Type", request.Headers["Content-Type"].ToString());
                wc.Headers.Add("X-Unity-Version", request.Headers["X-Unity-Version"].ToString());
                byte[] reqdata = request.Postbody;
                byte[] data    = wc.UploadData(request.Uri.ToString(), reqdata);
                return(data);
            }
            else if (request.Uri.ToString().Contains(GF_URLs_KR.quickdevelop))
            {
                return(new byte[] { 0x31 });
            }
            else if (request.Uri.ToString().Contains(GF_URLs_KR.unlockgun))
            {
                return(new byte[] { 0x31 });
            }
            else if (request.Uri.ToString().Contains(GF_URLs_KR.getuserinfo))
            {
                Form1.frm.userdata["user_record"]["attendance_type1_day"]  = DateTime.Now.Day.ToString();
                Form1.frm.userdata["user_record"]["attendance_type1_time"] = (Form1.frm.UnixTimeNow() + (86400 - Form1.frm.UnixTimeNow() % 86400)).ToString();
                return(Encoding.UTF8.GetBytes(MicaSecurityTools.EncodeWithGzip(Form1.frm.userdata.ToString(), Form1.frm.signkey)));
            }
            else if (request.Uri.ToString().Contains(GF_URLs_KR.Getfriendlist))
            {
                JObject list = JObject.Parse(File.ReadAllText(@"data\db\json\friend.json"));
                return(Encoding.UTF8.GetBytes(MicaSecurityTools.EncodeWithGzip(list.ToString(), Form1.frm.signkey)));
            }
            else if (request.Uri.ToString().Contains(GF_URLs_KR.putMsg))
            {
                JObject responce = JObject.Parse(datafromclient);
                string  msg      = responce["message"].ToString();
                if (msg.StartsWith("/"))
                {
                    string command = msg.Substring(1).Split(' ')[0];
                    try
                    {
                        if (command.ToLower() == "give")
                        {
                            string func = msg.Substring(1).Split(' ')[1];
                            if (func.ToLower() == "resource")
                            {
                                int[] mount = Array.ConvertAll(msg.Substring(1).Split(' ')[2].Split(','), s => int.Parse(s));
                                Form1.frm.addResource(mount[0], mount[1], mount[2], mount[3]);
                                return(Encoding.UTF8.GetBytes("error:202|[GFBattleTester_v2]\n" + string.Format("인력:{0}, 탄약:{1}, 식량{2}, 부품:{3} 개를 우편으로 보냈습니다.",
                                                                                                                mount[0], mount[1], mount[2], mount[3])));
                            }
                            else if (func.ToLower() == "gun")
                            {
                                int id = int.Parse(msg.Substring(1).Split(' ')[2]);
                                Form1.frm.addGuns(id);
                                return(Encoding.UTF8.GetBytes("error:202|[GFBattleTester_v2]\n" + string.Format("인형 {0}을(를) 우편으로 보냈습니다.", Form1.frm.getgunKRNAme(id.ToString()))));
                            }
                            return(Encoding.UTF8.GetBytes("error:202|[GFBattleTester_v2]\n" + "알 수 없는 옵션:" + func));
                        }
                        return(Encoding.UTF8.GetBytes("error:202|[GFBattleTester_v2]\n" + "알 수 없는 명령어: " + command));
                    }
                    catch (Exception ex)
                    {
                        return(Encoding.UTF8.GetBytes("error:202|[GFBattleTester_v2]\n" + "명령어 분석 오류\n" + ex.ToString()));
                    }
                }
                return(Encoding.UTF8.GetBytes(MicaSecurityTools.EncodeWithGzip("{\"list\":[]}", Form1.frm.signkey)));
            }
            else if (request.Uri.ToString().Contains(GF_URLs_KR.gunoath))
            {
                JObject t = new JObject();
                t.Add("soul_bond_time", Form1.frm.UnixTimeNow());
                return(Encoding.UTF8.GetBytes(MicaSecurityTools.EncodeWithGzip(t.ToString(), Form1.frm.signkey)));
            }
            else if (request.Uri.ToString().Contains(GF_URLs_KR.getResourceinmail))
            {
                JObject id     = JObject.Parse(datafromclient);
                string  mailid = id["mail_with_user_id"].ToString();
                return(Encoding.UTF8.GetBytes(MicaSecurityTools.EncodeWithGzip(string.Format("[{0}]", mailid), Form1.frm.signkey)));
            }
            else if (request.Uri.ToString().Contains(GF_URLs_KR.Getfriendapplylist))
            {
                return(Encoding.UTF8.GetBytes(MicaSecurityTools.EncodeWithGzip("{\"list\":[]}", Form1.frm.signkey)));
            }
            else if (request.Uri.ToString().Contains(GF_URLs_KR.Getfriendmsglist))
            {
                return(Encoding.UTF8.GetBytes(MicaSecurityTools.EncodeWithGzip("{\"list\":[]}", Form1.frm.signkey)));
            }
            else if (request.Uri.ToString().Contains(GF_URLs_KR.Getfriendmsg))
            {
                return(Encoding.UTF8.GetBytes(MicaSecurityTools.EncodeWithGzip("{\"list\":[]}", Form1.frm.signkey)));
            }
            else if (request.Uri.ToString().Contains(GF_URLs_KR.getdorminfo))
            {
                return(Encoding.UTF8.GetBytes(MicaSecurityTools.EncodeWithGzip(File.ReadAllText("data/db/json/dorm.json"), Form1.frm.signkey)));
            }
            else if (request.Uri.ToString().Contains(GF_URLs_KR.downloadsucsess))
            {
                return(Encoding.UTF8.GetBytes("1"));
            }
            else if (request.Uri.ToString().Contains(GF_URLs_KR.home))
            {
                return(Encoding.UTF8.GetBytes(MicaSecurityTools.EncodeWithGzip(Form1.frm.homedata.ToString(), Form1.frm.signkey)));
            }
            else if (request.Uri.ToString().Contains(GF_URLs_KR.attendance))
            {
                return(Encoding.UTF8.GetBytes(MicaSecurityTools.EncodeWithGzip(File.ReadAllText("data/db/json/attendance.json"), Form1.frm.signkey)));
            }
            else if (request.Uri.ToString().Contains(GF_URLs_KR.statictables))
            {
                return(Encoding.UTF8.GetBytes(MicaSecurityTools.EncodeWithGzip(File.ReadAllText("data/db/json/statictables.json"), Form1.frm.signkey)));
            }
            else if (request.Uri.ToString().Contains(GF_URLs_KR.ChangeGamesettings))
            {
                return(Encoding.UTF8.GetBytes("1"));
            }
            else if (request.Uri.ToString().Contains("sn-list.xdg.com/kr_gf_index.php"))
            {
                return(Encoding.UTF8.GetBytes("1"));
            }

            return(Encoding.UTF8.GetBytes("error:202|[GFBattleTester_v2]\n" + Properties.Strings.message_server_notsupported));
        }
Exemple #5
0
        private void Form1_Load(object sender, EventArgs e)
        {
            string mission = File.ReadAllText("data/db/csv/mission.b64");

            // mission = Encoding.UTF8.GetString(Convert.FromBase64String(mission));
            mission_name_list = mission.Split('\n').ToList();
            JObject spotinfo = JObject.Parse(File.ReadAllText(@"data/db/json/spot_info.json"));

            enemy_team_info       = JObject.Parse(File.ReadAllText(@"data/db/json/enemy_team_info.json"));
            enemy_character_info  = JObject.Parse(File.ReadAllText(@"data/db/json/enemy_character_type_info.json"));
            server_togglebtn.Text = Properties.Strings.serverstart;
            tabControl1.TabPages["informationpage"].Text   = Properties.Strings.tapPage_info;
            tabControl1.TabPages["dollsettingpage"].Text   = Properties.Strings.tapPage_gunsett;
            tabControl1.TabPages["equipsettingpage"].Text  = Properties.Strings.tapPage_equipsett;
            tabControl1.TabPages["fairysettingpage"].Text  = Properties.Strings.tapPage_fairysett;
            tabControl1.TabPages["serversettingpage"].Text = Properties.Strings.tapPage_serversett;
            tr_RX.Text = Properties.Strings.indicater_rx;
            tr_TX.Text = Properties.Strings.indicater_tx;
            //tabControl1.TabPages.Remove(tabControl1.TabPages[4]);
            ind_RX_timer.Start();
            ind_TX_timer.Start();
            serveripaddrtextbox.Text = GetLocalIP();
            gunNameCsv.AddRange(File.ReadAllLines("data/db/csv/guns.b64"));
            userdata = JObject.Parse(File.ReadAllText("data/db/json/userinfo.json"));
            homedata = JObject.Parse(File.ReadAllText("data/db/json/home.json"));
            JArray userdata_guninfo = JArray.Parse(userdata["gun_with_user_info"].ToString());

            gundb = JArray.Parse(File.ReadAllText("data/db/json/dolls.json"));
            gundb.Merge(JArray.Parse(File.ReadAllText("data/db/json/dolls_missing.json")));
            enemy_list_gridview.Columns[0].ValueType = typeof(int);
            foreach (string name in gunNameCsv)
            {
                string[] t = name.Split(',');
                if (t[0].StartsWith("gun-1"))
                {
                    gunNameID.Add(string.Format("{0},{1}", t[1], t[0].Substring(5)));
                }
            }
            foreach (JObject a in userdata_guninfo)
            {
                add_gun_list(a);
                GeneratedgunIDs.Add(Convert.ToInt32(a["id"]));
            }
            MicaSecurityTools.init();
            server_status_text.Text = "停止";
            #region datagridview 전역/적 정보 리스트 추가 부분
            foreach (var item in enemy_team_info)
            {
                string enemyID       = enemy_team_info[item.Key]["id"].ToString();
                string enemyLeaderID = enemy_team_info[enemyID]["enemy_leader"].ToString();

                //string membernames = string.Empty;
                JArray a = JArray.Parse(enemy_team_info[enemyID]["member_ids"].ToString());
                if (enemyLeaderID != "0")
                {
                    /*
                     * for(int i=0; i<a.Count; i++)
                     * {
                     *  string id = a[i].ToString();
                     *  if(enemy_character_info.ContainsKey(id))
                     *  {
                     *      if (i == a.Count - 1)
                     *          membernames += enemy_character_info[id]["code"].ToString();
                     *      else
                     *          membernames += enemy_character_info[id]["code"].ToString() + ",";
                     *  }
                     *  else
                     *  {
                     *      if (i == a.Count - 1)
                     *          membernames += id;
                     *      else
                     *          membernames += id + ",";
                     *  }
                     *
                     * }*/
                    string missionspotname = string.Empty;
                    if (int.Parse(enemy_team_info[enemyID]["spot_id"].ToString()) > 0)
                    {
                        missionspotname = CodeToMissionName(int.Parse(spotinfo[enemy_team_info[enemyID]["spot_id"].ToString()]["mission_id"].ToString()));
                    }
                    else
                    {
                        missionspotname = "-";
                    }
                    string[] enemyinfo = { enemyID,                                                   enemy_character_info[enemyLeaderID]["code"].ToString(), enemy_character_info[enemyLeaderID]["boss_hp"].ToString(),
                                           enemy_character_info[enemyLeaderID]["maxlife"].ToString(), missionspotname /*membernames*/ };
                    enemy_list_gridview.Rows.Add(enemyinfo);
                }
                //enemyGrpID.Add(enemyID);
                //enemy_team_id_combobox.Items.Add(enemyID);
            }
            bs.DataSource = enemy_list_gridview.DataSource;
            #endregion
        }