elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Java [Guía] Patrones de diseño - Parte 1


  Mostrar Temas
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1  Programación / .NET / Borrar la cabecera de un ejecutable .NET en: 26 Mayo 2017, 16:21
Hola estoy intentando borrar la cabecera en .NET el método que encontré por internet y que usan es:
Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Runtime.InteropServices;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8.  
  9. namespace ConsoleApplication9
  10. {
  11.    class Program
  12.    {
  13.        [DllImport("kernel32.dll")]
  14.        public static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId);
  15.        [DllImport("kernel32.dll", SetLastError = true)]
  16.        static extern bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [Out] byte[] lpBuffer, int dwSize, out IntPtr lpNumberOfBytesRead);
  17.        [DllImport("kernel32.dll", SetLastError = true)]
  18.        //static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, uint nSize, out UIntPtr lpNumberOfBytesWritten);
  19.        static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, int dwSize, ref int lpNumberOfBytesWritten);
  20.        [DllImport("kernel32.dll")]
  21.        public static extern IntPtr GetModuleHandle(string lpModuleName);
  22.        private static int ErasePEHeader() // hModule = Handle to the module, procName = Process name (eg. "notepad")
  23. {
  24.    byte[] imagentheaderptr = new byte[4];
  25.    byte[] Stub = new byte[120];
  26.    byte[] Stub2 = new byte[0x108];
  27.    int Out=0, Out2=0;
  28.  
  29.            IntPtr hModule = GetModuleHandle(null);
  30.  
  31.            string procName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
  32.            procName = procName;
  33.            Console.WriteLine(hModule + "," + procName);
  34.  
  35.            IntPtr proc = OpenProcess(0x001F0FFF, false, System.Diagnostics.Process.GetProcessesByName(procName)[0].Id);
  36.    IntPtr IMAGE_NT_HEADER = new IntPtr((hModule.ToInt32() + 60)), out2 = IntPtr.Zero;
  37.    ReadProcessMemory(proc, IMAGE_NT_HEADER, imagentheaderptr, 4, out out2);
  38.    if ((WriteProcessMemory(proc, hModule, Stub, 120, ref Out) == true) && (WriteProcessMemory(proc, hModule, Stub2, 0x100, ref Out2) == true)) return Out + Out2;
  39.    else return 0;
  40. }
  41.        static void Main(string[] args)
  42.        {
  43.            int a = ErasePEHeader();
  44.            Console.WriteLine(a);
  45.            Console.ReadKey();
  46.        }
  47.    }
  48. }
Pero siempre me devuelve 0 o falso. ¿Alguien que me pueda explicar porque nunca la borra?
2  Programación / Programación C/C++ / Como borrar la cabecera de mi ejecutable usando esta funcion en: 26 Mayo 2017, 01:35
Hola estaba viendo una pequeña función por internet que me permite borrar la cabecera, el fichero.cpp es:
Código:
VOID ErasePEHeaderFromMemory()
{
_tprintf(_T("[*] Erasing PE header from memory\n"));
DWORD OldProtect = 0;

// Get base address of module
char *pBaseAddr = (char*)GetModuleHandle(NULL);

// Change memory protection
VirtualProtect(pBaseAddr, 4096, // Assume x86 page size
PAGE_READWRITE, &OldProtect);

// Erase the header
SecureZeroMemory(pBaseAddr, 4096);
}

int main(){
// como puedo borrar mi cabecera en base a mi función
}

Y luego el fichero.h:
Código:
VOID ErasePEHeaderFromMemory();

Pero mi pregunta es como puedo aplicarlo a un ejemplo práctico. Supongo que tendré que obtener el base address de mi ejecutable y después usarlo en mi funcion?? Alguna sugerencia??
3  Programación / Java / Obtener la ip de un dominio con java en: 25 Mayo 2017, 17:01
Hola estaba intentando obtener la ip de un dominio usando inetaddress lo que hago es:

Código:
InetAddress giriAddress = InetAddress.getByName("www.girionjava.com");
Pero cuando lo hago me devuelve los siguientes errores:
Código:
Description Resource    Path    Location    Type
The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files    ProcessCommand.java /ActivityAndrorat/src/my/app/activityclient line 1  Java Problem
Default constructor cannot handle exception type UnknownHostException thrown by implicit super constructor. Must define an explicit constructor LauncherActivity.java   //src/my/app/client line 26 Java Problem
The project was not built since its build path is incomplete. Cannot find the class file for java.lang.Object. Fix the build path then try building this project    ActivityAndrorat        Unknown Java Problem
The type sun.management.OperatingSystemImpl is not visible  VideoPanel.java //src/gui/panel   line 36 Java Problem
Aunque incorpore la librería inetaddress a mi proyecto sigue sin funcionar ¿cómo podría incluirlo correctamente para poder obtener la dirección IP del dominio y luego hacer la conversión a string?

La captura de que agregue la librería Java correctamente:
4  Sistemas Operativos / Windows / Se puede usar windows edge en windows 7? en: 24 Mayo 2017, 23:00
Se puede usar edge en windows 7? Y si se puede como. gracias.
5  Programación / .NET / Como cargar un assembly usando la reflexión en C# en: 20 Mayo 2017, 20:55
Hola mi pregunta es como puedo cargar un assembly ya sea una dll o binario usando la reflexión, normalmente para cargar un assembly lo hago de la siguiente manera:

Código
  1. //Load the bytes as an assembly
  2. Assembly exeAssembly = Assembly.Load(decryptedBuffer);
  3.  
  4. //Execute the assembly
  5. object[] parameters = new object[1];                
  6. exeAssembly.EntryPoint.Invoke(null, parameters);
Pero ahora estaba intentandolo usando la reflexión para ello hice lo siguiente:

Código
  1. typeof(Assembly).GetMethod("Load").Invoke(null,new object[] {decryptedBuffer});
Cuando lo hago del primer modo funciona bien. Pero cuando uso el siguiente método(usando solo reflexión) me devuelve el siguiente error:
Código:
   typeof(Assembly).GetMethod("Load").Invoke(null,new object[] {decryptedBuffer});
Problem signature:
  Problem Event Name:   CLR20r3
  Problem Signature 01: Proof.exe
  Problem Signature 02: 1.0.0.0
  Problem Signature 03: 591f941f
  Problem Signature 04: mscorlib
  Problem Signature 05: 4.6.1590.0
  Problem Signature 06: 5787ed44
  Problem Signature 07: 1037
  Problem Signature 08: 60
  Problem Signature 09: System.Reflection.AmbiguousMatch
  OS Version:   6.1.7601.2.1.0.256.1
  Locale ID:    3082
  Additional Information 1: 0a9e
  Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
  Additional Information 3: 0a9e
  Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

Read our privacy statement online:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

If the online privacy statement is not available, please read our privacy statement offline:
  C:\Windows\system32\en-US\erofflps.txt
A que se debe este error? Pregunto porque he visto varios artículos relacionados con esto y quería entender porque en este caso porque no ha funcionado.

Estaba intentando llamar al assembly load usando la reflexión pero no entiendo porque una versión si funciona y la otra no como podría compatibizarla para que funcionase / cargando el assembly load de modo reflectivo?
6  Seguridad Informática / Análisis y Diseño de Malware / Pregunta sobre androrat en: 20 Mayo 2017, 16:32
Hola estuve buscando alguna aplicación remota simplemente con fines educativos es decir desde mi movil toquetearlo un poco y tal y bueno según lo que vi recomiendan androrat. Así que decidi bajarme el source que esta en github.
Es el recomendable para esto? En mi caso me gustaría tocatear el source que supongo vendrá en java, tendré que usar eclipse y empezar a ver por dentro como funciona. Bueno salu2 ya que veo poca informacion al respecto.

Fuente:
https://github.com/mirkoBastianini/AndroRAT
7  Programación / .NET / Ayuda con este crypter en .net en: 9 Mayo 2017, 13:41
Va estaba intentando cambiar un crypter para que lo haga directamente del stub el problema es el sigiente.
no sé como podría juntar dos byte arrays con un delimitador  y que cuando arranque mi programa sea capaz de obtenerlos por medio de un split.
el código es el siguiente.
Código:
//Everything seems fine -> Reading bytes
Console.WriteLine("[*] Reading Data...");
byte[] plainBytes = File.ReadAllBytes(file);

//Yep, got bytes -> Encoding
Console.WriteLine("[*] Encoding Data...");
byte[] encodedBytes = encodeBytes(plainBytes, pass);

Console.WriteLine("[*] Save to Output File... ");

//Leer el fichero
Console.WriteLine("[*] Reading fichero...");
byte[] Stub = File.ReadAllBytes("rutafichero");

// ::: Create new List of bytes
var list = new List<byte>();
list.AddRange(encodedBytes);
list.AddRange(Stub);

// ::: Call ToArray to convert List to array
byte[] resultado = list.ToArray();

//write bytes
File.WriteAllBytes(outFile, resultado);

//File.WriteAllBytes(outFile, encodedBytes);
Console.WriteLine("Done!");

Console.WriteLine("\n[*] File successfully encoded!");
Entonces juntare ambos pero luego los separaré por medio del stub. Saludos y gracias.
8  Foros Generales / Dudas Generales / Copia de seguridad de todo mi sistema/particion windows en: 5 Mayo 2017, 15:33
Como dice el proverbio es mejor prevenir que curar.  Entonces había pensado en instalar algun programa para hacer una copia de seguridad de toda mi partición (principalmente lo hago para conservar ficheros,directorios que no querría que se me borrasen) o es mejor hacer una copia directamente del directorio de la partición. Saludos y gracias!
9  Foros Generales / Dudas Generales / Sistema de ficheros ext4 una maravilla en comparación con ntfs? en: 5 Mayo 2017, 01:17
Bueno esto es una duda, inquietud y también una experiencia. Normalmente estoy acostumbrado a usar windows por facilidad, comodidad, aunque en realidad en un linux tambien puedes arrancar binarios de windows usando wine. Pero esque ultimamente cuando muevo una carpeta entre otras muchas cosas tarda horas o meses(esto era sarcasmo) mientras que cuando reinicio y uso linux veo que tarda 1 segundo mi pregunta que hago me paso a linux de cajón ya que mi cerebro esta acostumbrado a windows o cada vez que quiero mover ficheros uso linux a ver que me aconsejan.
10  Foros Generales / Foro Libre / Alguien tiene algunos programas que hizo doddy? en: 29 Abril 2017, 01:42
Hola estoy buscando algunos programas en concreto que publico doddy solo algunos concreto y ya no están.
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines