ソースを参照

编写版本文件生成工具

yuzhengyang 9 年 前
コミット
4572873a50

+ 544 - 0
Fork.Net/Oreo.NetMonitor/NewFolder1/NumenTCPPorts.dat

@@ -0,0 +1,544 @@
+TCP_1-TCP Port Service Multiplexer
+TCP_2-Death
+TCP_5-Remote Job Entry,yoyo
+TCP_7-Echo
+TCP_11-Skun
+TCP_12-Bomber
+TCP_16-Skun
+TCP_17-Skun
+TCP_18-消息传输协议,skun
+TCP_19-Skun
+TCP_20-FTP Data,Amanda
+TCP_21-文件传输,Back Construction,Blade Runner,Doly Trojan,Fore,FTP trojan,Invisible FTP,Larva, WebEx,WinCrash
+TCP_22-远程登录协议
+TCP_23-远程登录(Telnet),Tiny Telnet Server (- TTS)
+TCP_25-电子邮件(SMTP),Ajan,Antigen,Email Password Sender,Happy 99,Kuang2,ProMail trojan,Shtrilitz,Stealth,Tapiras,Terminator,WinPC,WinSpy,Haebu Coceda
+TCP_27-Assasin
+TCP_28-Amanda
+TCP_29-MSG ICP
+TCP_30-Agent 40421
+TCP_31-Agent 31,Hackers Paradise,Masters Paradise,Agent 40421
+TCP_37-Time,ADM worm
+TCP_39-SubSARI
+TCP_41-DeepThroat,Foreplay
+TCP_42-Host Name Server
+TCP_43-WHOIS
+TCP_44-Arctic
+TCP_48-DRAT
+TCP_49-主机登录协议
+TCP_50-DRAT
+TCP_51-IMP Logical Address Maintenance,Fuck Lamers Backdoor
+TCP_52-MuSka52,Skun
+TCP_53-DNS,Bonk (DOS Exploit)
+TCP_54-MuSka52
+TCP_58-DMSetup
+TCP_59-DMSetup
+TCP_63-whois++
+TCP_64-Communications Integrator
+TCP_65-TACACS-Database Service
+TCP_66-Oracle SQL*NET,AL-Bareki
+TCP_67-Bootstrap Protocol Server
+TCP_68-Bootstrap Protocol Client
+TCP_69-W32.Evala.Worm,BackGate Kit,Nimda,Pasana,Storm,Storm worm,Theef,Worm.Cycle.a
+TCP_70-Gopher服务,ADM worm
+TCP_79-用户查询(Finger),Firehotcker,ADM worm
+TCP_80-超文本服务器(Http),Executor,RingZero
+TCP_81-Chubo,Worm.Bbeagle.q
+TCP_82-Netsky-Z
+TCP_88-Kerberos krb5服务
+TCP_99-Hidden Port
+TCP_102-消息传输代理
+TCP_108-SNA网关访问服务器
+TCP_109-Pop2
+TCP_110-电子邮件(Pop3),ProMail
+TCP_113-Kazimas, Auther Idnet
+TCP_115-简单文件传输协议
+TCP_118-SQL Services, Infector 1.4.2
+TCP_119-新闻组传输协议(Newsgroup(Nntp)), Happy 99
+TCP_121-JammerKiller, Bo jammerkillah
+TCP_123-网络时间协议(NTP),Net Controller
+TCP_129-Password Generator Protocol
+TCP_133-Infector 1.x
+TCP_135-微软DCE RPC end-point mapper服务
+TCP_137-微软Netbios Name服务(网上邻居传输文件使用)
+TCP_138-微软Netbios Name服务(网上邻居传输文件使用)
+TCP_139-微软Netbios Name服务(用于文件及打印机共享)
+TCP_142-NetTaxi
+TCP_143-IMAP
+TCP_146-FC Infector,Infector
+TCP_150-NetBIOS Session Service
+TCP_156-SQL服务器
+TCP_161-Snmp
+TCP_162-Snmp-Trap
+TCP_170-A-Trojan
+TCP_177-X Display管理控制协议
+TCP_179-Border网关协议(BGP)
+TCP_190-网关访问控制协议(GACP)
+TCP_194-Irc
+TCP_197-目录定位服务(DLS)
+TCP_256-Nirvana
+TCP_315-The Invasor
+TCP_371-ClearCase版本管理软件
+TCP_389-Lightweight Directory Access Protocol (LDAP)
+TCP_396-Novell Netware over IP
+TCP_420-Breach
+TCP_421-TCP Wrappers
+TCP_443-安全服务
+TCP_444-Simple Network Paging Protocol(SNPP)
+TCP_445-Microsoft-DS
+TCP_455-Fatal Connections
+TCP_456-Hackers paradise,FuseSpark
+TCP_458-苹果公司QuickTime
+TCP_513-Grlogin
+TCP_514-RPC Backdoor
+TCP_520-Rip
+TCP_531-Rasmin,Net666
+TCP_544-kerberos kshell
+TCP_546-DHCP Client
+TCP_547-DHCP Server
+TCP_548-Macintosh文件服务
+TCP_555-Ini-Killer,Phase Zero,Stealth Spy
+TCP_569-MSN
+TCP_605-SecretService
+TCP_606-Noknok8
+TCP_660-DeepThroat
+TCP_661-Noknok8
+TCP_666-Attack FTP,Satanz Backdoor,Back Construction,Dark Connection Inside 1.2
+TCP_667-Noknok7.2
+TCP_668-Noknok6
+TCP_669-DP trojan
+TCP_692-GayOL
+TCP_707-Welchia
+TCP_777-AIM Spy
+TCP_808-RemoteControl,WinHole
+TCP_815-Everyone Darling
+TCP_901-Backdoor.Devil
+TCP_911-Dark Shadow
+TCP_993-IMAP
+TCP_999-DeepThroat
+TCP_1000-Der Spaeher
+TCP_1001-Silencer,WebEx,Der Spaeher
+TCP_1003-BackDoor
+TCP_1010-Doly
+TCP_1011-Doly
+TCP_1012-Doly
+TCP_1015-Doly
+TCP_1016-Doly
+TCP_1020-Vampire
+TCP_1023-Worm.Sasser.e
+TCP_1024-NetSpy.698(YAI)
+TCP_1025-NetSpy.698,Unused Windows Services Block
+TCP_1026-Unused Windows Services Block
+TCP_1027-Unused Windows Services Block
+TCP_1028-应用层网关服务
+TCP_1029-Unused Windows Services Block
+TCP_1030-Unused Windows Services Block
+TCP_1033-Netspy
+TCP_1035-Multidropper
+TCP_1042-Bla
+TCP_1045-Rasmin
+TCP_1047-GateCrasher
+TCP_1050-MiniCommand
+TCP_1058-nim
+TCP_1059-nimreg
+TCP_1069-Backdoor.TheefServer.202
+TCP_1070-Voice,Psyber Stream Server,Streaming Audio Trojan
+TCP_1079-ASPROVATalk
+TCP_1080-Wingate,Worm.BugBear.B,Worm.Novarg.B
+TCP_1090-Xtreme, VDOLive
+TCP_1092-LoveGate
+TCP_1095-Rat
+TCP_1097-Rat
+TCP_1098-Rat
+TCP_1099-Rat
+TCP_1109-Pop with Kerberos
+TCP_1110-nfsd-keepalive
+TCP_1111-Backdoor.AIMVision
+TCP_1155-Network File Access
+TCP_1170-Psyber Stream Server,Streaming Audio trojan,Voice
+TCP_1200-NoBackO
+TCP_1201-NoBackO
+TCP_1207-Softwar
+TCP_1212-Nirvana,Visul Killer
+TCP_1234-Ultors
+TCP_1243-BackDoor-G, SubSeven, SubSeven Apocalypse
+TCP_1245-VooDoo Doll
+TCP_1269-Mavericks Matrix
+TCP_1270-Microsoft Operations Manager
+TCP_1313-Nirvana
+TCP_1349-BioNet
+TCP_1352-Lotus Notes
+TCP_1433-Microsoft SQL服务
+TCP_1434-Microsoft SQL Monitor
+TCP_1441-Remote Storm
+TCP_1492-FTP99CMP(BackOriffice.FTP)
+TCP_1503-NetMeeting T.120
+TCP_1512-Microsoft Windows Internet Name Service
+TCP_1509-Psyber Streaming Server
+TCP_1570-Orbix Daemon
+TCP_1600-Shivka-Burka
+TCP_1703-Exloiter 1.1
+TCP_1720-NetMeeting H.233 call Setup
+TCP_1731-NetMeeting音频调用控制
+TCP_1745-ISA Server proxy autoconfig, Remote Winsock
+TCP_1801-Microsoft Message Queue
+TCP_1807-SpySender
+TCP_1990-stun-p1 cisco STUN Priority 1 port
+TCP_1991-stun-p2 cisco STUN Priority 2 port
+TCP_1992-stun-p3 cisco STUN Priority 3 port,ipsendmsg IPsendmsg
+TCP_1993-snmp-tcp-port cisco SNMP TCP port
+TCP_1994-stun-port cisco serial tunnel port
+TCP_1995-perf-port cisco perf port
+TCP_1996-tr-rsrb-port cisco Remote SRB port
+TCP_1997-gdp-port cisco Gateway Discovery Protocol
+TCP_1998-x25-svc-port cisco X.25 service (XOT)
+TCP_1999-BackDoor, TransScout
+TCP_2000-Der Spaeher,INsane Network
+TCP_2001-Transmisson scout
+TCP_2002-Transmisson scout,W32.Beagle.AX @mm
+TCP_2003-Transmisson scout
+TCP_2004-Transmisson scout
+TCP_2005-TTransmisson scout
+TCP_2011-cypress
+TCP_2015-raid-cs
+TCP_2023-Ripper,Pass Ripper,Hack City Ripper Pro
+TCP_2049-NFS
+TCP_2115-Bugs
+TCP_2121-Nirvana
+TCP_2140-Deep Throat, The Invasor
+TCP_2155-Nirvana
+TCP_2208-RuX
+TCP_2234-DirectPlay
+TCP_2255-Illusion Mailer
+TCP_2283-HVL Rat5
+TCP_2300-PC Explorer
+TCP_2311-Studio54
+TCP_2556-Worm.Bbeagle.q
+TCP_2565-Striker
+TCP_2583-WinCrash
+TCP_2600-Digital RootBeer
+TCP_2716-Prayer Trojan
+TCP_2745-Worm.BBeagle.k
+TCP_2773-Backdoor,SubSeven
+TCP_2774-SubSeven2.1&2.2
+TCP_2801-Phineas Phucker
+TCP_2967-SSC Agent
+TCP_2989-Rat
+TCP_3024-WinCrash trojan
+TCP_3074-Microsoft Xbox game port
+TCP_3127-Worm.Novarg
+TCP_3128-RingZero,Worm.Novarg.B
+TCP_3129-Masters Paradise
+TCP_3132-Microsoft Business Rule Engine Update Service
+TCP_3150-Deep Throat, The Invasor
+TCP_3198-Worm.Novarg
+TCP_3210-SchoolBus
+TCP_3268-Microsoft Global Catalog
+TCP_3269-Microsoft Global Catalog with LDAP/SSL
+TCP_3332-Worm.Cycle.a
+TCP_3333-Prosiak
+TCP_3335-Microsoft Class Server
+TCP_3389-超级终端
+TCP_3456-Terror
+TCP_3459-Eclipse 2000
+TCP_3700-Portal of Doom
+TCP_3791-Eclypse
+TCP_3801-Eclypse
+TCP_3847-Microsoft Firewall Control
+TCP_3996-Portal of Doom,RemoteAnything
+TCP_4000-腾讯QQ客户端
+TCP_4060-Portal of Doom,RemoteAnything
+TCP_4092-WinCrash
+TCP_4242-VHM
+TCP_4267-SubSeven2.1&2.2
+TCP_4321-BoBo
+TCP_4350-Net Device
+TCP_4444-Prosiak,Swift remote
+TCP_4500-Microsoft IPsec NAT-T,W32.HLLW.Tufas
+TCP_4567-File Nail
+TCP_4590-ICQTrojan
+TCP_4661-Backdoor/Surila.f
+TCP_4899-Remote Administrator服务器
+TCP_4950-ICQTrojan
+TCP_5000-WindowsXP服务器,Blazer 5,Bubbel,Back Door Setup,Sockets de Troie
+TCP_5001-Back Door Setup, Sockets de Troie
+TCP_5002-cd00r,Shaft
+TCP_5011-One of the Last Trojans (OOTLT)
+TCP_5025-WM Remote KeyLogger
+TCP_5031-Firehotcker,Metropolitan,NetMetro
+TCP_5032-Metropolitan
+TCP_5190-ICQ Query
+TCP_5321-Firehotcker
+TCP_5333-Backage Trojan Box 3
+TCP_5343-WCrat
+TCP_5400-Blade Runner, BackConstruction1.2
+TCP_5401-Blade Runner,Back Construction
+TCP_5402-Blade Runner,Back Construction
+TCP_5471-WinCrash
+TCP_5512-Illusion Mailer
+TCP_5521-Illusion Mailer
+TCP_5550-Xtcp,INsane Network
+TCP_5554-Worm.Sasser
+TCP_5555-ServeMe
+TCP_5556-BO Facil
+TCP_5557-BO Facil
+TCP_5569-Robo-Hack
+TCP_5598-BackDoor 2.03
+TCP_5631-PCAnyWhere data
+TCP_5632-PCAnyWhere
+TCP_5637-PC Crasher
+TCP_5638-PC Crasher
+TCP_5678-Remote Replication Agent Connection
+TCP_5679-Direct Cable Connect Manager
+TCP_5698-BackDoor
+TCP_5714-Wincrash3
+TCP_5720-Microsoft Licensing
+TCP_5741-WinCrash3
+TCP_5742-WinCrash
+TCP_5760-Portmap Remote Root Linux Exploit
+TCP_5880-Y3K RAT
+TCP_5881-Y3K RAT
+TCP_5882-Y3K RAT
+TCP_5888-Y3K RAT
+TCP_5889-Y3K RAT
+TCP_5900-WinVnc,Wise VGA广播端口
+TCP_6000-Backdoor.AB
+TCP_6006-Noknok8
+TCP_6073-DirectPlay8
+TCP_6129-Dameware Nt Utilities服务器
+TCP_6272-SecretService
+TCP_6267-广外女生
+TCP_6400-Backdoor.AB,The Thing
+TCP_6500-Devil 1.03
+TCP_6661-Teman
+TCP_6666-TCPshell.c
+TCP_6667-NT Remote Control,Wise 播放器接收端口
+TCP_6668-Wise Video广播端口
+TCP_6669-Vampyre
+TCP_6670-DeepThroat,iPhone
+TCP_6671-Deep Throat 3.0
+TCP_6711-SubSeven
+TCP_6712-SubSeven1.x
+TCP_6713-SubSeven
+TCP_6723-Mstream
+TCP_6767-NT Remote Control
+TCP_6771-DeepThroat
+TCP_6776-BackDoor-G,SubSeven,2000 Cracks
+TCP_6777-Worm.BBeagle
+TCP_6789-Doly Trojan
+TCP_6838-Mstream
+TCP_6883-DeltaSource
+TCP_6912-Shit Heep
+TCP_6939-Indoctrination
+TCP_6969-GateCrasher, Priority, IRC 3
+TCP_6970-RealAudio,GateCrasher
+TCP_7000-Remote Grab,NetMonitor,SubSeven1.x
+TCP_7001-Freak88,Freak2k
+TCP_7201-NetMonitor
+TCP_7215-BackDoor-G, SubSeven
+TCP_7300-NetMonitor
+TCP_7301-NetMonitor
+TCP_7306-NetMonitor,NetSpy 1.0
+TCP_7307-NetMonitor, ProcSpy
+TCP_7308-NetMonitor, X Spy
+TCP_7323-Sygate服务器端
+TCP_7424-Host Control
+TCP_7511-聪明基因
+TCP_7597-Qaz
+TCP_7609-Snid X2
+TCP_7626-冰河
+TCP_7777-The Thing
+TCP_7789-Back Door Setup, ICQKiller
+TCP_7983-Mstream
+TCP_8000-腾讯OICQ服务器端,XDMA
+TCP_8010-Wingate,Logfile
+TCP_8011-WAY2.4
+TCP_8080-WWW 代理,Ring Zero,Chubo,Worm.Novarg.B
+TCP_8102-网络神偷
+TCP_8181-W32.Erkez.D@mm
+TCP_8520-W32.Socay.Worm
+TCP_8594-I-Worm/Bozori.a
+TCP_8787-BackOfrice 2000
+TCP_8888-Winvnc
+TCP_8897-Hack Office,Armageddon
+TCP_8989-Recon
+TCP_9000-Netministrator
+TCP_9325-Mstream
+TCP_9400-InCommand 1.0
+TCP_9401-InCommand 1.0
+TCP_9402-InCommand 1.0
+TCP_9535-Remote Man Server
+TCP_9872-Portal of Doom
+TCP_9873-Portal of Doom
+TCP_9874-Portal of Doom
+TCP_9875-Portal of Doom
+TCP_9876-Cyber Attacker
+TCP_9878-TransScout
+TCP_9889-Ini-Killer
+TCP_9898-Worm.Win32.Dabber.a
+TCP_9999-Prayer Trojan
+TCP_10067-Portal of Doom
+TCP_10080-Worm.Novarg.B
+TCP_10084-Syphillis
+TCP_10085-Syphillis
+TCP_10086-Syphillis
+TCP_10101-BrainSpy
+TCP_10167-Portal Of Doom
+TCP_10168-Worm.Supnot.78858.c,Worm.LovGate.T
+TCP_10520-Acid Shivers
+TCP_10607-Coma trojan
+TCP_10666-Ambush
+TCP_11000-Senna Spy
+TCP_11050-Host Control
+TCP_11051-Host Control
+TCP_11223-Progenic,Hack '99KeyLogger
+TCP_11320-IMIP Channels Port
+TCP_11831-TROJ_LATINUS.SVR
+TCP_12076-Gjamer, MSH.104b
+TCP_12223-Hack'99 KeyLogger
+TCP_12345-GabanBus, NetBus 1.6/1.7, Pie Bill Gates, X-bill
+TCP_12346-GabanBus, NetBus 1.6/1.7, X-bill
+TCP_12349-BioNet
+TCP_12361-Whack-a-mole
+TCP_12362-Whack-a-mole
+TCP_12363-Whack-a-mole
+TCP_12378-W32/Gibe@MM
+TCP_12456-NetBus
+TCP_12623-DUN Control
+TCP_12624-Buttman
+TCP_12631-WhackJob, WhackJob.NB1.7
+TCP_12701-Eclipse2000
+TCP_12754-Mstream
+TCP_13000-Senna Spy
+TCP_13010-Hacker Brazil
+TCP_13013-Psychward
+TCP_13223-Tribal Voice的聊天程序PowWow
+TCP_13700-Kuang2 The Virus
+TCP_14456-Solero
+TCP_14500-PC Invader
+TCP_14501-PC Invader
+TCP_14502-PC Invader
+TCP_14503-PC Invader
+TCP_15000-NetDaemon 1.0
+TCP_15092-Host Control
+TCP_15104-Mstream
+TCP_16484-Mosucker
+TCP_16660-Stacheldraht (DDoS)
+TCP_16772-ICQ Revenge
+TCP_16959-Priority
+TCP_16969-Priority
+TCP_17027-提供广告服务的Conducent"adbot"共享软件
+TCP_17166-Mosaic
+TCP_17300-Kuang2 The Virus
+TCP_17490-CrazyNet
+TCP_17500-CrazyNet
+TCP_17569-Infector 1.4.x + 1.6.x
+TCP_17777-Nephron
+TCP_18753-Shaft (DDoS)
+TCP_19191-蓝色火焰
+TCP_19864-ICQ Revenge
+TCP_20000-Millennium II (GrilFriend)
+TCP_20001-Millennium II (GrilFriend)
+TCP_20002-AcidkoR
+TCP_20034-NetBus 2 Pro
+TCP_20168-Lovgate
+TCP_20203-Logged,Chupacabra
+TCP_20331-Bla
+TCP_20432-Shaft (DDoS)
+TCP_20808-Worm.LovGate.v.QQ
+TCP_21335-Tribal Flood Network,Trinoo
+TCP_21544-Schwindler 1.82,GirlFriend
+TCP_21554-Schwindler 1.82,GirlFriend,Exloiter 1.0.1.2
+TCP_22222-Prosiak,RuX Uploader 2.0
+TCP_22784-Backdoor.Intruzzo
+TCP_23432-Asylum 0.1.3
+TCP_23444-网络公牛
+TCP_23456-Evil FTP, Ugly FTP, WhackJob
+TCP_23476-Donald Dick
+TCP_23477-Donald Dick
+TCP_23777-INet Spy
+TCP_26274-Delta
+TCP_26681-Spy Voice
+TCP_27374-Sub Seven 2.0+, Backdoor.Baste
+TCP_27444-Tribal Flood Network,Trinoo
+TCP_27665-Tribal Flood Network,Trinoo
+TCP_29104-Host Control
+TCP_29431-Hack Attack
+TCP_29432-Hack Attack
+TCP_29559-TROJ_LATINUS.SVR
+TCP_29891-The Unexplained
+TCP_30001-Terr0r32
+TCP_30003-Death,Lamers Death
+TCP_30029-AOL trojan
+TCP_30100-NetSphere 1.27a,NetSphere 1.31
+TCP_30101-NetSphere 1.31,NetSphere 1.27a
+TCP_30102-NetSphere 1.27a,NetSphere 1.31
+TCP_30103-NetSphere 1.31
+TCP_30303-Sockets de Troie
+TCP_30722-W32.Esbot.A
+TCP_30947-Intruse
+TCP_30999-Kuang2
+TCP_31336-Bo Whack
+TCP_31337-Baron Night,BO client,BO2,Bo Facil,BackFire,Back Orifice,DeepBO,Freak2k,NetSpy
+TCP_31338-NetSpy,Back Orifice,DeepBO
+TCP_31339-NetSpy DK
+TCP_31554-Schwindler
+TCP_31666-BOWhack
+TCP_31778-Hack Attack
+TCP_31785-Hack Attack
+TCP_31787-Hack Attack
+TCP_31789-Hack Attack
+TCP_31791-Hack Attack
+TCP_31792-Hack Attack
+TCP_32100-PeanutBrittle
+TCP_32418-Acid Battery
+TCP_33333-Prosiak,Blakharaz 1.0
+TCP_33577-Son Of Psychward
+TCP_33777-Son Of Psychward
+TCP_33911-Spirit 2001a
+TCP_34324-BigGluck,TN,Tiny Telnet Server
+TCP_34555-Trin00 (Windows) (DDoS)
+TCP_35555-Trin00 (Windows) (DDoS)
+TCP_36794-Worm.Bugbear-A
+TCP_37651-YAT
+TCP_40412-The Spy
+TCP_40421-Agent 40421,Masters Paradise.96
+TCP_40422-Masters Paradise
+TCP_40423-Masters Paradise.97
+TCP_40425-Masters Paradise
+TCP_40426-Masters Paradise 3.x
+TCP_41666-Remote Boot
+TCP_43210-Schoolbus 1.6/2.0
+TCP_44444-Delta Source
+TCP_44445-Happypig
+TCP_45576-未知代理
+TCP_47252-Prosiak
+TCP_47262-Delta
+TCP_47878-BirdSpy2
+TCP_49301-Online Keylogger
+TCP_50505-Sockets de Troie
+TCP_50766-Fore, Schwindler
+TCP_51966-CafeIni
+TCP_53001-Remote Windows Shutdown
+TCP_53217-Acid Battery 2000
+TCP_54283-Back Door-G, Sub7
+TCP_54320-Back Orifice 2000,Sheep
+TCP_54321-School Bus .69-1.11,Sheep, BO2K
+TCP_57341-NetRaider
+TCP_58008-BackDoor.Tron
+TCP_58009-BackDoor.Tron
+TCP_58339-ButtFunnel
+TCP_59211-BackDoor.DuckToy
+TCP_60000-Deep Throat
+TCP_60068-Xzip 6000068
+TCP_60411-Connection
+TCP_60606-TROJ_BCKDOR.G2.A
+TCP_61466-Telecommando
+TCP_61603-Bunker-kill
+TCP_63485-Bunker-kill
+TCP_65000-Devil, DDoS
+TCP_65432-Th3tr41t0r, The Traitor
+TCP_65530-TROJ_WINMITE.10
+TCP_65535-RC,Adore Worm/Linux
+TCP_69123-ShitHeep
+TCP_88798-Armageddon,Hack Office

+ 148 - 0
Fork.Net/Oreo.NetMonitor/NewFolder1/NumenUDPPorts.dat

@@ -0,0 +1,148 @@
+UDP_1-Sockets des Troie
+UDP_9-Chargen
+UDP_19-Chargen
+UDP_69-Pasana
+UDP_80-Penrox
+UDP_371-ClearCase版本管理软件
+UDP_445-公共Internet文件系统(CIFS)
+UDP_500-Internet密钥交换
+UDP_1025-Maverick's Matrix 1.2 - 2.0
+UDP_1026-Remote Explorer 2000
+UDP_1027-HP服务,UC聊天软件,Trojan.Huigezi.e
+UDP_1028-应用层网关服务,KiLo,SubSARI
+UDP_1029-SubSARI
+UDP_1031-Xot
+UDP_1032-Akosch4
+UDP_1104-RexxRave
+UDP_1111-Daodan
+UDP_1116-Lurker
+UDP_1122-Last 2000,Singularity
+UDP_1183-Cyn,SweetHeart
+UDP_1200-NoBackO
+UDP_1201-NoBackO
+UDP_1342-BLA trojan
+UDP_1344-Ptakks
+UDP_1349-BO dll
+UDP_1512-Microsoft Windows Internet Name Service
+UDP_1561-MuSka52
+UDP_1772-NetControle
+UDP_1801-Microsoft Message Queue
+UDP_1978-Slapper
+UDP_1985-Black Diver
+UDP_2000-A-trojan,Fear,Force,GOTHIC Intruder,Last 2000,Real 2000
+UDP_2001-Scalper
+UDP_2002-Slapper
+UDP_2015-raid-cs
+UDP_2018-rellpack
+UDP_2130-Mini BackLash
+UDP_2140-Deep Throat,Foreplay,The Invasor
+UDP_2222-SweetHeart,Way,Backdoor/Mifeng.t
+UDP_2234-DirectPlay
+UDP_2339-Voice Spy
+UDP_2702-Black Diver
+UDP_2989-RAT
+UDP_3074-Microsoft Xbox game port
+UDP_3132-Microsoft Business Rule Engine Update Service
+UDP_3150-Deep Throat
+UDP_3215-XHX
+UDP_3268-Microsoft Global Catalog
+UDP_3269-Microsoft Global Catalog with LDAP/SSL
+UDP_3333-Daodan
+UDP_3535-Microsoft Class Server
+UDP_3801-Eclypse
+UDP_3996-Remote Anything
+UDP_4128-RedShad
+UDP_4156-Slapper
+UDP_4350-Net Device
+UDP_4500-Microsoft IPsec NAT-T, sae-urn
+UDP_5419-DarkSky
+UDP_5503-Remote Shell Trojan
+UDP_5555-Daodan
+UDP_5678-Remote Replication Agent Connection
+UDP_5679-Direct Cable Connect Manager
+UDP_5720-Microsoft Licensing
+UDP_5882-Y3K RAT
+UDP_5888-Y3K RAT
+UDP_6073-DirectPlay8
+UDP_6112-Battle.net Game
+UDP_6666-KiLo
+UDP_6667-KiLo
+UDP_6766-KiLo
+UDP_6767-KiLo,UandMe
+UDP_6838-Mstream Agent-handler
+UDP_7028-未知木马
+UDP_7424-Host Control
+UDP_7788-Singularity
+UDP_7983-MStream handler-agent
+UDP_8012-Ptakks
+UDP_8090-Aphex's Remote Packet Sniffer
+UDP_8127-9_119,Chonker
+UDP_8488-KiLo
+UDP_8489-KiLo
+UDP 8787-BackOrifice 2000
+UDP 8879-BackOrifice 2000
+UDP 9325-MStream Agent-handler
+UDP 10000-XHX
+UDP 10067-Portal of Doom
+UDP 10084-Syphillis
+UDP 10100-Slapper
+UDP 10167-Portal of Doom
+UDP 10498-Mstream
+UDP 10666-Ambush
+UDP 11225-Cyn
+UDP 12321-Protoss
+UDP 12345-BlueIce 2000
+UDP 12378-W32/Gibe@MM
+UDP 12623-ButtMan,DUN Control
+UDP 11320-IMIP Channels Port
+UDP 15210-UDP remote shell backdoor server
+UDP 15486-KiLo
+UDP 16514-KiLo
+UDP 16515-KiLo
+UDP 18753-Shaft handler to Agent
+UDP 20433-Shaft
+UDP 21554-GirlFriend
+UDP 22784-Backdoor.Intruzzo
+UDP 23476-Donald Dick
+UDP 25123-MOTD
+UDP 26274-Delta Source
+UDP 26374-Sub-7 2.1
+UDP 26444-Trin00/TFN2K
+UDP 26573-Sub-7 2.1
+UDP 27184-Alvgus trojan 2000
+UDP 27444-Trinoo
+UDP 29589-KiLo
+UDP 29891-The Unexplained
+UDP 30103-NetSphere
+UDP 31320-Little Witch
+UDP 31335-Trin00 DoS Attack
+UDP 31337-Baron Night, BO client, BO2, Bo Facil, BackFire, Back Orifice, DeepBO
+UDP 31338-Back Orifice, NetSpy DK, DeepBO
+UDP 31339-Little Witch
+UDP 31340-Little Witch
+UDP 31416-Lithium
+UDP 31787-Hack aTack
+UDP 31789-Hack aTack
+UDP 31790-Hack aTack
+UDP 31791-Hack aTack
+UDP 33390-未知木马
+UDP 34555-Trinoo
+UDP 35555-Trinoo
+UDP 43720-KiLo
+UDP 44014-Iani
+UDP 44767-School Bus
+UDP 46666-Taskman
+UDP 47262-Delta Source
+UDP 47624-Direct Play Server
+UDP 47785-KiLo
+UDP 49301-OnLine keyLogger
+UDP 49683-Fenster
+UDP 49698-KiLo
+UDP 52901-Omega
+UDP 54320-Back Orifice
+UDP 54321-Back Orifice 2000
+UDP 54341-NetRaider Trojan
+UDP 61746-KiLO
+UDP 61747-KiLO
+UDP 61748-KiLO
+UDP 65432-The Traitor

+ 2 - 0
Fork.Net/Oreo.NetMonitor/Oreo.NetMonitor.csproj

@@ -123,6 +123,8 @@
     <EmbeddedResource Include="Views\TestForm.resx">
       <DependentUpon>TestForm.cs</DependentUpon>
     </EmbeddedResource>
+    <None Include="NewFolder1\NumenTCPPorts.dat" />
+    <None Include="NewFolder1\NumenUDPPorts.dat" />
     <None Include="Properties\app.manifest" />
     <None Include="packages.config" />
     <None Include="Properties\Settings.settings">

+ 25 - 0
Fork.Net/Oreo.VersionBuilder/Commons/P.cs

@@ -0,0 +1,25 @@
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Y.Utils.IOUtils.LogUtils;
+
+namespace Oreo.VersionBuilder.Commons
+{
+    public static class P
+    {
+        public static void Init()
+        {
+            InitLog();
+        }
+
+        static void InitLog()
+        {
+            R.Log = new Log();
+            R.Log.SetWriteFile(true, "Oreo.CleverDog.Log");
+            R.Log.LogLevel = LogLevel.All;
+        }
+    }
+}

+ 31 - 0
Fork.Net/Oreo.VersionBuilder/Commons/R.cs

@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using Y.Utils.IOUtils.LogUtils;
+
+namespace Oreo.VersionBuilder.Commons
+{
+    public static class R
+    {
+        internal static string AppName = "Oreo.VersionBuilder";
+        internal static DateTime StartTime = DateTime.Now;
+        internal static string MachineName = Environment.MachineName;
+        internal static Module Module = Assembly.GetExecutingAssembly().GetModules()[0];
+        internal static Log Log { get; set; }
+        internal static string AesKey = "yuzhengyangyuzhengyang0000000000";
+
+        public static class Paths
+        {
+            public static string App = AppDomain.CurrentDomain.BaseDirectory;
+            public static string VersionFile = App + "VersionFile\\";
+        }
+        public static class Files
+        {
+            public static string App = Application.ExecutablePath;
+        }
+    }
+}

+ 6 - 6
Fork.Net/Oreo.VersionBuilder/Models/VersionModel.cs

@@ -19,22 +19,22 @@
         /// </summary>
         public string ServerPath { get; set; }
         /// <summary>
-        /// 更新前 关闭进程
-        /// </summary>
-        public string[] BeforeUpdateKillProcess { get; set; }
-        /// <summary>
         /// 更新前 启动进程
         /// </summary>
         public string[] BeforeUpdateStartProcess { get; set; }
         /// <summary>
-        /// 更新 关闭进程
+        /// 更新 关闭进程
         /// </summary>
-        public string[] AfterUpdateKillProcess { get; set; }
+        public string[] BeforeUpdateKillProcess { get; set; }
         /// <summary>
         /// 更新后 启动进程
         /// </summary>
         public string[] AfterUpdateStartProcess { get; set; }
         /// <summary>
+        /// 更新后 关闭进程
+        /// </summary>
+        public string[] AfterUpdateKillProcess { get; set; }
+        /// <summary>
         /// 文件列表
         /// </summary>
         public VersionFile[] FileList { get; set; }

+ 2 - 0
Fork.Net/Oreo.VersionBuilder/Oreo.VersionBuilder.csproj

@@ -55,6 +55,8 @@
     </Reference>
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="Commons\P.cs" />
+    <Compile Include="Commons\R.cs" />
     <Compile Include="Models\VersionModel.cs" />
     <Compile Include="Program.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />

+ 3 - 1
Fork.Net/Oreo.VersionBuilder/Program.cs

@@ -1,4 +1,5 @@
-using Oreo.VersionBuilder.Views;
+using Oreo.VersionBuilder.Commons;
+using Oreo.VersionBuilder.Views;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -15,6 +16,7 @@ namespace Oreo.VersionBuilder
         [STAThread]
         static void Main()
         {
+            P.Init();
             Application.EnableVisualStyles();
             Application.SetCompatibleTextRenderingDefault(false);
             Application.Run(new MainForm());

+ 521 - 147
Fork.Net/Oreo.VersionBuilder/Views/MainForm.Designer.cs

@@ -28,210 +28,584 @@
         /// </summary>
         private void InitializeComponent()
         {
-            this.button1 = new System.Windows.Forms.Button();
-            this.textBox1 = new System.Windows.Forms.TextBox();
-            this.textBox2 = new System.Windows.Forms.TextBox();
-            this.label1 = new System.Windows.Forms.Label();
-            this.label2 = new System.Windows.Forms.Label();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
+            this.TbVersionDesc = new System.Windows.Forms.TextBox();
             this.label3 = new System.Windows.Forms.Label();
+            this.label2 = new System.Windows.Forms.Label();
+            this.label1 = new System.Windows.Forms.Label();
+            this.TbVersionNumber = new System.Windows.Forms.TextBox();
+            this.TbCodeName = new System.Windows.Forms.TextBox();
+            this.label12 = new System.Windows.Forms.Label();
+            this.dataGridView1 = new System.Windows.Forms.DataGridView();
+            this.TbPluginEntry = new System.Windows.Forms.TextBox();
+            this.TbPluginName = new System.Windows.Forms.TextBox();
+            this.CbIsPlugin = new System.Windows.Forms.CheckBox();
+            this.label11 = new System.Windows.Forms.Label();
+            this.label10 = new System.Windows.Forms.Label();
+            this.label9 = new System.Windows.Forms.Label();
+            this.TbServerPath = new System.Windows.Forms.TextBox();
             this.label4 = new System.Windows.Forms.Label();
-            this.label5 = new System.Windows.Forms.Label();
-            this.label6 = new System.Windows.Forms.Label();
-            this.label7 = new System.Windows.Forms.Label();
+            this.TbAfterUpdateKillProcess = new System.Windows.Forms.TextBox();
+            this.TbAfterUpdateStartProcess = new System.Windows.Forms.TextBox();
+            this.TbBeforeUpdateKillProcess = new System.Windows.Forms.TextBox();
+            this.TbBeforeUpdateStartProcess = new System.Windows.Forms.TextBox();
             this.label8 = new System.Windows.Forms.Label();
-            this.textBox3 = new System.Windows.Forms.TextBox();
-            this.textBox4 = new System.Windows.Forms.TextBox();
-            this.textBox5 = new System.Windows.Forms.TextBox();
-            this.textBox6 = new System.Windows.Forms.TextBox();
-            this.textBox7 = new System.Windows.Forms.TextBox();
-            this.textBox8 = new System.Windows.Forms.TextBox();
+            this.label7 = new System.Windows.Forms.Label();
+            this.label6 = new System.Windows.Forms.Label();
+            this.label5 = new System.Windows.Forms.Label();
+            this.MsMain = new System.Windows.Forms.MenuStrip();
+            this.文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.新建ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.打开ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
+            this.退出ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.生成ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.statusStrip1 = new System.Windows.Forms.StatusStrip();
+            this.生成配置ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.生成配置到指定目录ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
+            this.打开默认配置目录ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.帮助ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.查看帮助ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.PnMain = new System.Windows.Forms.Panel();
+            this.groupBox1 = new System.Windows.Forms.GroupBox();
+            this.groupBox2 = new System.Windows.Forms.GroupBox();
+            this.groupBox3 = new System.Windows.Forms.GroupBox();
+            this.ClServer = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.ClLocal = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.ClUpdate = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+            this.ClDelete = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+            this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
+            this.toolStripProgressBar1 = new System.Windows.Forms.ToolStripProgressBar();
+            this.toolStripStatusLabel2 = new System.Windows.Forms.ToolStripStatusLabel();
+            ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
+            this.MsMain.SuspendLayout();
+            this.statusStrip1.SuspendLayout();
+            this.PnMain.SuspendLayout();
+            this.groupBox1.SuspendLayout();
+            this.groupBox2.SuspendLayout();
+            this.groupBox3.SuspendLayout();
             this.SuspendLayout();
             // 
-            // button1
-            // 
-            this.button1.Location = new System.Drawing.Point(211, 409);
-            this.button1.Name = "button1";
-            this.button1.Size = new System.Drawing.Size(75, 23);
-            this.button1.TabIndex = 0;
-            this.button1.Text = "button1";
-            this.button1.UseVisualStyleBackColor = true;
-            // 
-            // textBox1
+            // TbVersionDesc
             // 
-            this.textBox1.Location = new System.Drawing.Point(118, 6);
-            this.textBox1.Name = "textBox1";
-            this.textBox1.Size = new System.Drawing.Size(100, 21);
-            this.textBox1.TabIndex = 1;
+            this.TbVersionDesc.Location = new System.Drawing.Point(99, 97);
+            this.TbVersionDesc.Multiline = true;
+            this.TbVersionDesc.Name = "TbVersionDesc";
+            this.TbVersionDesc.Size = new System.Drawing.Size(367, 149);
+            this.TbVersionDesc.TabIndex = 17;
             // 
-            // textBox2
-            // 
-            this.textBox2.Location = new System.Drawing.Point(118, 35);
-            this.textBox2.Name = "textBox2";
-            this.textBox2.Size = new System.Drawing.Size(100, 21);
-            this.textBox2.TabIndex = 2;
-            // 
-            // label1
+            // label3
             // 
-            this.label1.AutoSize = true;
-            this.label1.Location = new System.Drawing.Point(12, 9);
-            this.label1.Name = "label1";
-            this.label1.Size = new System.Drawing.Size(53, 12);
-            this.label1.TabIndex = 3;
-            this.label1.Text = "更新代号";
+            this.label3.AutoSize = true;
+            this.label3.Location = new System.Drawing.Point(18, 100);
+            this.label3.Name = "label3";
+            this.label3.Size = new System.Drawing.Size(65, 12);
+            this.label3.TabIndex = 16;
+            this.label3.Text = "版本描述:";
             // 
             // label2
             // 
             this.label2.AutoSize = true;
-            this.label2.Location = new System.Drawing.Point(12, 38);
+            this.label2.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.label2.Location = new System.Drawing.Point(20, 65);
             this.label2.Name = "label2";
-            this.label2.Size = new System.Drawing.Size(41, 12);
-            this.label2.TabIndex = 4;
-            this.label2.Text = "版本号";
+            this.label2.Size = new System.Drawing.Size(53, 12);
+            this.label2.TabIndex = 15;
+            this.label2.Text = "版本号";
             // 
-            // label3
+            // label1
             // 
-            this.label3.AutoSize = true;
-            this.label3.Location = new System.Drawing.Point(12, 67);
-            this.label3.Name = "label3";
-            this.label3.Size = new System.Drawing.Size(53, 12);
-            this.label3.TabIndex = 5;
-            this.label3.Text = "版本描述";
+            this.label1.AutoSize = true;
+            this.label1.Location = new System.Drawing.Point(20, 30);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(65, 12);
+            this.label1.TabIndex = 14;
+            this.label1.Text = "更新代号:";
+            // 
+            // TbVersionNumber
+            // 
+            this.TbVersionNumber.Location = new System.Drawing.Point(101, 62);
+            this.TbVersionNumber.Name = "TbVersionNumber";
+            this.TbVersionNumber.Size = new System.Drawing.Size(215, 21);
+            this.TbVersionNumber.TabIndex = 13;
+            // 
+            // TbCodeName
+            // 
+            this.TbCodeName.Location = new System.Drawing.Point(101, 27);
+            this.TbCodeName.Name = "TbCodeName";
+            this.TbCodeName.Size = new System.Drawing.Size(215, 21);
+            this.TbCodeName.TabIndex = 12;
+            // 
+            // label12
+            // 
+            this.label12.AutoSize = true;
+            this.label12.Location = new System.Drawing.Point(18, 144);
+            this.label12.Name = "label12";
+            this.label12.Size = new System.Drawing.Size(89, 12);
+            this.label12.TabIndex = 30;
+            this.label12.Text = "更新文件列表:";
+            // 
+            // dataGridView1
+            // 
+            this.dataGridView1.AllowUserToAddRows = false;
+            this.dataGridView1.AllowUserToDeleteRows = false;
+            this.dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
+            dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Control;
+            dataGridViewCellStyle3.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText;
+            dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+            this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle3;
+            this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
+            this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.ClServer,
+            this.ClLocal,
+            this.ClUpdate,
+            this.ClDelete});
+            this.dataGridView1.Location = new System.Drawing.Point(20, 170);
+            this.dataGridView1.Name = "dataGridView1";
+            this.dataGridView1.ReadOnly = true;
+            this.dataGridView1.RowHeadersVisible = false;
+            this.dataGridView1.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
+            this.dataGridView1.RowTemplate.Height = 23;
+            this.dataGridView1.Size = new System.Drawing.Size(521, 388);
+            this.dataGridView1.TabIndex = 29;
+            // 
+            // TbPluginEntry
+            // 
+            this.TbPluginEntry.Location = new System.Drawing.Point(155, 108);
+            this.TbPluginEntry.Name = "TbPluginEntry";
+            this.TbPluginEntry.Size = new System.Drawing.Size(213, 21);
+            this.TbPluginEntry.TabIndex = 28;
+            // 
+            // TbPluginName
+            // 
+            this.TbPluginName.Location = new System.Drawing.Point(155, 80);
+            this.TbPluginName.Name = "TbPluginName";
+            this.TbPluginName.Size = new System.Drawing.Size(213, 21);
+            this.TbPluginName.TabIndex = 27;
+            // 
+            // CbIsPlugin
+            // 
+            this.CbIsPlugin.AutoSize = true;
+            this.CbIsPlugin.Location = new System.Drawing.Point(155, 57);
+            this.CbIsPlugin.Name = "CbIsPlugin";
+            this.CbIsPlugin.Size = new System.Drawing.Size(15, 14);
+            this.CbIsPlugin.TabIndex = 26;
+            this.CbIsPlugin.UseVisualStyleBackColor = true;
+            // 
+            // label11
+            // 
+            this.label11.AutoSize = true;
+            this.label11.Location = new System.Drawing.Point(18, 112);
+            this.label11.Name = "label11";
+            this.label11.Size = new System.Drawing.Size(89, 12);
+            this.label11.TabIndex = 25;
+            this.label11.Text = "插件入口文件:";
+            // 
+            // label10
+            // 
+            this.label10.AutoSize = true;
+            this.label10.Location = new System.Drawing.Point(18, 85);
+            this.label10.Name = "label10";
+            this.label10.Size = new System.Drawing.Size(65, 12);
+            this.label10.TabIndex = 24;
+            this.label10.Text = "插件名称:";
+            // 
+            // label9
+            // 
+            this.label9.AutoSize = true;
+            this.label9.Location = new System.Drawing.Point(18, 58);
+            this.label9.Name = "label9";
+            this.label9.Size = new System.Drawing.Size(65, 12);
+            this.label9.TabIndex = 23;
+            this.label9.Text = "独立插件:";
+            // 
+            // TbServerPath
+            // 
+            this.TbServerPath.Location = new System.Drawing.Point(155, 28);
+            this.TbServerPath.Name = "TbServerPath";
+            this.TbServerPath.Size = new System.Drawing.Size(213, 21);
+            this.TbServerPath.TabIndex = 14;
             // 
             // label4
             // 
             this.label4.AutoSize = true;
-            this.label4.Location = new System.Drawing.Point(12, 200);
+            this.label4.Location = new System.Drawing.Point(18, 31);
             this.label4.Name = "label4";
-            this.label4.Size = new System.Drawing.Size(101, 12);
-            this.label4.TabIndex = 6;
-            this.label4.Text = "服务器文件根目录";
+            this.label4.Size = new System.Drawing.Size(113, 12);
+            this.label4.TabIndex = 13;
+            this.label4.Text = "服务器文件根目录";
             // 
-            // label5
+            // TbAfterUpdateKillProcess
             // 
-            this.label5.AutoSize = true;
-            this.label5.Location = new System.Drawing.Point(12, 229);
-            this.label5.Name = "label5";
-            this.label5.Size = new System.Drawing.Size(89, 12);
-            this.label5.TabIndex = 7;
-            this.label5.Text = "更新前启动进程";
+            this.TbAfterUpdateKillProcess.Location = new System.Drawing.Point(135, 240);
+            this.TbAfterUpdateKillProcess.Multiline = true;
+            this.TbAfterUpdateKillProcess.Name = "TbAfterUpdateKillProcess";
+            this.TbAfterUpdateKillProcess.Size = new System.Drawing.Size(242, 51);
+            this.TbAfterUpdateKillProcess.TabIndex = 24;
             // 
-            // label6
+            // TbAfterUpdateStartProcess
             // 
-            this.label6.AutoSize = true;
-            this.label6.Location = new System.Drawing.Point(12, 258);
-            this.label6.Name = "label6";
-            this.label6.Size = new System.Drawing.Size(89, 12);
-            this.label6.TabIndex = 8;
-            this.label6.Text = "更新前关闭进程";
+            this.TbAfterUpdateStartProcess.Location = new System.Drawing.Point(135, 171);
+            this.TbAfterUpdateStartProcess.Multiline = true;
+            this.TbAfterUpdateStartProcess.Name = "TbAfterUpdateStartProcess";
+            this.TbAfterUpdateStartProcess.Size = new System.Drawing.Size(242, 51);
+            this.TbAfterUpdateStartProcess.TabIndex = 23;
             // 
-            // label7
+            // TbBeforeUpdateKillProcess
             // 
-            this.label7.AutoSize = true;
-            this.label7.Location = new System.Drawing.Point(12, 287);
-            this.label7.Name = "label7";
-            this.label7.Size = new System.Drawing.Size(89, 12);
-            this.label7.TabIndex = 9;
-            this.label7.Text = "更新后启动进程";
+            this.TbBeforeUpdateKillProcess.Location = new System.Drawing.Point(135, 102);
+            this.TbBeforeUpdateKillProcess.Multiline = true;
+            this.TbBeforeUpdateKillProcess.Name = "TbBeforeUpdateKillProcess";
+            this.TbBeforeUpdateKillProcess.Size = new System.Drawing.Size(242, 51);
+            this.TbBeforeUpdateKillProcess.TabIndex = 22;
+            // 
+            // TbBeforeUpdateStartProcess
+            // 
+            this.TbBeforeUpdateStartProcess.Location = new System.Drawing.Point(135, 33);
+            this.TbBeforeUpdateStartProcess.Multiline = true;
+            this.TbBeforeUpdateStartProcess.Name = "TbBeforeUpdateStartProcess";
+            this.TbBeforeUpdateStartProcess.Size = new System.Drawing.Size(242, 51);
+            this.TbBeforeUpdateStartProcess.TabIndex = 21;
             // 
             // label8
             // 
             this.label8.AutoSize = true;
-            this.label8.Location = new System.Drawing.Point(12, 316);
+            this.label8.Location = new System.Drawing.Point(18, 243);
             this.label8.Name = "label8";
-            this.label8.Size = new System.Drawing.Size(89, 12);
-            this.label8.TabIndex = 10;
-            this.label8.Text = "更新后关闭进程";
+            this.label8.Size = new System.Drawing.Size(101, 12);
+            this.label8.TabIndex = 20;
+            this.label8.Text = "更新后关闭进程";
             // 
-            // textBox3
+            // label7
             // 
-            this.textBox3.Location = new System.Drawing.Point(118, 62);
-            this.textBox3.Multiline = true;
-            this.textBox3.Name = "textBox3";
-            this.textBox3.Size = new System.Drawing.Size(359, 125);
-            this.textBox3.TabIndex = 11;
+            this.label7.AutoSize = true;
+            this.label7.Location = new System.Drawing.Point(18, 174);
+            this.label7.Name = "label7";
+            this.label7.Size = new System.Drawing.Size(101, 12);
+            this.label7.TabIndex = 19;
+            this.label7.Text = "更新后启动进程:";
             // 
-            // textBox4
+            // label6
             // 
-            this.textBox4.Location = new System.Drawing.Point(118, 193);
-            this.textBox4.Name = "textBox4";
-            this.textBox4.Size = new System.Drawing.Size(100, 21);
-            this.textBox4.TabIndex = 12;
+            this.label6.AutoSize = true;
+            this.label6.Location = new System.Drawing.Point(18, 105);
+            this.label6.Name = "label6";
+            this.label6.Size = new System.Drawing.Size(101, 12);
+            this.label6.TabIndex = 18;
+            this.label6.Text = "更新前关闭进程:";
             // 
-            // textBox5
+            // label5
             // 
-            this.textBox5.Location = new System.Drawing.Point(118, 220);
-            this.textBox5.Name = "textBox5";
-            this.textBox5.Size = new System.Drawing.Size(100, 21);
-            this.textBox5.TabIndex = 13;
+            this.label5.AutoSize = true;
+            this.label5.Location = new System.Drawing.Point(18, 36);
+            this.label5.Name = "label5";
+            this.label5.Size = new System.Drawing.Size(101, 12);
+            this.label5.TabIndex = 17;
+            this.label5.Text = "更新前启动进程:";
             // 
-            // textBox6
+            // MsMain
             // 
-            this.textBox6.Location = new System.Drawing.Point(118, 255);
-            this.textBox6.Name = "textBox6";
-            this.textBox6.Size = new System.Drawing.Size(100, 21);
-            this.textBox6.TabIndex = 14;
+            this.MsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.文件ToolStripMenuItem,
+            this.生成ToolStripMenuItem,
+            this.帮助ToolStripMenuItem});
+            this.MsMain.Location = new System.Drawing.Point(0, 0);
+            this.MsMain.Name = "MsMain";
+            this.MsMain.Size = new System.Drawing.Size(584, 25);
+            this.MsMain.TabIndex = 24;
+            this.MsMain.Text = "menuStrip1";
             // 
-            // textBox7
+            // 文件ToolStripMenuItem
             // 
-            this.textBox7.Location = new System.Drawing.Point(118, 282);
-            this.textBox7.Name = "textBox7";
-            this.textBox7.Size = new System.Drawing.Size(100, 21);
-            this.textBox7.TabIndex = 15;
+            this.文件ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.新建ToolStripMenuItem,
+            this.打开ToolStripMenuItem,
+            this.toolStripSeparator1,
+            this.退出ToolStripMenuItem});
+            this.文件ToolStripMenuItem.Name = "文件ToolStripMenuItem";
+            this.文件ToolStripMenuItem.Size = new System.Drawing.Size(44, 21);
+            this.文件ToolStripMenuItem.Text = "文件";
             // 
-            // textBox8
+            // 新建ToolStripMenuItem
             // 
-            this.textBox8.Location = new System.Drawing.Point(118, 316);
-            this.textBox8.Name = "textBox8";
-            this.textBox8.Size = new System.Drawing.Size(100, 21);
-            this.textBox8.TabIndex = 16;
+            this.新建ToolStripMenuItem.Name = "新建ToolStripMenuItem";
+            this.新建ToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
+            this.新建ToolStripMenuItem.Text = "新建";
+            this.新建ToolStripMenuItem.Click += new System.EventHandler(this.新建ToolStripMenuItem_Click);
+            // 
+            // 打开ToolStripMenuItem
+            // 
+            this.打开ToolStripMenuItem.Name = "打开ToolStripMenuItem";
+            this.打开ToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
+            this.打开ToolStripMenuItem.Text = "打开";
+            this.打开ToolStripMenuItem.Click += new System.EventHandler(this.打开ToolStripMenuItem_Click);
+            // 
+            // toolStripSeparator1
+            // 
+            this.toolStripSeparator1.Name = "toolStripSeparator1";
+            this.toolStripSeparator1.Size = new System.Drawing.Size(149, 6);
+            // 
+            // 退出ToolStripMenuItem
+            // 
+            this.退出ToolStripMenuItem.Name = "退出ToolStripMenuItem";
+            this.退出ToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
+            this.退出ToolStripMenuItem.Text = "退出";
+            this.退出ToolStripMenuItem.Click += new System.EventHandler(this.退出ToolStripMenuItem_Click);
+            // 
+            // 生成ToolStripMenuItem
+            // 
+            this.生成ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.生成配置ToolStripMenuItem,
+            this.生成配置到指定目录ToolStripMenuItem,
+            this.toolStripSeparator2,
+            this.打开默认配置目录ToolStripMenuItem});
+            this.生成ToolStripMenuItem.Name = "生成ToolStripMenuItem";
+            this.生成ToolStripMenuItem.Size = new System.Drawing.Size(44, 21);
+            this.生成ToolStripMenuItem.Text = "生成";
+            // 
+            // statusStrip1
+            // 
+            this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.toolStripStatusLabel1,
+            this.toolStripProgressBar1,
+            this.toolStripStatusLabel2});
+            this.statusStrip1.Location = new System.Drawing.Point(0, 589);
+            this.statusStrip1.Name = "statusStrip1";
+            this.statusStrip1.Size = new System.Drawing.Size(584, 22);
+            this.statusStrip1.TabIndex = 25;
+            this.statusStrip1.Text = "statusStrip1";
+            // 
+            // 生成配置ToolStripMenuItem
+            // 
+            this.生成配置ToolStripMenuItem.Name = "生成配置ToolStripMenuItem";
+            this.生成配置ToolStripMenuItem.Size = new System.Drawing.Size(184, 22);
+            this.生成配置ToolStripMenuItem.Text = "生成配置";
+            this.生成配置ToolStripMenuItem.Click += new System.EventHandler(this.生成配置ToolStripMenuItem_Click);
+            // 
+            // 生成配置到指定目录ToolStripMenuItem
+            // 
+            this.生成配置到指定目录ToolStripMenuItem.Name = "生成配置到指定目录ToolStripMenuItem";
+            this.生成配置到指定目录ToolStripMenuItem.Size = new System.Drawing.Size(184, 22);
+            this.生成配置到指定目录ToolStripMenuItem.Text = "生成配置到指定目录";
+            // 
+            // toolStripSeparator2
+            // 
+            this.toolStripSeparator2.Name = "toolStripSeparator2";
+            this.toolStripSeparator2.Size = new System.Drawing.Size(181, 6);
+            // 
+            // 打开默认配置目录ToolStripMenuItem
+            // 
+            this.打开默认配置目录ToolStripMenuItem.Name = "打开默认配置目录ToolStripMenuItem";
+            this.打开默认配置目录ToolStripMenuItem.Size = new System.Drawing.Size(184, 22);
+            this.打开默认配置目录ToolStripMenuItem.Text = "打开默认配置目录";
+            this.打开默认配置目录ToolStripMenuItem.Click += new System.EventHandler(this.打开默认配置目录ToolStripMenuItem_Click);
+            // 
+            // 帮助ToolStripMenuItem
+            // 
+            this.帮助ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.查看帮助ToolStripMenuItem});
+            this.帮助ToolStripMenuItem.Name = "帮助ToolStripMenuItem";
+            this.帮助ToolStripMenuItem.Size = new System.Drawing.Size(44, 21);
+            this.帮助ToolStripMenuItem.Text = "帮助";
+            // 
+            // 查看帮助ToolStripMenuItem
+            // 
+            this.查看帮助ToolStripMenuItem.Name = "查看帮助ToolStripMenuItem";
+            this.查看帮助ToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
+            this.查看帮助ToolStripMenuItem.Text = "查看帮助";
+            // 
+            // PnMain
+            // 
+            this.PnMain.AutoScroll = true;
+            this.PnMain.Controls.Add(this.groupBox3);
+            this.PnMain.Controls.Add(this.groupBox2);
+            this.PnMain.Controls.Add(this.groupBox1);
+            this.PnMain.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.PnMain.Location = new System.Drawing.Point(0, 25);
+            this.PnMain.Name = "PnMain";
+            this.PnMain.Size = new System.Drawing.Size(584, 564);
+            this.PnMain.TabIndex = 26;
+            // 
+            // groupBox1
+            // 
+            this.groupBox1.Controls.Add(this.TbVersionDesc);
+            this.groupBox1.Controls.Add(this.label1);
+            this.groupBox1.Controls.Add(this.label3);
+            this.groupBox1.Controls.Add(this.TbCodeName);
+            this.groupBox1.Controls.Add(this.label2);
+            this.groupBox1.Controls.Add(this.TbVersionNumber);
+            this.groupBox1.Location = new System.Drawing.Point(3, 18);
+            this.groupBox1.Name = "groupBox1";
+            this.groupBox1.Size = new System.Drawing.Size(561, 266);
+            this.groupBox1.TabIndex = 24;
+            this.groupBox1.TabStop = false;
+            this.groupBox1.Text = "版本概述";
+            // 
+            // groupBox2
+            // 
+            this.groupBox2.Controls.Add(this.label12);
+            this.groupBox2.Controls.Add(this.label4);
+            this.groupBox2.Controls.Add(this.dataGridView1);
+            this.groupBox2.Controls.Add(this.TbServerPath);
+            this.groupBox2.Controls.Add(this.TbPluginEntry);
+            this.groupBox2.Controls.Add(this.label9);
+            this.groupBox2.Controls.Add(this.TbPluginName);
+            this.groupBox2.Controls.Add(this.label10);
+            this.groupBox2.Controls.Add(this.CbIsPlugin);
+            this.groupBox2.Controls.Add(this.label11);
+            this.groupBox2.Location = new System.Drawing.Point(3, 305);
+            this.groupBox2.Name = "groupBox2";
+            this.groupBox2.Size = new System.Drawing.Size(561, 577);
+            this.groupBox2.TabIndex = 25;
+            this.groupBox2.TabStop = false;
+            this.groupBox2.Text = "文件清单";
+            // 
+            // groupBox3
+            // 
+            this.groupBox3.Controls.Add(this.TbBeforeUpdateStartProcess);
+            this.groupBox3.Controls.Add(this.TbAfterUpdateKillProcess);
+            this.groupBox3.Controls.Add(this.label7);
+            this.groupBox3.Controls.Add(this.label6);
+            this.groupBox3.Controls.Add(this.TbAfterUpdateStartProcess);
+            this.groupBox3.Controls.Add(this.label8);
+            this.groupBox3.Controls.Add(this.label5);
+            this.groupBox3.Controls.Add(this.TbBeforeUpdateKillProcess);
+            this.groupBox3.Location = new System.Drawing.Point(3, 901);
+            this.groupBox3.Name = "groupBox3";
+            this.groupBox3.Size = new System.Drawing.Size(561, 332);
+            this.groupBox3.TabIndex = 26;
+            this.groupBox3.TabStop = false;
+            this.groupBox3.Text = "其他操作";
+            // 
+            // ClServer
+            // 
+            this.ClServer.FillWeight = 40F;
+            this.ClServer.HeaderText = "服务器路径";
+            this.ClServer.Name = "ClServer";
+            this.ClServer.ReadOnly = true;
+            // 
+            // ClLocal
+            // 
+            this.ClLocal.FillWeight = 40F;
+            this.ClLocal.HeaderText = "本地路径";
+            this.ClLocal.Name = "ClLocal";
+            this.ClLocal.ReadOnly = true;
+            // 
+            // ClUpdate
+            // 
+            this.ClUpdate.FillWeight = 10F;
+            this.ClUpdate.HeaderText = "更新";
+            this.ClUpdate.Name = "ClUpdate";
+            this.ClUpdate.ReadOnly = true;
+            // 
+            // ClDelete
+            // 
+            this.ClDelete.FillWeight = 10F;
+            this.ClDelete.HeaderText = "删除";
+            this.ClDelete.Name = "ClDelete";
+            this.ClDelete.ReadOnly = true;
+            // 
+            // toolStripStatusLabel1
+            // 
+            this.toolStripStatusLabel1.Name = "toolStripStatusLabel1";
+            this.toolStripStatusLabel1.Size = new System.Drawing.Size(44, 17);
+            this.toolStripStatusLabel1.Text = "状态:";
+            // 
+            // toolStripProgressBar1
+            // 
+            this.toolStripProgressBar1.Name = "toolStripProgressBar1";
+            this.toolStripProgressBar1.Size = new System.Drawing.Size(100, 16);
+            // 
+            // toolStripStatusLabel2
+            // 
+            this.toolStripStatusLabel2.Name = "toolStripStatusLabel2";
+            this.toolStripStatusLabel2.Size = new System.Drawing.Size(108, 17);
+            this.toolStripStatusLabel2.Text = "ready to building";
             // 
             // MainForm
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(632, 476);
-            this.Controls.Add(this.textBox8);
-            this.Controls.Add(this.textBox7);
-            this.Controls.Add(this.textBox6);
-            this.Controls.Add(this.textBox5);
-            this.Controls.Add(this.textBox4);
-            this.Controls.Add(this.textBox3);
-            this.Controls.Add(this.label8);
-            this.Controls.Add(this.label7);
-            this.Controls.Add(this.label6);
-            this.Controls.Add(this.label5);
-            this.Controls.Add(this.label4);
-            this.Controls.Add(this.label3);
-            this.Controls.Add(this.label2);
-            this.Controls.Add(this.label1);
-            this.Controls.Add(this.textBox2);
-            this.Controls.Add(this.textBox1);
-            this.Controls.Add(this.button1);
+            this.ClientSize = new System.Drawing.Size(584, 611);
+            this.Controls.Add(this.PnMain);
+            this.Controls.Add(this.statusStrip1);
+            this.Controls.Add(this.MsMain);
+            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+            this.MainMenuStrip = this.MsMain;
             this.Name = "MainForm";
-            this.Text = "版本创建工具";
+            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+            this.Text = "版本生成器";
+            ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
+            this.MsMain.ResumeLayout(false);
+            this.MsMain.PerformLayout();
+            this.statusStrip1.ResumeLayout(false);
+            this.statusStrip1.PerformLayout();
+            this.PnMain.ResumeLayout(false);
+            this.groupBox1.ResumeLayout(false);
+            this.groupBox1.PerformLayout();
+            this.groupBox2.ResumeLayout(false);
+            this.groupBox2.PerformLayout();
+            this.groupBox3.ResumeLayout(false);
+            this.groupBox3.PerformLayout();
             this.ResumeLayout(false);
             this.PerformLayout();
 
         }
 
         #endregion
-
-        private System.Windows.Forms.Button button1;
-        private System.Windows.Forms.TextBox textBox1;
-        private System.Windows.Forms.TextBox textBox2;
-        private System.Windows.Forms.Label label1;
-        private System.Windows.Forms.Label label2;
+        private System.Windows.Forms.TextBox TbVersionDesc;
         private System.Windows.Forms.Label label3;
+        private System.Windows.Forms.Label label2;
+        private System.Windows.Forms.Label label1;
+        private System.Windows.Forms.TextBox TbVersionNumber;
+        private System.Windows.Forms.TextBox TbCodeName;
+        private System.Windows.Forms.TextBox TbPluginEntry;
+        private System.Windows.Forms.TextBox TbPluginName;
+        private System.Windows.Forms.CheckBox CbIsPlugin;
+        private System.Windows.Forms.Label label11;
+        private System.Windows.Forms.Label label10;
+        private System.Windows.Forms.Label label9;
+        private System.Windows.Forms.TextBox TbServerPath;
         private System.Windows.Forms.Label label4;
-        private System.Windows.Forms.Label label5;
-        private System.Windows.Forms.Label label6;
-        private System.Windows.Forms.Label label7;
+        private System.Windows.Forms.TextBox TbAfterUpdateKillProcess;
+        private System.Windows.Forms.TextBox TbAfterUpdateStartProcess;
+        private System.Windows.Forms.TextBox TbBeforeUpdateKillProcess;
+        private System.Windows.Forms.TextBox TbBeforeUpdateStartProcess;
         private System.Windows.Forms.Label label8;
-        private System.Windows.Forms.TextBox textBox3;
-        private System.Windows.Forms.TextBox textBox4;
-        private System.Windows.Forms.TextBox textBox5;
-        private System.Windows.Forms.TextBox textBox6;
-        private System.Windows.Forms.TextBox textBox7;
-        private System.Windows.Forms.TextBox textBox8;
+        private System.Windows.Forms.Label label7;
+        private System.Windows.Forms.Label label6;
+        private System.Windows.Forms.Label label5;
+        private System.Windows.Forms.Label label12;
+        private System.Windows.Forms.DataGridView dataGridView1;
+        private System.Windows.Forms.MenuStrip MsMain;
+        private System.Windows.Forms.ToolStripMenuItem 文件ToolStripMenuItem;
+        private System.Windows.Forms.StatusStrip statusStrip1;
+        private System.Windows.Forms.ToolStripMenuItem 新建ToolStripMenuItem;
+        private System.Windows.Forms.ToolStripMenuItem 打开ToolStripMenuItem;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
+        private System.Windows.Forms.ToolStripMenuItem 退出ToolStripMenuItem;
+        private System.Windows.Forms.ToolStripMenuItem 生成ToolStripMenuItem;
+        private System.Windows.Forms.ToolStripMenuItem 生成配置ToolStripMenuItem;
+        private System.Windows.Forms.ToolStripMenuItem 生成配置到指定目录ToolStripMenuItem;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
+        private System.Windows.Forms.ToolStripMenuItem 打开默认配置目录ToolStripMenuItem;
+        private System.Windows.Forms.ToolStripMenuItem 帮助ToolStripMenuItem;
+        private System.Windows.Forms.ToolStripMenuItem 查看帮助ToolStripMenuItem;
+        private System.Windows.Forms.Panel PnMain;
+        private System.Windows.Forms.GroupBox groupBox3;
+        private System.Windows.Forms.GroupBox groupBox2;
+        private System.Windows.Forms.GroupBox groupBox1;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ClServer;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ClLocal;
+        private System.Windows.Forms.DataGridViewCheckBoxColumn ClUpdate;
+        private System.Windows.Forms.DataGridViewCheckBoxColumn ClDelete;
+        private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1;
+        private System.Windows.Forms.ToolStripProgressBar toolStripProgressBar1;
+        private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel2;
     }
 }

+ 88 - 1
Fork.Net/Oreo.VersionBuilder/Views/MainForm.cs

@@ -1,12 +1,17 @@
-using System;
+using Oreo.VersionBuilder.Commons;
+using Oreo.VersionBuilder.Models;
+using System;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Data;
+using System.Diagnostics;
 using System.Drawing;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 using System.Windows.Forms;
+using Y.Utils.DataUtils.JsonUtils;
+using Y.Utils.IOUtils.TxtUtils;
 
 namespace Oreo.VersionBuilder.Views
 {
@@ -16,5 +21,87 @@ namespace Oreo.VersionBuilder.Views
         {
             InitializeComponent();
         }
+
+
+        private void 生成配置ToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            VersionModel vm = GatherModel();
+            string vmJson = JsonTool.ToStr(vm);
+            TxtTool.Create(R.Paths.VersionFile + string.Format("{0}.version", DateTime.Now.ToString("MMddHHmmss")), vmJson);
+        }
+
+
+
+        private void 打开默认配置目录ToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            Process.Start("explorer", R.Paths.VersionFile);
+        }
+
+        private VersionModel GatherModel()
+        {
+            VersionModel rs = new VersionModel()
+            {
+                CodeName = TbCodeName.Text.Trim(),
+                VersionNumber = TbVersionNumber.Text.Trim(),
+                VersionDesc = TbVersionDesc.Text.Trim(),
+                ServerPath = TbServerPath.Text.Trim(),
+                IsPlugin = CbIsPlugin.Checked,
+                PluginName = TbPluginName.Text.Trim(),
+                PluginEntry = TbPluginEntry.Text.Trim(),
+                BeforeUpdateStartProcess = TbBeforeUpdateStartProcess.Text.Trim().Split(','),
+                BeforeUpdateKillProcess = TbBeforeUpdateKillProcess.Text.Trim().Split(','),
+                AfterUpdateStartProcess = TbAfterUpdateStartProcess.Text.Trim().Split(','),
+                AfterUpdateKillProcess = TbAfterUpdateKillProcess.Text.Trim().Split(','),
+            };
+            return rs;
+        }
+
+        private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            TbCodeName.Text = "";
+            TbVersionNumber.Text = "";
+            TbVersionDesc.Text = "";
+            TbServerPath.Text = "";
+            CbIsPlugin.Checked = false;
+            TbPluginName.Text = "";
+            TbPluginEntry.Text = "";
+            TbBeforeUpdateStartProcess.Text = "";
+            TbBeforeUpdateKillProcess.Text = "";
+            TbAfterUpdateStartProcess.Text = "";
+            TbAfterUpdateKillProcess.Text = "";
+        }
+
+        private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            OpenFileDialog fileDialog = new OpenFileDialog();
+            fileDialog.Filter = "版本文件|*.version|文本文档|*.txt";
+            if (fileDialog.ShowDialog() == DialogResult.OK)
+            {
+                string file = fileDialog.FileName;
+                if (!string.IsNullOrWhiteSpace(file))
+                {
+                    VersionModel vm = JsonTool.ToObjFromFile<VersionModel>(file);
+                    if (vm != null)
+                    {
+                        TbCodeName.Text = vm.CodeName;
+                        TbVersionNumber.Text = vm.VersionNumber;
+                        TbVersionDesc.Text = vm.VersionDesc;
+                        TbServerPath.Text = vm.ServerPath;
+                        CbIsPlugin.Checked = vm.IsPlugin;
+                        TbPluginName.Text = vm.PluginName;
+                        TbPluginEntry.Text = vm.PluginEntry;
+                        TbBeforeUpdateStartProcess.Text = string.Join(",", vm.BeforeUpdateStartProcess);
+                        TbBeforeUpdateKillProcess.Text = string.Join(",", vm.BeforeUpdateKillProcess.ToString());
+                        TbAfterUpdateStartProcess.Text = string.Join(",", vm.AfterUpdateStartProcess.ToString());
+                        TbAfterUpdateKillProcess.Text = string.Join(",", vm.AfterUpdateKillProcess.ToString());
+                    }
+                }
+            }
+        }
+
+        private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            Close();
+        }
     }
 }

+ 18 - 0
Fork.Net/Oreo.VersionBuilder/Views/MainForm.resx

@@ -117,4 +117,22 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
+  <metadata name="ClServer.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="ClLocal.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="ClUpdate.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="ClDelete.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="MsMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>137, 17</value>
+  </metadata>
 </root>