Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Miseryk

#11
Cita de: palophp en 25 Octubre 2016, 20:31 PM
Hola.
Estoy realizando un script para apagar los equipos de un dominio, pero no se me apagan ni metiendo las credenciales del administrador de cada equipo.
Utilizo la sentencia ConnectServer pero no hay tu tia.
Alguien me ayuda?

Este es el codigo, pero no me hace nada:
Código (vb) [Seleccionar]

Dim sUser, sPassword
'set remote credentials
sUser = "adm"
sPassword = "***"

'Establecemos control de errores
On Error Resume Next

'get WMI locator
Set oLocator = CreateObject("WbemScripting.SWbemLocator")
'Connect to remote WMI
Set oConnection = oLocator.ConnectServer(StrEquipo, "\root\cimv2", sUser, sPassword)

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate,(Shutdown)}!\\" & StrEquipo  & oConnection)
   
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
   For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Win32Shutdown(1)
   Next



Fijate con el shutdown de windows, le podés pasar -m \\PC con user y pass
#12
Cita de: Lucasax en  3 Octubre 2016, 22:31 PM
Hola a Todos, este post es educacional unicamente y quiero que me tiren ideas. No pido codigos ni nada.

Lo que hice es una función donde busco el color de un pixel abajo en el nombre y despues posiciono el mouse 30 pixels arriba del nombre.

El problema es que cuando el nombre es muy largo, se me desplaza el mouse por encontrar el pixel en la coordenada X sube los 30 pixels para arriba y no colisiona el mouse con el personaje.

Alguna idea / ayuda?

Lo que pense es que podia buscar el primer y ultimo pixel del nombre y sacar el mid point para así obtener la coordenada X exacta del personaje. El problema es que busco pixels alrededor de un rectangulo invisible en mi mouse asique no puedo obtener la primera y ultima coordenada de los pixels del nombre.




Ejemplo: Si ven el nombre de Leminer al encontrarmeocon la letra "L" se mueve el mouse para arriba y no emboco al personaje sino al pasto.

MOD: imagen adaptada a lo usado en el foro.

Fijate si el nombre siempre se posiciona en el centro, podés obtener el width y los dividís por 2 (mitad) y ahí tenés el centro que sería el user.
#13
Hola a todos, alguno tiene idea como hacer una clase que por parámetro reciba cualquier tipo de clase y llame a sus funciones?

Ej: Tengo una clase (referencia de dll) llamada UD01 hasta UD100, ambas clases comparten mismas funciones pero ejecutan sentencias internas de SQL hacia tu tabla correspondiente.

Hay alguna manera de hacer ésto?

Código (csharp) [Seleccionar]

public class GenericClass
{
   cualquierclase ClaseGenerica;

   public GenericClass(clase Generica)
   {
       ClaseGenerica = Generica;
   }

   public void Test()
   {
       ClaseGenerica.Connect();
       //code
       ClaseGenerica.Disconnect();
   }
}

GenericClass asd = new GenericClass(UD10);
asd.Test();
#14
Cita de: ivancea96 en 21 Octubre 2016, 16:42 PM
C# trabaja sobre la maquinavirtual de :NET. No es un lenguaje compilado. No está pensado para acceder a la memoria. La memoria no la manejas tú, sino que la maneja la máquina virtual.
Que yo sepa, puedes ver la dirección de memoria de variables (En un entorno unsafe).
Unafunción, en .NET, según tengo entendido, puede o no estar en la memoria ensamblado.

Sea lo que sea lo que buscas, no olvides que C# no es compilado.

Lo pre-compila 1 vez (la primera ejecución de esa función/evento), luego no más.
#15
.NET (C#, VB.NET, ASP) / C# Button.Click Address
21 Octubre 2016, 14:49 PM
Buen día a todos, estuve buscando información al respecto en internet (google), no sé si me volví tarado buscando o si son todos tarados, el punto es que quiero obtener el address del button click para poder hookearme o hacer un simple WriteProcessMemory, alguna idea? a C# le molesta todo....

Saludos!
#16
Programación C/C++ / Re: [AYUDA] Interface?
24 Noviembre 2015, 22:26 PM
Cita de: ivancea96 en 24 Noviembre 2015, 16:31 PM
Un ejemplo:

Código (cpp) [Seleccionar]
class IClase{
public:
    virtual void Funcion1() = 0;
}

class A : public IClase{
public:
    virtual void Funcion1(){
        //...
    }
}


Sí, éso es todo muy lindo, pero no puedo hacer

Código (cpp) [Seleccionar]

Class Test
{
    public:
        IClase MyIClase; //Error 1 error C2259: 'IClase' : cannot instantiate abstract class,

}
#17
Cita de: CoolTesting en  8 Noviembre 2015, 22:05 PM
Hola, me gustaria saber cual es el valor de una variable, por ejemplo, el tipo de datos int en mi ordenador equivale a  4 bytes.

Pero si en el int yo guardo por ejemplo este numero:

int i = 12345;

Estoy guardando 5 numeros, y cada numero equivale a un byte, entonces por que los guarda?, si si, ya se quizas estoy entendiendo mal, y estoy seguro de que lo estoy entendiendo mal porque de haberlo entendido bien no surgiria esta duda, me gustaria que me aclaren eso.

Gracias, de verdad me gustaria mucho saber el por que de esto.

1BYTE = 0xFF
2BYTES = 0xFFFF
4BYTES = 0xFFFFFFFF

string => 4BYTES => apunta a una dirección de memoria hasta llegar al '\0' ó NULL.

Si tenés 123456 y querés saber cuantos bytes ocupa hay que pasarlo a HEX, 1E240, ahí tendría 3BYTES, pero no se agrupan de a 3, entonces ocupa 4BYTES.

Luego de números positivos y negativos, es la misma lógica, lo que hace el compilador es tomar 4BYTES, lo divide en 2 y la primera parte es positiva y la otra negativa o alrevez.

Ej:

0xFFFFFFFF = 4294967295 número positivo

Si es declarado como una variable que soporta positivos y negativos, se divide en 2 y esa lógica la hace internamente (2147483647)
#18
Cita de: r3daurii en 20 Noviembre 2015, 23:44 PM
Hola equipo!

últimamente he estado buscando por la red información para los estudios necesarios para la programación de cajeros automatizados, sin embargo encuentro muy poca información relativa al asunto. Mi pregunta es si existe algún tipo de estudios en concreto que realizar (véase lenguaje de programación, supongo que Java muchos) para poder optar a la programación de los mismos  :huh:

Gracias de antemano

En realidad todos los cajeros usan una norma llamada XFS, la página oficial te dá el SDK creo.
#19
Cita de: GonzaFz en 25 Octubre 2015, 14:57 PM
Ya hace mucho que vengo jodiendo con querer hacer un server emulator de un juego online (no existe ningun emulador). Cada vez que empiezo lo dejo al tiempo, aunque siempre avanzo un poquitito mas. Hoy se repite la historia...

Cuando arranque (a comienzo de año) me habia dado cuenta que los paquetes estan cifrados, y con el OllyDBG pude encontrar el algoritmo de encriptacion (muy simple).

Cuando me conecto al servidor, el mismo envia una clave de 16 bytes que todavia no se como se genera pero no importa.
Cada vez que el cliente tiene que enviar un mensaje, realizar una operacion XOR entre una DWORD del mensaje y una DWORD de la clave, la DWORD de la clave se elige mediante un algoritmo tonto que ahora no lo recuerdo.
Luego de cifrar el mensaje se suma a cada DWORD de la clave la longitud del mensaje cifrado. (En realidad no es la totalidad de la longitud, si el mensaje tiene una longitud de 0x38, entonces suma 0x30, no se como llamarlo)

Y se repite todo por cada mensaje enviado.
Entonces lo siguiente que debia hacer era desencriptarlos e interpretarlos.

En ese momento se me habia ocurrido (debido a mis pocas capacidades pensativas) hacer un programa en el cual al ingresar la clave, el numero del mensaje (ej, mensaje 5) y el mensaje, este me devuelva el mismo descifrado.
Me dispuse a hacerlo pero me frustro perder tanto tiempo teniendo que convertir datos para poder tratarlos, para poder ponerlos en los componentes de la GUI, etc, asi que deje todo a la *****.

Hoy retomando me di cuenta que lo mejor que podria hacer es interceptar la funcion que lo cifra (o descifra) y guardar el mensaje en un log antes de encriptarlo, asi puedo tomar muchisimas muestras y analizarlas facilmente.

Estuve leyendo sobre la inyeccion de DLLs pero hay cosas que no me quedan muy en claro.
La funcion a la que quiero acceder (basicamente para extenderla) no son del sistema, son del juego sobre el cual estoy trabajando.
Leyendo un par de cosas en google se me ocurrio que lo ideal seria obtener la direccion de memoria donde esta la funcion (creo que es fija) y luego sustituir alguna instruccion con un jump a la DLL que yo inserto.
Ya dentro de mi funcion tendria que acceder a los parametros (un buffer y la longitud del buffer) de la funcion la cual intercepte y es eso lo que no se como tengo que hacer.
Segun tengo entendido los parametros, en assembler, se pasan por el Stack y luego son recuperados por la funcion que se ejecuta, entonces yo deberia saltar a mi funcion en la primera instruccion, sacar todos los parametros, procesarlos y despues volver a volcarlos en el Stack, eso es correcto?

Y algo relacionado pero a parte, mi idea es ir capturando ese buffer cada vez que se va a mandar un mensaje e ir guardandolo en un log (xml).
Como tendria que hacerlo? Porque si lo hago en mi funcion cada vez que llegue tendria que abrir el log, escribir el buffer y algunos datos mas, y despues cerrar el archivo, creo que no seria lo optimo teniendo en cuenta que haria esto todo el tiempo que se envian paquetes.

Saludos.

Si sabés donde empieza la función, fiajte en el ret, ahí te dice la cantidad de bytes de parámetros, sinó luego del ret vá a ir a parar debajo de un call, arriba están los pushes de la función.
#20
Cita de: Kaxperday en  4 Noviembre 2015, 20:20 PM
Buenas, tengo una duda y es la siguiente:

Si creo una dll que muestra un mensaje, y la inyecto a un proceso ¿necesito solo el pid del proceso no?, en plan creo una dll que dice "hola mundo", la inyecto en svchost.exe ¿y listo?, ¿o tengo que hacer ingeniería inversa de svchost.exe?.

Si svchost.exe corre como system, el programa que ejecuto en mi dll correría como system?, puedo conseguir que lo haga a través del token de svchost.exe? ya que se supone lo ejecuta ese proceso si la inyecto a el.

La idea es saber si con este proceso podré tener permisos de administrador (o system que son como los de administrador pero con más opciones aún  si no me equivoco) siempre para mi dll, pues mi dll necesita permisos de administrador siempre.

¿Con inyección de dll puedo conseguir permisos de administrador sin que salga el uac para siempre?, es decir windows se reiniciaría y el programa de mi dll correría en system sin mensajes ni nada, ¿no?.

Un saludo.

Lo que hacés cuando inyectás es escribir memoria (openprocess, necesitás el handle del proceso) en el proceso target y luego con CreateRemoteThread "ejecutás" desde esa posición de memoria que escribiste, para poder inyectar una dll a un proceso system hay que hacer algunas cosas bastante complicadas, la dll no necesita permisos, el inyector necesita esos permisos, una vez que estás adentro podés tomar el control de todo el proceso con el nivel que quieras.