FlyFar

Backdoor.Java.Agent.a - Source Code

Jun 8th, 2023
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.04 KB | Cybersecurity | 0 0
  1. package enigma.shells.jython;
  2.  
  3. import java.io.*;
  4. import java.awt.*;
  5. import javax.swing.*;
  6.  
  7. import enigma.console.*;
  8. import enigma.console.java2d.*;
  9.  
  10. import org.python.core.*;
  11. import org.python.util.*;
  12.  
  13. public class JythonShell extends JPanel implements Runnable {
  14.     public static int DEFAULT_ROWS = 20;
  15.     public static int DEFAULT_COLUMNS = 80;
  16.     public static int DEFAULT_SCROLLBACK = 100;
  17.    
  18.     public PrintStream out;
  19.    
  20.     public Console console;
  21.     public Java2DTextWindow text;
  22.     public JScrollPane scrollPane;
  23.     public PythonInterpreter interp;
  24.    
  25.     private Color colorBackground = new Color(0, 0, 0);
  26.     private Color colorForeground = new Color(187, 187, 187);
  27.     private Color colorError = new Color(187, 0, 0);
  28.     private Color colorCursor = new Color(187, 187, 0);
  29.    
  30.     public JythonShell() {
  31.         this(null, Py.getSystemState());
  32.     }
  33.    
  34.     public JythonShell(PyObject dict) {
  35.         this(dict, Py.getSystemState());
  36.     }
  37.    
  38.     public JythonShell(int columns, int rows, int scrollback) {
  39.         this(null, Py.getSystemState(), columns, rows, scrollback);
  40.     }
  41.    
  42.     public JythonShell(PyObject dict, PySystemState systemState) {
  43.         this(dict, systemState, DEFAULT_COLUMNS, DEFAULT_ROWS, DEFAULT_SCROLLBACK);
  44.     }
  45.    
  46.     public JythonShell(PyObject dict, PySystemState systemState, int columns, int rows, int scrollback) {
  47.         super(new BorderLayout());
  48.        
  49.         text = new Java2DTextWindow(columns, rows, scrollback);
  50.         text.setBackground(colorBackground);
  51.        
  52.         scrollPane = new JScrollPane();
  53.         scrollPane.setViewportView(text);
  54.        
  55.         add(scrollPane, BorderLayout.CENTER);
  56.        
  57.         console = new DefaultConsoleImpl(text);
  58.         out = console.getOutputStream();
  59.        
  60.         interp = new PythonInterpreter(dict, systemState);
  61.         interp.setOut(out);
  62.         interp.setErr(out);
  63.     }
  64.    
  65.     public void run() {
  66.         int pos = 0;
  67.         int tbs = 4;
  68.        
  69.         String line = "";
  70.         String command = "";
  71.        
  72.         for (;;) {
  73.             String space = "";
  74.             for (int i = 0; i < pos * tbs; i++) {
  75.                 space += " ";
  76.             }
  77.            
  78.             try {
  79.                 console.setTextAttributes(new TextAttributes(colorCursor));
  80.                
  81.                 if (pos > 0) {
  82.                     out.print(space + "... ");
  83.                 } else {
  84.                     out.print(">> ");
  85.                 }
  86.                
  87.                 console.setTextAttributes(new TextAttributes(colorForeground));
  88.                
  89.                 line = console.readLine().trim();
  90.                 if (line.length() == 0 && pos > 0) {
  91.                     pos--;
  92.                 } else if (line.endsWith(":")) {
  93.                     command += space + line + "\n";
  94.                     pos++;
  95.                 } else {
  96.                     command += space + line + "\n";
  97.                 }
  98.                
  99.                 if (pos == 0) {
  100.                     interp.exec(command);
  101.                     command = "";
  102.                 }
  103.             } catch (Exception e) {
  104.                 console.setTextAttributes(new TextAttributes(colorError));
  105.                
  106.                 e.printStackTrace();
  107.                 command = "";
  108.             }
  109.         }
  110.     }
  111.    
  112.     public static void main(String[] argv) {
  113.         PySystemState.initialize(System.getProperties(), null, argv);
  114.        
  115.         JFrame frame = new JFrame("Jython Console");
  116.         JythonShell console = new JythonShell();
  117.        
  118.         frame.add(console, BorderLayout.CENTER);
  119.         frame.pack();
  120.         frame.setVisible(true);
  121.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  122.        
  123.         console.run();
  124.     }
  125. }
Add Comment
Please, Sign In to add comment