yet another update. cv 1.5.4.0
added Automatic AoB Length checking to ensure equality in the array length
It said "Shorter by 6", with the following AoBs:
d0 66 bd 08 62 05 66 af 01 62 05 66 b0 01 24 64
d0 66 bd 08 62 05 66 af 01 62 05 66 b0 01
As far as I see, it's 2 bytes shorter or if you want to see those as numbers, 4 numbers shorter. But nothing I can think of that would be 6.
Cheat Engine counts internal spaces, so i do too. so the difference is "<space> zwei fear <space> sex fear" it doesnt check format, it just checks String.Length, Its really more of a heads up than anything else, because I dont know if the spaces actually matter in CE, all I know is that it warns you if they are different.
@HakHappy
Its C# written in Studio '10. Im not going to release full source because its a MAJOR hassle to sip it all up but without all the debug bullshit and and everything. If there were more to it than a couple of regex match/replace and a dozen or so conditionals, I would be more than happy to give you the whole source. but i mean thats really all there is so theres no need.
here though is the method bodies, it should be all you really need.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
namespace Raw_Data_AoB_Extractor
{
public partial class Form1 : Form
{
private String aobregex = "/+(([a-fA-F0-9]{2}\s*)+)";
private String nopregex = "([a-fA-F0-9]{2}\s*)";
public Form1()
{
InitializeComponent();
}
#region form event handlers
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
if (!checkBox1.Checked)
{
return;
}
highlightbox1();
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
highlightbox1();
highlightbox2();
}
private void button1_Click(object sender, EventArgs e)
{
richTextBox2.Text = richTextBox1.Text;
highlightbox2();
}
private void button2_Click(object sender, EventArgs e)
{
//Console.WriteLine("sender: " + ((Button)sender).Name);
getaobs(((Button)sender).Name);
}
private void button4_Click(object sender, EventArgs e)
{
getforumcode();
}
private void button5_Click(object sender, EventArgs e)
{
Clipboard.SetText(textBox4.Text);
}
private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
getforumcode();
}
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
{
AboutBox1 about = new AboutBox1();
about.Show();
}
private void pasteToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.Text = Clipboard.GetText();
}
private void selectAllToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.Focus();
richTextBox1.SelectAll();
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
if (textBox2.Text == "" || textBox2.Text == null)
{
label2.Visible = false;
textBox2.BackColor = Color.White;
return;
}
if (textBox1.Text == "" || textBox1.Text == null)
getaobs("button2");
if (textBox2.Text.Length != textBox1.Text.Length)
{
label2.Text = (textBox2.Text.Length > textBox1.Text.Length) ? ("Longer by: " + (textBox2.Text.Length - textBox1.Text.Length)) : ("Shorter by: " + (-1*(textBox2.Text.Length - textBox1.Text.Length)));
label2.Visible = true;
textBox2.BackColor = Color.Crimson;
}
else
{
label2.Visible = false;
textBox2.BackColor = Color.White;
}
}
#endregion
#region aob highlighting
private void highlightbox2()
{
Regex r = new Regex("n");
String[] lines = r.Split(richTextBox2.Text);
//Console.WriteLine("the text has changed.");
richTextBox2.Text = "";
Color xcolor;
if(checkBox1.Checked)
xcolor=Color.Green;
else
xcolor=Color.Black;
foreach (string l in lines)
{
if (l.Length < 2)
{
continue;
}
if (Regex.IsMatch(l.Trim(), aobregex))
{
richTextBox2.SelectionColor = xcolor;
richTextBox2.SelectedText = l.Trim() + "n";
}
else
{
richTextBox2.SelectionColor = Color.Black;
richTextBox2.SelectedText = l.Trim() + "n";
}
}
richTextBox2.SelectionColor = Color.Black;
}
private void highlightbox1()
{
Regex r = new Regex("n");
String[] lines = r.Split(richTextBox1.Text);
//Console.WriteLine("the text has changed.");
richTextBox1.Text = "";
Color xcolor;
if (checkBox1.Checked)
xcolor = Color.Green;
else
xcolor = Color.Black;
foreach (string l in lines)
{
if (l.Length < 2)
{
continue;
}
if (Regex.IsMatch(l.Trim(), aobregex))
{
richTextBox1.SelectionColor = xcolor;
richTextBox1.SelectedText = l.Trim() + "n";
}
else
{
richTextBox1.SelectionColor = Color.Black;
richTextBox1.SelectedText = l.Trim() + "n";
}
}
richTextBox1.SelectionColor = Color.Black;
}
#endregion
#region Aob textbox updates
private void getaobs(string sender)
{
Regex r = new Regex("n");
String[] lines;
if (sender == "button2")
lines = r.Split(richTextBox1.Text);
else
lines = r.Split(richTextBox2.Text);
String aob = "";
foreach (string l in lines)
{
if (Regex.IsMatch(l.Trim(), aobregex))
aob += Regex.Replace(l.Trim(), aobregex, "$1") + " ";
}
if (sender == "button2")
textBox1.Text = aob;
else
textBox2.Text = aob;
}
private void getforumcode()
{
String fc = "";
if (checkBox2.Checked)
fc += "[b]" + textBox3.Text + "[/b]" + Environment.NewLine;
else
fc += textBox3.Text + Environment.NewLine;
if (textBox1.Text == "" || textBox1.Text == null)
{
getaobs("button2");
fc += textBox1.Text + Environment.NewLine;
}
else
fc += textBox1.Text + Environment.NewLine;
if (textBox2.Text == "" || textBox2.Text == null)
{
getaobs("button3");
fc += textBox2.Text;
}
else
fc += textBox2.Text;
textBox4.Text = fc;
}
#endregion
#region Nop Selection context and code
private void contextMenuStrip2_Opening(object sender, CancelEventArgs e)
{
if (richTextBox2.SelectedText.Length < 2)
contextMenuStrip2.Items[0].Enabled = false;
else
contextMenuStrip2.Items[0].Enabled = true;
}
private void nOPSelectionToolStripMenuItem_Click(object sender, EventArgs e)
{
Regex r = new Regex(" |n");
String[] lines = r.Split(richTextBox2.SelectedText);
String nop = "";
foreach (string l in lines)
{
if (l.Length < 2)
{
continue;
}
if (Regex.IsMatch(l.Trim(), "^_.*"))
{
nop += "n" + l.Trim();
}
else if (Regex.IsMatch(l.Trim(), aobregex))
{
if (nop.Length > 0)
nop += "n";
nop += "//02 ";
}
else if (Regex.IsMatch(l.Trim(), nopregex))
{
nop += "02 ";
}
else
{
nop += "n" + l.Trim();
}
}
richTextBox2.SelectedText = nop;
}
#endregion
}
}