static void Main(string[] args) { NtrClient ntr = new NtrClient(IpAddress); Console.WriteLine("NTR TEST - plz work"); Console.ReadLine(); do { Console.Write("Trying to connect... "); ntr.ConnectToServer(); Console.WriteLine(ntr.IsConnected); } while (!ntr.IsConnected); ntr.SendProcessPacket(); Console.WriteLine("\n\n"); Console.ReadLine(); ntr.SendMemLayoutPacket(0x29); Console.ReadLine(); ntr.Disconnect(); }
public void Connect() { lock (_sync) { client = new NtrClient(); client.EvtNtrStringReceived += OnProcessList; client.EvtReadMemoryReceived += OnReadMemory; client.EvtConnect += OnConnected; client.EvtDisconnect += OnDisconnected; client.SetServer(IP, 8000); client.ConnectToServer(); while (!Connected) { Thread.Sleep(100); } GetProcessList(); } }
// Form Events private void MainWindow_Load(object sender, EventArgs e) { try { LogLine("NTR by cell9"); LogLine("NTRSharp by imthe666st"); Log("Setup"); this.cmbEditModeType.SelectedIndex = 0; this.cmbMemlayout.SelectedIndex = 0; this.cmbProcesses.SelectedIndex = 0; this.NtrClient = new NtrClient(); this.NtrClient.EvtMessageReceived += (s, e_) => { LogLine(e_.Message); }; this.NtrClient.EvtNtrStringReceived += (s, e_) => { HandleMessageReceived(e_.Message); }; this.NtrClient.EvtReadMemoryReceived += (s, e_) => { HandleReadMemory(e_.Buffer); }; this.NtrClient.EvtDisconnect += (s, e_) => { EnableConnect(); }; this.NtrClient.EvtProgress += (s, e_) => { SetProgress(this.NtrClient?.Progress ?? 0); }; Log("."); txtEditorByte.ContextMenu = new ContextMenu(new MenuItem[] { new MenuItem("Save to file", (s, e_) => { using (SaveFileDialog sfd = new SaveFileDialog()) { sfd.DefaultExt = "bin"; sfd.Filter = "Binary|*.bin"; if (sfd.ShowDialog() == DialogResult.OK) { List <byte> byteCode = new List <byte>(); String k = txtEditorByte.Text; k = String.Join(null, k.Split(' ')); for (int i = 0; i <= k.Length - 2; i += 2) { byteCode.Add(Convert.ToByte(k.Substring(i, 2), 16)); } File.WriteAllBytes(sfd.FileName, byteCode.ToArray()); } } }), new MenuItem("Load from file", (s, e_) => { using (OpenFileDialog ofd = new OpenFileDialog()) { ofd.Filter = "All|*.*"; ofd.Multiselect = false; if (ofd.ShowDialog() == DialogResult.OK) { if (File.Exists(ofd.FileName)) { byte[] data = File.ReadAllBytes(ofd.FileName); txtEditorByte.Text = ByteArrayToHexString(data); } } } }), new MenuItem("Clear", (s, e_) => txtEditorByte.Text = null), new MenuItem("Copy", (s, e_) => Clipboard.SetText(txtEditorByte.Text)), new MenuItem("Paste", (s, e_) => { String t = Clipboard.GetText(); t = String.Join(null, t.Split(' ')); t = String.Join(null, t.Split(Environment.NewLine)); t = t.ToUpper(); if (!new Regex("[0-9A-F]*").IsMatch(t)) { return; } //t = String.Join(" ", t.Split(2, true)); txtEditorByte.Text = t; }), }); txtEditorBase.ContextMenu = new ContextMenu(new MenuItem[] { new MenuItem("Save to file", (s, e_) => { using (SaveFileDialog sfd = new SaveFileDialog()) { sfd.DefaultExt = "txt"; sfd.Filter = "Text|*.txt"; if (sfd.ShowDialog() == DialogResult.OK) { File.WriteAllText(sfd.FileName, txtEditorBase.Text); } } }), new MenuItem("Load from file", (s, e_) => { using (OpenFileDialog ofd = new OpenFileDialog()) { ofd.Filter = "All|*.*"; ofd.Multiselect = false; if (ofd.ShowDialog() == DialogResult.OK) { if (File.Exists(ofd.FileName)) { byte[] data = File.ReadAllBytes(ofd.FileName); txtEditorBase.Text = ByteArrayToHexString(data); } } } }), new MenuItem("Clear", (s, e_) => txtEditorBase.Text = null), new MenuItem("Copy", (s, e_) => Clipboard.SetText(txtEditorBase.Text)), new MenuItem("Paste", (s, e_) => txtEditorBase.Text = Clipboard.GetText()), }); Log("."); this.txtIpAddress.Text = Config.IpAddress; //txtIpAddress.SelectionLength = 0; LogLine(Environment.NewLine + "Finished setup"); //LogLine("Loaded RestrictedProcesses:"); //foreach (var p in Config.Processes) //{ // LogLine(p.Name); //} } catch (Exception ex) { LogLine(ex.Message + Environment.NewLine + ex.StackTrace); } }