This is asm shellcode generator
it simply reads the bytes of a file and then convert it into shellcode and generate an output asm file
using System;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Text.RegularExpressions;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
SetStyle(ControlStyles.SupportsTransparentBackColor, true);
this.BackColor = Color.Transparent;
}
// INITIALISATION DES VARIABLES
public string openfile { get; set; }
public byte[] ReadFile { get; set; }
private string ShellCodeModing;
public string[] ShellCodeModinga { get; set; }
public string reaDingFile { get; set; }
static string ConvertStringArrayToString(string[] array)
{
//
// Concatenate all the elements into a StringBuilder.
//
StringBuilder builder = new StringBuilder();
foreach (string value in array)
{
builder.Append(value);
builder.Append("h,");
}
return builder.ToString();
}
private static string AppendAtPosition(string baseString, int position, string character)
{
var sb = new StringBuilder(baseString);
for (int i = position; i < sb.Length; i += (position + character.Length))
sb.Insert(i, character);
return sb.ToString();
}
private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
openfile = openFileDialog1.FileName; // Recuperer le chemin du fichier ouvert
}
}
private void button2_Click(object sender, EventArgs e)
{
ReadFile = File.ReadAllBytes(openfile); // Lecture du fichier dans la variable
// Donnée binaires en string et affichage dans la textbox
// SHELLCODE MODING
ShellCodeModing = BitConverter.ToString(ReadFile); // HEX TO STRING
// Si vous vouler crypter le shellcode c'est içi ou juste au dessus selon si vous voulez une string ou des bytes...
ShellCodeModinga = ShellCodeModing.Split('-'); // SUPRESSION DU " - "
ShellCodeModing = ConvertStringArrayToString(ShellCodeModinga); // RE STRING
// toute les 15, de fait une nouvelle ligne
StringBuilder sb = new StringBuilder();
string[] splitString = ShellCodeModing.Split(',');
for (int idx = 0; idx < splitString.Length; idx++)
{
sb.Append(splitString[idx] + ",");
if (idx > 0 && idx % 15 == 0)
{
sb.Append("\n");
}
}
string ShellCodeModingb = sb.ToString();
// Finalisation
ShellCodeModingb = ShellCodeModingb.Replace(",\n", "\n db ");
ShellCodeModingb = ShellCodeModingb.Replace(",", ",0");
ShellCodeModingb = ShellCodeModingb.Replace("db ", "db 0");
//ShellCodeModingb = ShellCodeModingb.Remove(ShellCodeModingb.Length - 4);
ShellCodeModingb = ShellCodeModingb.Insert(0, "Shellcode db 0");
ShellCodeModingb = ShellCodeModingb + "DELET THE BULLSHIT END...";
TextWriter tw = new StreamWriter("output.asm"); //Ouvrir/Creer le fichier
tw.WriteLine(ShellCodeModingb); // Ecrire
tw.Close(); // Fermer le fichier
System.IO.StreamReader myFile =
new System.IO.StreamReader("output.asm");
string myString = myFile.ReadToEnd();
textBox2.Text = myString;
MessageBox.Show("Show the output.asm !");
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
Aucun commentaire:
Enregistrer un commentaire