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ú

Temas - x64core

#1
el-brujo, admins, moderadores quiero hacer una sugerencia para mejorar y 'actualizar' la sección de Analisis y Diseño de Malware. Mis principales sugerencias serian cambiar las reglas de la sección respecto al permiso del contenido de los Posts y así darle una mejor apariencia a la sección a realmente analisis y desarrollo de malware.

- Permitir la publicación de Malware, me refiero a ejecutables maliciosos y no por ejemplo a herramientas de administración remota como muestras para analisis.

- La publicación de Antivirus, Anti-Rootkit o cualquier tipo de programa de seguridad sin el código fuente deberian ir en la sección de Programas o en Seguridad, a menos que sea un tema de analisis pero en ese caso el programa se trataria como una 'muestra' para analizar en busca de algún tipo de vulnerabilidad y no para usarse. El analisis de programas de seguridad tendriá relación con el desarrollo de Malware, depurando y analizando motores de Antivirus o funcionabilidades de Anti-Rootkit es posible escribir contra medidas para ellos.

De ser posible lo anterior, sugerencia: cambiar el texto "Antes llamado Troyanos y Virus" por una advertencia para el usuario antes de descargar algun ejecutable de la sección o crear algún tipo de mensaje en la sección. La descarga de malware para analisis en archivos comprimidos con contraseña (Las posibles contraseñas por defecto estarian escritas en el tema con chincheta, el mismo que contrendria las reglas para evitar de descargar y ejecutar antes de leer las reglas) así para evitar marcar el foro con contenido malicioso por escaneres.

Mi punto no es que alguien lo tome a mal por la posible manera en que sugerí este tema, talvez parece como que algo detallado (?), dí detalles ya que creo que esto sería nuevo en el foro, pensé en los que solo vienen a leer las sugerencias y/o que sus intereses son distintos al tema relacionado y al leer algo como: "permitir la descarga de programas maliciosos" puede que lo vean con otras intenciones.

Para los que están familiarizados sólo es una sugerencia ;D
#2
Sugerencias y dudas sobre el Foro / Bloqueado
15 Febrero 2014, 19:46 PM
Buenas Queria saber porqué me sale este mensaje podria pensar que he sido baneado pero al veces con sólo ingresar a
foro.elhacker.net me deniega el acceso, bloqueo de IP? baneo?
#3
Buenas, venia sugerir un boton 'copiar' para los códigos entre geshi asi es más facil para codigos que bastante lineas.
#4
Sugerencias y dudas sobre el Foro / Error?
31 Enero 2014, 22:48 PM
Error? dos .:UND3R:.
#5
Desarrollo Web / Buscando Template
31 Enero 2014, 05:36 AM
Buenas, estoy buscando un template que he visto que es usado en varios sitios web: sitio web
#6
PHP / Decodificar archivos PHP por Ioncube?
22 Noviembre 2013, 23:32 PM
Alguien sabe alguna manera de descifrar/decodificar archivos que han sido cifrados/codificados con Ioncube?
Imcluso si hay un programa que realmente funcione y es de pago, pagaria por el. Si alguien sabe , gracias

Agregado:
He probado algunos incluso de pago pero ninguno me ha funcionado, así que si alguien sabe de uno que realmente funcione.
#7
Chicos lo han notado? la structura de la cabecera de los archivos VB5/6 ha cambiado:

00401288  56 42 35 21 36 26 2A 00 00 00 00 00 00 00 00 00  VB5!6&*.........
00401298  00 00 00 00 7E 00 00 00 00 00 00 00 00 00 00 00  ....~...........
004012A8  00 00 0A 00 09 04 00 00 00 00 00 00 00 00 00 00  ...............
004012B8  30 16 40 00 00 F0 30 00 00 FF FF FF 08 00 00 00  0@..ð0..ÿÿÿ...
004012C8  01 00 00 00 01 00 00 00 E9 00 00 00 38 12 40 00  ......é...8@.
004012D8  38 12 40 00 58 11 40 00 78 00 00 00 82 00 00 00  8@.X@.x...,...
004012E8  8B 00 00 00 8C 00 00 00 00 00 00 00 00 00 00 00  ‹...Œ...........
004012F8  00 00 00 00 00 00 00 00 50 72 6F 6A 65 63 74 31  ........Project1

No sé desde cuando pero hoy estaba reverseando un malware en VB y el script para encontrar el punto de entrada me estaba fallando.

agregado:
O talvez es error mio y alguno puede decir que pasa, aunque incluso compile un hello world desde un recien instalado VB6 y los offsets a cero


#8
ASM / Opcodes,informacion Indocumentada
16 Julio 2013, 12:25 PM
Solamente algunos opcodes indocumentados

[AAM]       
[AAD]
[SALC]       
[ICEBP]     
[UMOV]       
[LOADALL]
[CMOV]       
[FCMOV]     
[FCOMI]     
[RDPMC]
[INT01]     
[SALC]       
[UD2]


Undocumented OpCodes: AAD

----------------------------------------------------------------------------

AAD - D5 IMM8 - ASCII Adjust before Division


Undocumented:  Available to all Intel x86 processors
               Useful in production source code.
                                                              AAD
Flags:                               ASCII Adjust before Division
+-+-+-+-+-+-+-+-+-+                       +----------+----------+
|O|D|I|T|S|Z|A|P|C|                       | 11010101 |   DATA   |
+-+-+-+-+-+-+-+-+-+                       +----------+----------+
|+| | | |+|+|+|+|+|                       |    D5    |     IMM8 |
+-+-+-+-+-+-+-+-+-+                       +----------+----------+


This instruction is the multiplication counterpart to AAM. As is the
case with AAM, AAD uses the second byte as an operand. This operand is
the multiplicand for AAD. Like AAM, AAD provides a way to execute a MUL
IMM8 that is unavailable through any other means in the CPU. Unlike MUL,
or IMUL, AAD sets all of the CPU status flags according to the result.
Intel states that the Overflow Flag (OF), Auxiliary carry Flag (AF), and
Carry Flag (CF) are undefined. This assertion is incorrect. These flags
are fully defined, and are set consistently with respect to any other
integer operations. And again, like AMM, beginning with the Pentium,
Intel has finally acknowledged the existence of the second byte of this
instruction as its operand. Intel says:

"Note: imm8 has the value of the instruction's second byte. The second
byte under normally assembly [sic] of this instruction will be 0A,
however, explicit modification of this byte will result in the operation
described above and may alter results."

This instruction exists in this form on all Intel x86 processors. See
the file AAD.ASM for diagnostics source code for this instruction.

----------------------------------------------------------------------------



completo aqui http://www.rcollins.org/secrets/ (ademas contiene informacion importante no documentada por intel)


Opcodes funcionan para evadir emulacion de algunos AVs mier***  :silbar: , ademas podemos usar algunos de los nuevos conjunto de
instrucciones SSE 3, SSE 4 para ello tambien, pueda que quieran usar cpuid para obtener los conjuntos de instrucciones
soportados por la cpu.

Agregado a enlaces utiles.



#9
Ensambladores, Documentación, Herramientas

Ensambladores:
FASM : DOS, Windows/Linux ( x86, x86-64 )
MASM32: DOS, Windows ( x86, x86-64 )
NASM: DOS, Windows/Linux ( x86, x86-64 )
GoASM: Windows ( x86, x86-64 )
YASM: Windows/Linux ( x86, x86-64 )
GAS : DOS, Windows/Linux ( x86, x86-64  )  
RosASM : Windows ( x86, x86-64 )
JWASM : DOS, Windows/Linux  (x86, x86-64 )
TASM : DOS  
LZASM : DOS, Windows ( x86 )
A86/A386 : DOS, Windows ( x86 )
VASM : DOS, x86, M680x0, PowerPC, ARM, Z80, 6502, 6800  
HLA: Windows, Linux, FreeBSD


Libros (Recomendados):
EL Universo Digital del IBM PC, AT Y PS/2 ( 16 bits )(Español)
Assembly Language for x86 Processors (6th Edition)
Professional Assembly Language
Introduction to 64 Bit Intel Assembly Language Programming for Linux
Undocumented DOS: A Programmer's Guide to Reserved MS-DOS Functions and Data Structures/Book and Disk  
The Complete Guide to Mmx Technology
DirectX, RDX, RSX, and MMX Technology: A Jumpstart Guide to High Performance APIs  

Enlaces Adicional:

Interrupt Jump Table - BIOS, DOS Services & functions (16-bits)
MMX and SSE Programming
Introducción a FPU
Hardware Level VGA and SVGA Video Programming Information Page
Programacion en Windows con MASM32
Introduction to x64 Assembly
Información tecnica acerca del x86
Guide to Winsock Programming  
Manuales de Intel
Manuales y Guias de AMD
Opcodes de 32,64-bis
Opcodes+Informacion undocumentada

Depuradores:
Windbg
Ollydbg
Ida debugger
Bugdbg
EDB Debugger
Radare
GDB
Immunity Debugger

Emuladores/interpretes:
EMU8086
Jasmin, Assembler Interprete
QEMU
Bochs
DOSBOX (16-bits)


#10
Hola, me preguntaba si existe algo que me pueda ayudar a obtener la direccion del codigo que se ejecuta cuando se presiona un
control, veran tengo un programa que tiene un boton ( button class ) y quiero obtener la direccion del codigo para saber
que hace el programa al ejecutar ese boton. ya intente lo que pude:

puse un breakpoint en la TraslateMessage y de condicion: WM_COMMAND & WM_LBUTTONDOWN y logro llegar a la winproc function
luego ahí pongo un bp con [ESP+08]==WM_COMMAND o [ESP+08]==WM_LBUTTONDOWN bien pero el problema es que intento seguir
cada instruccion y llego hasta el ret del winproc y lo que espero que haga no lo hace, osea parece que no estoy traceando el lugar correcto. alguna sugerencia?
#11
Hola a todos, queria saber si alguien podria decirme que puedo hacer o alternativas, veran tengo un crackme
boton "aceptar",cajas de texto "usuario","contraseña", y bueno yo lo tipico que hago es poner un breakpoint en el WM_LBUTTONDOWN, pero
he intentado hacer eso mismo ( ventanas>click derecho en boton "aceptar">Message Breakpoint on CLassproc luego me sale el mensaje:



y al configurar todo en la ventana del breakpoint on Class me sale este mensaje:



me pueden recomendar que puedo hacer en ese caso con alternativas o como puedo poner el breakpoint o al ingresar el usuario y contraseña seguir los buffers..
gracias chicos
#12
Scripting / Abrir programa con CMD?
28 Octubre 2012, 19:47 PM
Hola alguien puede decirme como puedo abrir un programa con el CMD
veran tengo un exe que abre una ventana del DOS pero quiero hacer un bat para que en la ventana del bat se abra el programa exe
y no abra otra ventana, manualmente hago así ejecuto cmd, luego busco el path lo escribo y enter y en la misma ventana del dos
se abre el exe XD
#13
Ingeniería Inversa / Ollydbg en W$ 64bits?
27 Octubre 2012, 03:51 AM
Chicos de verdad ollydbg no funciona en windows 7 de 64 bits? cualquier programa que intento debuggear antes de parar en el EP
se detiene en:

77E301B8    895C24 08       MOV DWORD PTR SS:[ESP+8],EBX
77E301BC    E9 E99C0200     JMP ntdll.77E59EAA
77E301C1    8DA424 00000000 LEA ESP,DWORD PTR SS:[ESP]


debugger program was unable to process exception.
olly no funciona en w de 64 bits? o porque pasa eso?


PD: intente con la v1.10, 2.0 y no funciona.
#14
Scripting / pasarle argumentos a un bat?
21 Octubre 2012, 05:24 AM
Hey chicos alguien sabe como puedo pasarle argumentos a un archivo bat y que los recibe y puedo manipularlos en ejecucion?
por ejemplo lo que quiero hacer es por tomar varios archivos de texto, y arrastrarlos hacia el bat y luego en mi bat poder manipularlos.

por ejemplo en mi bat llamo a un programa pasandole como parametros el nombre del archivo de texto

\xxx\xxx\programa textfile.txt

normalmente escribo los nombres de los archivos de texto que quiero modificar cada vez que quiero manipularlos pero me gustaria saber si esto es posible y como para ahorrarme mucho tiempo, cualquier ayuda gracias chicos  :)
#15
Hey chicos alguien sabe como puedo compilar una funcion sin establecer entrypoint?
por ejemplo quiero tener en un .exe esta funcion compilada, por escribir un ejemplo:

int test( int a ,int b, int c, int d, int e, int f )
{
    int t1;
    int t2;

    t1 = a + b + c;

    t2 = d + e + t1 + f;

    return t2;
}

utilizando Visual C++ con optimizaciones activadas. Alguien sabe si es posible hacerlo?


PD: Creo que es imposible pero quiero confirmarlo.

#16
ASM / emulador para x64?
11 Octubre 2012, 22:18 PM
Hola a todos, Alguíen sabe si existe un emulador de x64 que puedo ser ejecutado en x86?
No voy a tener una maquina x64 por un mes y necesito hacer unas shellcode's para x64 arquitectura y necesito un emulador para
los opcodes, y esas cosas, ustedes saben. o alguien sabe como puedo hacer en ese caso, lo que estoy buscando es un entorno para
hacer shellcode's para x64 en una x86 ( o si ayuda por ahora tengo una IA64, no no quiero instalar windows x64 ), cualquier ayuda Gracias!
#17
GNU/Linux / Copiar archivos al HD con live CD?
9 Octubre 2012, 18:48 PM
Hola a todos, bueno veran estoy usando wifiway 2.0.1 para iniciar con la PC, pero tengo instalado windows en mi PC, y quiero copiar algunos archivos usando wifiway y copiarlos a por ejemplo /Windows/system32 pero cuando intento arrastrar el archivo a esa carpeta no me permite y no sè porquè, intente cambiarle las propiedades de la carpeta a : "se puede visualizar y modificar el contenido" porque me habia fijado que tenida prohibido pero tampoco me deja modificar las propiedades, entonces como puedo yo hacer para copiar archivos a las carpetas que tengo con el window SO?
#18
saludos a todos tengo ya algunos dias de seguir el curso de ricardo narvaja, así no me sido dificil ni un poco seguirlo por la experiencia que ya tenia pero tengo algunos problemas con la leccion 22, con el crackme "Sphynx", donde enseña a saltarse el
truco de las exceptiones, bueno estaba en windows 7 y estaba siguiendo los pasos y como que el olly no hace o se va hacia otra direccion y/o termina. luego pense que quiza era porque tendria que ser en XP, ok lo probe en windows XP pero tampoco funciono.
pongo un bp en SetUnhandledExceptionFilter y UnhandledExceptionFilter

run, captura la direccion de la excepcion, pongo el bp:
00401108                              . 8B75 08        MOV ESI,DWORD PTR SS:[EBP+8]
0040110B                              . 8B46 04        MOV EAX,DWORD PTR DS:[ESI+4]
0040110E                              . 05 B8000000    ADD EAX,0B8
00401113                              . 8BF0           MOV ESI,EAX
00401115                              . 8B00           MOV EAX,DWORD PTR DS:[EAX]
00401117                              . 83C0 0E        ADD EAX,0E

(misma direccion) todo bien.
luego run, carga el programa, escribo algo, check, y para en

7C8645AA UnhandledExceptionFilter     68 48020000      PUSH 248
7C8645AF                              68 8850867C      PUSH kernel32.7C865088


luego run, y se detiene en
004010CC                              . 8915 04114000  MOV DWORD PTR DS:[401104],EDX
004010D2                              . 81FA 72930100  CMP EDX,19372
004010D8                              . 74 09          JE SHORT Sphynx.004010E3
004010DA                              . EB 22          JMP SHORT Sphynx.004010FE
004010DC                              > E8 BB000000    CALL <JMP.&kernel32.DebugBreak>          ; [DebugBreak
004010E1                              . EB 13          JMP SHORT Sphynx.004010F6
004010E3                              > 6A 00          PUSH 0                                   ; /Style = MB_OK|MB_APPLMODAL
004010E5                              . 68 63314000    PUSH Sphynx.00403163                     ; |Title = ""
004010EA                              . 68 76314000    PUSH Sphynx.00403176                     ; |Text = ""
004010EF                              . 6A 00          PUSH 0                                   ; |hOwner = NULL
004010F1                              . E8 A0000000    CALL <JMP.&user32.MessageBoxA>           ; \MessageBoxA

con:
debbugged program was unable to process exception

en seven es peor porque para en DebugBreak y luego termina con TerminateProcess osea no captura nada.
alguien puede hecharle un ojo por favor?

aqui
esta el programa del curso:
http://www.mediafire.com/?3cmxaa81bxs8ec8
#19
Ingeniería Inversa / ## Crackme - Hard
7 Octubre 2012, 08:53 AM
Que hay chicos, bueno hago este tema para saber quien quiere jugar un poco  >:D
tarde 3 dias en resolver este crackem a full time  :laugh: hasta ahora ha sido el programa más dificil que me he topado, aver quien quiere
resolverlo tambíen? y cuanto tiempo tardan, bueno yo soy novato XD este crack es hecho por un amigo no lo hice yo. y digan su nivel de dificultad  :)

http://www.mediafire.com/?e009wdlvtkgjqpq

el programa no hace absolutamente nada, solo muestra un MSGBOX cuando ha sido crackeado  ::)
#20
Ingeniería Inversa / como Depurar un Dll ?
30 Septiembre 2012, 17:48 PM
Hola a todos, quien podría decirme algun truco o como se hace generalemente para depurar una DLL cargada por un programa, mi
objetivo es depurar la DLL que cargá el programa que estoy intentando crackear , este lo carga con LoadLibrary y quisiera ponerle un BP en la primera instruccion que se ejecuta en la DLL. Cualquier ayuda gracias  :)
#21
Ingeniería Inversa / unpacker?
23 Septiembre 2012, 11:52 AM
hey chicos quien tiene algun unpacker para el aspack v2.12...?
no, no quiero dumpearlo XD, ya he tenido mucho asm por estos dias : P

si, ya he buscado, tengo uno que me funciono en un programa que estaba con aspack pero
ahora con este otro prgrama no me funciona quiza seria las versiones del packer
#22
Ingeniería Inversa / Programa crashea al escribir
23 Septiembre 2012, 02:07 AM
Hey chicos quien me puede ayudar con esta dudilla...
veran estoy jugando un poco con un programa que quiero crackear, me ah interesado tanto el programa que me ha tomado casi
todo el dia de ahora analizarlo y en los recursos el programa tiene unos bytes de comprobacion, bien he traceado casi todo y he llegado a una parte en donde el programa sobreescribe esos bytes en tiempo de ejecucion ( los bytes que se encuentran en la sección de recursos ) obtiene la direccion con las tipicas APIs. mi problema es que me he fijado que al intentar sobreescribir esos
bytes en la sección de recursos el programa crashea, "Violacion de memoria". bien pero el programa en tiempo de ejecucion no crashea :P como puedo evadir eso? eso es comun? ya han tenido ese problema con sus programas?

y otra simple pregunta, como puedo cargar un modulo con olly?
hay algun plugin o algun comando, por ejemplo quiero cargar shell32.dll a un programa que estoy depurando con olly, ya que ese programa no carga ese modulo... gracias por su atencion :)
#23
Hola a todos, chicos quien sabe como puedo poner un "indicador" dentro de un programa el cual me diga si durante la ejecucion una parte de codigo se ha ejecutado o no, veran tengo un programa que tiene varias funciones pero al parecer se ejecutan en ciertas
circunstancias, y me gustaria saber si hay algun truco o algo que me puedo indicar si se ha ejecutado esa funcion...
por ejemplo en VB durante la programacion, uno puede escribir:

debug.print "mensaje" indicando que se ah ejecutado esa funcion


hay algo como eso? :) gracias!
#24
Programación C/C++ / Pregunta Acerca de inline...
19 Septiembre 2012, 02:29 AM
hey chicos, alguien sabe que tan seguro es escribir C con inline assembly ?
por ejemplo tengo una funcion en la que tengo muchas estructuras y necesito usar inline assembly y he visto
gente guardando los registros antes de usarlos, es esto necesario?
o el compilador puede determinar eso?
por ejemplo si en uno de los registros hay una direccion a mi estructura que el compilador asigna para despues usar esa direccion
pero en el inline  utilizo ese registro para guardar otro valor, seria correcto?
o SIEMPRE de debe primero guardar los registros antes de usarlos? o el compilador puede determinar ...? y guardar su propia copia?
bueno supongo debido a que me he fijado que ahora los compiladores son bien avanzados, no me extrañaria que puedan
hacer eso... pero me gustaria saber la verdad acerca de eso  ::)

hice algunas programas de pruebas usando algunos registros y no me dio problema... pero en nuestros codigos de cientos de lineas?
#25
Programación C/C++ / Compilar codigo condicional
14 Septiembre 2012, 23:09 PM
Hola a todos, quisiera saber si alguien sabé como puedo agregar un case condicional para el compilador basado en una agregacion de
una cabecera, veran tengo un switch:


switch(h)
{
   case a1:
   ...
   break;
   case a2:
   ....
   break;
// quiero que sea condicional este case ////////////
   case a3:
   ...
   ...
   break;
//////////////////////////////////////////////////////////
}


me gustaria que depenciendo si agrego una X cabecera (.h) compilara o no ese codigo, por ejemplo si agrego #include "a.h" ese case
se compila de lo contrario no lo haga, intente jugar un poco con los #if, etc pero no logre :P alguien lo ha hecho?

Gracias
#26
Ingeniería Inversa / Encontrar direccion de API
8 Septiembre 2012, 10:16 AM
Bueno mi pregunta es novata, pero aún no he encontrado la formade saltar a una API, en el IDA.
en olly se hace Ctrl+G y se escribe el nombre de la API para luego poner bp, pero en IDA no lo encuentro...
como lo hago ¡? gracias :)
#27
Ingeniería Inversa / Un programa para una PC?
6 Septiembre 2012, 03:33 AM
Buenas gente, ustedes saben como hacen los programas para una sola PC? me habia imaginado que esto funcionaba solo con
programas que pueden conectar a algun servidor , pero nose si es posible implementarlo en uno que no conecta a internet.
por ejemplo yo quiero darle un programa a una persona pero solo me gustaria que se pueda ejecutar en la PC de el, pero creo que
si hago que el programa tome unos valores unicos de la PC, esto se puede simplemente saltar copiando el archivo antes de ejecutarlo por primera vez  :P
#28
Buenas, pues eso, estoy intentado reescribir el archivo en el disco , el mismo que se esta ejecutando, obtengo el handle ( CreateFile ) pero cuando escribo en el ( WriteFile ) me devuelve un error... intente jugar con los flags de Createfile o alguien sabe
si esto es imposible ... ? por ejemplo simplemente quiero escribir unos bytes al final del exe. alguien sabe?
#29
Programación C/C++ / Aprendiendo a programar SMTP
5 Septiembre 2012, 04:27 AM
Buenas alguien podria ayudarme con esto XD
Siempre me tome poco interes en network programming ( Sockets, TCP, etc ) pero siempre he querido enviar un email usando SMTP,
segun tengo entendido con SMTP se puede enviar a cualquier tipo de cuenta no? ( gmail, hotmail , yahoo , etc )
y encontre este codigo en la red, pero creo que no tengo algunas librerias... pero no se supone que SMTP es "portable" ?
bueno honestamente sé nada sobre ello, y por ahora no estoy del todo interesado al aprendizaje profundo sobre ello, así que me gustaria
saber quien puede decirme donde debo leer, o que buscar solamente para aprender a programar un SMTP XD y enviar un email


Código (cpp) [Seleccionar]
    #include<iostream>
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <netdb.h>
    #include <stdio.h>
    using namespace std;
    #define HELO "HELO 192.168.1.1\r\n"
    #define DATA "DATA\r\n"
    #define QUIT "QUIT\r\n"

   //#define h_addr h_addr_list[0]
   //FILE *fin;
   int sock;
   struct sockaddr_in server;
   struct hostent *hp, *gethostbyname();
   char buf[BUFSIZ+1];
   int len;
   char *host_id="192.168.1.10";
   char *from_id="rameshgoli@domain.com";
   char *to_id="rameshgoli@domain.com";
   char *sub="testmail\r\n";
   char wkstr[100]="hello how r u\r\n";

   /*=====Send a string to the socket=====*/

   void send_socket(char *s)
   {
       write(sock,s,strlen(s));
       write(1,s,strlen(s));
       //printf("Client:%s\n",s);
   }

   //=====Read a string from the socket=====*/

   void read_socket()
   {
       len = read(sock,buf,BUFSIZ);
       write(1,buf,len);
     //printf("Server:%s\n",buf);
   }

   /*=====MAIN=====*/
   int main(int argc, char* argv[])
   {

   /*=====Create Socket=====*/
   sock = socket(AF_INET, SOCK_STREAM, 0);
   if (sock==-1)
   {
    perror("opening stream socket");
    exit(1);
   }
   else
     cout << "socket created\n";
   /*=====Verify host=====*/
   server.sin_family = AF_INET;
   hp = gethostbyname(host_id);
   if (hp==(struct hostent *) 0)
   {
    fprintf(stderr, "%s: unknown host\n", host_id);
    exit(2);
   }

   /*=====Connect to port 25 on remote host=====*/
   memcpy((char *) &server.sin_addr, (char *) hp->h_addr, hp->h_length);
   server.sin_port=htons(25); /* SMTP PORT */
   if (connect(sock, (struct sockaddr *) &server, sizeof server)==-1)
   {
    perror("connecting stream socket");
    exit(1);
   }
   else
     cout << "Connected\n";
   /*=====Write some data then read some =====*/
   read_socket(); /* SMTP Server logon string */
   send_socket(HELO); /* introduce ourselves */
   read_socket(); /*Read reply */
   send_socket("MAIL FROM: ");
   send_socket(from_id);
   send_socket("\r\n");
   read_socket(); /* Sender OK */
   send_socket("VRFY ");
   send_socket(from_id);
   send_socket("\r\n");
   read_socket(); // Sender OK */
   send_socket("RCPT TO: "); /*Mail to*/
   send_socket(to_id);
   send_socket("\r\n");
   read_socket(); // Recipient OK*/
   send_socket(DATA);// body to follow*/
   send_socket("Subject: ");
   send_socket(sub);
   read_socket(); // Recipient OK*/
   send_socket(wkstr);
   send_socket(".\r\n");
   read_socket();
   send_socket(QUIT); /* quit */
   read_socket(); // log off */

   //=====Close socket and finish=====*/
   close(sock);
   exit(0);
 }


#30
Ingeniería Inversa / Un programa para cadenas?
31 Agosto 2012, 05:41 AM
Buenas alguien conoce un programa para extraer todas las cadenas de un binario ( ascii y unicode )?
no he encontrado nada hasta ahora, tengo el filealizer y lo hace, pero no puedo copiarlas todas en un txt.
#31
Buenas vengo con una curiosidad... soy yo o al usar la GetOpenFileNameA y correr el programa desde olly, este explota..?
un programa de 5 kb con solo usar esa api al ejecutarlo normalamente , funciona perfecto pero al ejecutarlo con olly explota...
:|
#32
Buenas a todos, quíen sabe de algun(os) documentos recomendados o que expliquen detallado
el uso de puntero y arrays multidimencionales? e buscado pero por el momento no he encontrado nada util,
por ejemplo expresiones como estas:

int* lp1 = (int*) &array[x][y][z];

int*** f = (int***) *(int*)(&(var)[x][y][z]);


y cosas similares, estoy teniendo problemas con e direccionamiento :P


#33
Programación C/C++ / Quitar dependencias?
14 Julio 2012, 22:00 PM
Buenas, alguien sabe como puedo quitarme del todo la libreria de VC que siempre añade algunas
funciones de esa libreria incluso ya cambie muchos opciones en el VC por ejemplo el /MT y aun continua agregandome
funciones por ejemplo:

_crt_debugger_hook

y tambien me añade funciones de kernel como:

SetUnhandledExceptionFilter
UnhandledExceptionFilter
GetCurrentProcess
isDebugPressent

que no utilizo, estuve tratando desde ayer pero no logro hacerlo, alguien sabe como?
#34
Buenas, alguien sabe algun truco para encontrar los calls a una determinada direccion?
intente buscando la direccion en el olly pero lo raro es que no la encontra, el programa el hecho por mi
en VC y como el compilador me agrega algunas optimizaciones que no quiero, pudises desactivarselas pero quiero
saber como encontrar en que lugares me hace las llamadas  :)
#35
Scripting / Como hacer este bat util?
12 Julio 2012, 23:10 PM
Buenas, me gustaría saber si alguien me puede ayudar a terminar un bat que intento hacer, es para una utilidad de rutina
diaria, veran tengo un programa .exe que necesita ser ejecutado desde la linea de comandos ya que este debe de introducirse unos comandos, pero no importa si se ingresa argumentos o no y algo importante es que necesita ser ejecuta con privilegios de admin.

bueno pero no puedo lograrlo  :laugh:
en mi bat tengo esto:

@echo off
cmd.exe "C:\programa\programa.exe"

cuando lo ejecuta sin privilegios me sale en el directorio C:\program ( ya que ahí se encuentra el bat ) pero si tengo mi bat en el
escritorio y quiero que tengo el directorio actual a C:\program? y tampoco me ejecuta el programa.exe.

y cuando lo ejecuto como admin, me aparece en system32 y luego me tengo que ir al directorio... me sale lo mismo, alguna ayuda? gracias  :)
#36
Buenas, alguien sabe que significa este resultado de detector de packer:



creo que me imagino que estab comprimido con los 3 no? por cierto busque algun unpacker para el APlib pero no lo encuentro
alguien lo tiene por casualidad?
#37
Software / algun Buscador para documentos?
28 Junio 2012, 05:31 AM
Hola, alguien conoce y recomienda un buscador de palabra para documentos, tengo uno pero
este solo busca en .txt, .html, ya saben, es un buscador de documentos sin formato, por ejemplo yo quisiera buscar
el archivos .pdf, .doc,.docx.

alguien conoce uno que tenga en uno solo? :P
#38
Buenas a todos, me gustaria saber como enlazar funciones creadas en asm ( con masm32 ) para un driver hecho en C, intente hacerlo así:

extern "C"{
unsigned long MyTest (  unsigned long Param1, unsigned long Param2);
}


intente primero sin "C" luego se lo agrege, pero me da error para a la hora de compilarlo :P


1>C:\header1.h(3) : error C2059: syntax error : 'string'
1>C:\drvmain.c(16) : error C4013: 'MyTest' undefined; assuming extern returning int



ED:

mi .asm:


.386
.model flat, c

DbgPrint PROTO stdcall, :DWORD, :VARARG
MyTest PROTO stdcall, :DWORD, :DWORD

.data
string1 db "ASM",0
.code
MyTest proc Param1:DWORD , Param2:DWORD
invoke DbgPrint, offset string1
mov eax, 0
ret
MyTest endp
end


en el .c solo hago una llamada a la funcion

Bueno ya intente incluir el .asm en el SOURCES y hacer build /Z pero me da error
#39
Buenas vengo a pedir os vuestra ayuda, veran estoy leyendo unos PDFs de una web que estan por capitulos , mi problema es que
la direccion de la web tiene la direccion asi:

downloads/products/92832878/462846384-cap10.pdf
entonces quiero buscar los demas capitulos pero no puedo ir comprobando cada numero o letra, de hecho hice lo más logico pero
no funciono, y CREO que se llama FTP para acceder a la parte donde puedo ver todos los archivos que se encuentran en ese
directorio o como puedo hacer? gracias :)
#40
Programación C/C++ / Error en IOCTL ???
16 Junio 2012, 23:55 PM
Buenas estoy tratando de terminar un IOCTL, y no puedo terminar de compilarlo por un misero error, todo lo tengo bien,
el error es este:

drv.c(129) : error C2059: syntax error : ')'


la linea de codigo :

mData = (mData*) Irp->AssociatedIrp.SystemBuffer;


mData la declaro así:

PacketToSend* mData;

es un puntero a una estructura nada más. mi codigo deberia compilarse!  :huh:

cualquier ayuda, gracias
#41
Buenas a todos vengo con este codigo curioso, estaba codeando y tenia problemas para acceder a los campos, mi logica me decia
una cosa XD, vean:


#include <Windows.h>
struct hola
{
DWORD a;
DWORD b;
DWORD* c;
};
hola jh;
int main()
{

jh.a = 10;
jh.b = 20;

DWORD* temp =  &jh.b;

temp = (DWORD*) temp + 4;

return 0;
}


pero por ejemplo si el puntero temp lo quiero incrementar +2 como seria? ojo no quiero incremntar 2 posiciones sino simplemente sumarle 2...
intente hacerle un casting de char* pero no funciono :|

alguien sabe?


ED: ( 5 min despues XD ) si funciono con el casting de unsigned char* haha, siempre en la madrugada me salen estos pequeños errores, quiza e sueño XD
#42
Ingeniería Inversa / Recurso comprimido
14 Junio 2012, 10:35 AM
Buenas a todos, bueno hoy me e topado con algo raro, estaba trasteando unos programas y encontre uno que
queria modificar un bitmap que tenia como recurso y me muestra esto un mensaje que esta comprimido... el bitmap?
os queria preguntar como puedo obtener el bitmap que trae... gracias de ante mano gente  ;)
miren:



ED:bueno me e enterado que esta empaquetado pero me e bajado el RDG Packer Detector pero no se como usarlo primero
porque no tiene extension haha
#43
Buenas  ::) quería saber quien me puede hechar una mano en este problema, el codigo es sencillo pero al salir de mi funcion
me sale un mensaje de advertencia o de error y no se si VC lo arregla:
creo que esta claro que intento hacer, pero al parecer la PILA se me pierde...

DWORD INVOKEAPINORMAL(DWORD Mod,char* APIName, DWORD nParam,...)
{
DWORD* lptemp = 0;
DWORD temp;
DWORD nn = 0;

DWORD Ret;

HMODULE hMod = NULL;
LONG hProc = NULL;

hMod =  GetModuleHandleA(Mod);
hProc = (LONG) GetProcAddress(hMod,APIName);

lptemp = &nParam;
lptemp++;
__asm
{
mov ecx,nParam
ant: mov eax,[lptemp]
mov ebx,[eax]
push ebx
add lptemp,04h
loop ant
call hProc
mov Ret,eax
}

return Ret;
}
#44
Hola a todos, bueno tengo unos problemas para listar los procesos:
no sé si estoy declarando mal las definiciones pero el retorno de la API me devuelve 0 ( osea exito ) pero como pueden ver
en el mensajebox no muestra los nombres, luego revise la memoria pero como cien bytes abajo encontraba los nombres : P


por cierto si encontrase ya la primera informacion correcta, para encontrar el siguiente puntero estaria bien hacer esto;

PointerStruct = PointerStruct + PointerStruct->NextEntryOffset;

#include <windows.h>
#include <stdio.h>

#define SystemProcessInformation 5

typedef NTSTATUS (NTAPI* DefZwQuerySystemInformation)(IN ULONG SystemInformationClass,
                        IN PVOID SystemInformation,IN ULONG SystemInformationLength,
    OUT PULONG ReturnLength);

typedef struct _LSA_UNICODE_STRING {
  USHORT Length;
  USHORT MaximumLength;
  PWSTR  Buffer;
} LSA_UNICODE_STRING, *PLSA_UNICODE_STRING, UNICODE_STRING, *PUNICODE_STRING;

typedef struct _SYSTEM_THREAD {
LARGE_INTEGER KernelTime;
LARGE_INTEGER UserTime;
LARGE_INTEGER CreateTime;
ULONG WaitTime;
PVOID StartAddress;
LONG ClientId;
LONG Priority;
LONG BasePriority;
ULONG ContextSwitchCount;
ULONG State;
LONG WaitReason;
} SYSTEM_THREAD, *PSYSTEM_THREAD;

typedef struct _SYSTEM_PROCESS_INFORMATION {

  ULONG                   NextEntryOffset;
  ULONG                   NumberOfThreads;
  LARGE_INTEGER           Reserved[3];
  LARGE_INTEGER           CreateTime;
  LARGE_INTEGER           UserTime;
  LARGE_INTEGER           KernelTime;
  UNICODE_STRING          ImageName;
  LONG                 BasePriority;
  HANDLE                  ProcessId;
  HANDLE                  InheritedFromProcessId;
  ULONG                   HandleCount;
  ULONG                   Reserved2[2];
  ULONG                   PrivatePageCount;
  LONG                 VirtualMemoryCounters;
  IO_COUNTERS             IoCounters;
  SYSTEM_THREAD           Threads[0];
} SYSTEM_PROCESS_INFORMATION, *PSYSTEM_PROCESS_INFORMATION;


int main()
{
HMODULE NTDLL = GetModuleHandle("NTDLL");
DefZwQuerySystemInformation ZwQuerySystemInformation = (DefZwQuerySystemInformation) GetProcAddress(NTDLL,"NtQuerySystemInformation");
DWORD Ret;

ZwQuerySystemInformation(SystemProcessInformation,0,0,&Ret);

unsigned char* lp = (unsigned char*) malloc(Ret);

DWORD RZ = ZwQuerySystemInformation(SystemProcessInformation,lp,Ret,&Ret);

PSYSTEM_PROCESS_INFORMATION tmp =(PSYSTEM_PROCESS_INFORMATION)lp;

MessageBoxW(NULL,tmp->ImageName.Buffer ,NULL,MB_OK);

return 0;
}
#45
Ingeniería Inversa / Anti breakpoint?
4 Junio 2012, 01:11 AM
Hola a todos bueno e escuchado mucho hablar y me han mencionado de la tecnica anti break point... que es antidebug
para poder proteger un programa y este elimina los breakpoint si detecta que esta siendo depurado...
pero no sé como es ni sé en que consiste para hacer alguna implementacion en algun lenguaje... alguien sabe como
consiste?