Vota por nosotros en el ranking web que participamos

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - Octubre 08, 2008, 03:54:28
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programación  |  Carbide C/C#/C++  |  Tema: Obfuscatd Code 2 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Obfuscatd Code 2  (Leído 394 veces)
DarkIker
Habitual
*****
Desconectado Desconectado

Mensajes: 265


Colombia Underground Team

dark_iker_reign@hotmail.com
Ver Perfil WWW Email
« en: Marzo 30, 2008, 06:35:18 »

Bueno aqui ta la segunda version del codigo ofuscado por mi xD, en este caso solo es ofuscacion de sintaxis,  asi que es mas facil Smiley:

Código:
#include <stdio.h>
#include <stdlib.h>

#define g struct a
#define n(A) (A)->b
#define k long
#define h { struct _iobuf
#define __ unsigned short
#define m(A) ((g*)(A))->c
#define ___ ;};
#define o(a,b,c) ((a))=_wfop\
en((__*)(c),(b))
#define l (g*)malloc(sizeof(g))
#define x(C) (fte\
ll(((g*)(C))->b))
#define p(A) ((g*)(A))->C
#define q(C,D) fse\
ek(((g*)(C))->b,0,((k)(D)));
#define t(Z) ((g*)(Z))->e=fge\
twc(n(Z));
#define y(C) }while((C));
#define u(A,B) fclo\
se((A)?((g*)(B))->b:((g*)(B))->c);

g h*b,*c;unsigned   k B;    k d:32  ;__ e;unsigned k C ___
g *f;k Al(i,j)__*   i;__    *j;{f=  l;if(!(o(n(f),L"rb",(__
*)f->               B=i)))  return         0^0;(__*
)f->C               =j;if   (!(o(m         (f),L"wb\
+",p(               f))))   return         0x00&0x0
;q(f,               0x02)   f->d=x         (f);q(f,
0x00)do{t(f)fputwc  (f->e,m(f));y(         ((x(f))^
(f->d)))u(0x29A,f)  u(0^0,f)return          0x01;}

int main( void ){return 0;}

Salu2.

Att: DarkIker
En línea


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion --> Colombia Underground Team

Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion --> My Blog
Ni0
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1365


Ni0-inside the source code

Ni0@el-hacker.org
Ver Perfil WWW Email
« Respuesta #1 en: Abril 02, 2008, 12:24:36 »

bueno, empeze a hacerlo, esta facil, pero no lo tengo LISTO al 100%

una cosa... nunca vi una funcion delcarada asi
Código:
nombre(a,b)
int a;
int b;
{

/*...*/

}

 Undecided Undecided Huh Huh
el compi no da error alguno, pero nunca supe que se podia hacer eso xD

salu2!
En línea

Inside The Source Code




Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
Linux Registred User #460377
DarkIker
Habitual
*****
Desconectado Desconectado

Mensajes: 265


Colombia Underground Team

dark_iker_reign@hotmail.com
Ver Perfil WWW Email
« Respuesta #2 en: Abril 02, 2008, 12:02:35 »

Solo se puede en C, en C++si no estoy mal da error, inclusive hay otras formas mejores en C de ofsucar la delcaracion de funiones, tal vez para el 3er codigo ofuscado combien ofuscacion de codigo con sintaxis Cheesy.

Att: DarkIker
En línea


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion --> Colombia Underground Team

Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion --> My Blog
Ni0
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1365


Ni0-inside the source code

Ni0@el-hacker.org
Ver Perfil WWW Email
« Respuesta #3 en: Abril 02, 2008, 05:45:58 »

Código:
struct a {
    struct _iobuf *b,*c;
    unsigned long B;
    long d:32;
    unsigned short e;
    unsigned long C;
    };
struct a *f;
long Al(unsigned short *i, unsigned short *j)
{
    f = (struct a*)malloc(sizeof(struct a));
    if(!(f->b = _wfopen((unsigned short *)f->B,L"wb")))
        return 0;
    (unsigned short *)f->C = j;
    if(!(f->c = _wfopen((unsigned short *)f->C,L"wb")))
        return 0;
    fseek(f->b,0,4);
    f->d = ftell(f->b);
    do{
        f->e = fgetwc(f->b);
        fputwc(f->e,f->C);
    }while(ftell(f->b)^f->d);
    fclose(f->b);
    fclose(f->c);
    return 1;
}

int main( void ){return 0;}
creo q esta bien

salu2!
En línea

Inside The Source Code




Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
Linux Registred User #460377
DarkIker
Habitual
*****
Desconectado Desconectado

Mensajes: 265


Colombia Underground Team

dark_iker_reign@hotmail.com
Ver Perfil WWW Email
« Respuesta #4 en: Abril 02, 2008, 06:49:32 »

Nop, hay varios errores. Si  sabes bien lo que hace la funcion encontraras los errores facilmente.

Att: DarkIker
En línea


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion --> Colombia Underground Team

Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion --> My Blog
Fulapol
Miembro
*****
Desconectado Desconectado

Mensajes: 41


fulapol@hackerslibres.es
Ver Perfil WWW Email
« Respuesta #5 en: Abril 02, 2008, 08:23:25 »

Bueno soy algo nuevo en esto pero aca esta mi codigo

#include <stdio.h>
#include <stdlib.h>

struct a
{
 struct _iobuf *b,*c;
 unsigned long B;
 long d:32;
 unsigned short e;
 unsigned long C ;
};

struct a *f;
long Al(i,j)unsigned short* i;
unsigned short *j;
{
  f=(struct a*)malloc(sizeof(struct a));
  if(!((((f)->b))=_wfopen((unsigned short*)((unsigned short *)f -> B=i),(L"rb"))))
    return 0^0;
  (unsigned short*)f->C=j;
  if(!(((((struct a*)(f))->c))=_wfopen((unsigned short*)(((struct a*)(f))->C),(L"wb+"))))
    return 0x00&0x0;
  fseek(((struct a*)(f))->b,0,((long)(0x02)));
  f->d=(ftell(((strut a*)(f))->b));
  fseek(((struct a*)(f))->b,0,((long)(0x00)));
  do
  {
  ((struct a*)(f))->e=fgetwc((f)->b);
  fputwc(f->e,((struct a*)(f))->c);
  }while((((ftell(((struct a*)(f))->b)))^(f->d)));
  fclose((0x29A)?((struct a*)(f))->b:((struct a*)(f))->c);
  fclose((0^0)?((struct a*)(f))->b:((struct a*)(f))->c);
  return 0x01;
}

int main( void ){return 0;}

Como vi que solo habia que pasarlo no lo optimize pero espero que este bien, lo unico que no estoy seguro es en la definicion de la funciones pero bueno creo que solo es ese error
En línea

Porque juzgar a la gente, finalmente los grandes siempre son recordados y los demas en el pasado


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
DarkIker
Habitual
*****
Desconectado Desconectado

Mensajes: 265


Colombia Underground Team

dark_iker_reign@hotmail.com
Ver Perfil WWW Email
« Respuesta #6 en: Abril 02, 2008, 09:16:41 »

Nel la definicion de la funcion no esta mal, es perfectamente compatible, la idea del codigo no es hacer solo el reemplazo de los defines si no el echo de saber que hace, aunque el reemplazo esta bien echo la idea es entender mas no solamente "traducir" por decirlo de alguna forma. Ai que el que sepa que hace la funcion asi no desofusque el codigo sera el ganador( y cual es el premio ? :S ). Salu2.

Att: DarkIker

En línea


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion --> Colombia Underground Team

Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion --> My Blog
Fulapol
Miembro
*****
Desconectado Desconectado

Mensajes: 41


fulapol@hackerslibres.es
Ver Perfil WWW Email
« Respuesta #7 en: Abril 02, 2008, 10:14:07 »

Bueno soy algo nuevo en esto pero aca esta mi codigo

#include <stdio.h>
#include <stdlib.h>

struct a
{
 struct _iobuf *b,*c;
 unsigned long B;
 long d:32;
 unsigned short e;
 unsigned long C ;
};

struct a *f;
long Al(i,j)unsigned short* i;
unsigned short *j;
{
  f=(struct a*)malloc(sizeof(struct a));
  if(!((((f)->b))=_wfopen((unsigned short*)((unsigned short *)f -> B=i),(L"rb"))))
    return 0^0;
  (unsigned short*)f->C=j;
  if(!(((((struct a*)(f))->c))=_wfopen((unsigned short*)(((struct a*)(f))->C),(L"wb+"))))
    return 0x00&0x0;
  fseek(((struct a*)(f))->b,0,((long)(0x02)));
  f->d=(ftell(((strut a*)(f))->b));
  fseek(((struct a*)(f))->b,0,((long)(0x00)));
  do
  {
  ((struct a*)(f))->e=fgetwc((f)->b);
  fputwc(f->e,((struct a*)(f))->c);
  }while((((ftell(((struct a*)(f))->b)))^(f->d)));
  fclose((0x29A)?((struct a*)(f))->b:((struct a*)(f))->c);
  fclose((0^0)?((struct a*)(f))->b:((struct a*)(f))->c);
  return 0x01;
}

int main( void ){return 0;}

Como vi que solo habia que pasarlo no lo optimize pero espero que este bien, lo unico que no estoy seguro es en la definicion de la funciones pero bueno creo que solo es ese error

Perdon es que no conocia como funcionabe el post, pero creo que ahhi un error en Al porque l se traduce a malloc pero bueno no lo he compilado;

Segun lo entendido sirve para asignar a f -> B un archivo para lectura y en f -> C para escritura, lo que lee lo pone en f -> e y lo escribe en f -> c y luego cierra los archivos que son f -> B y f -> C. Eso es lo que llegue a enteneder y creo que esta muy cera. DIme si me equvoco, aunque creo que me falta decir que abre y para que lo escribe pero bueno luego te lo dire.
En línea

Porque juzgar a la gente, finalmente los grandes siempre son recordados y los demas en el pasado


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
DarkIker
Habitual
*****
Desconectado Desconectado

Mensajes: 265


Colombia Underground Team

dark_iker_reign@hotmail.com
Ver Perfil WWW Email
« Respuesta #8 en: Abril 02, 2008, 10:20:30 »

estas cerca, pero la funcion como tal aunque si hace lo que vos dijiste trabja con algo que no es un tema que se halla tratado mucho en este foro hasta donde recuerdo. Nop no hay error en la declaracion de la funcion.

Att: DarkIker

En línea


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion --> Colombia Underground Team

Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion --> My Blog
Ni0
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1365


Ni0-inside the source code

Ni0@el-hacker.org
Ver Perfil WWW Email
« Respuesta #9 en: Abril 03, 2008, 06:53:57 »

copia el "numero magico"Huh

creo que hace eso, pero una cosa:
Código:
long Al(unsigned short *i, unsigned short *j){
f = (struct a*)malloc(sizeof(struct a));
    if(!(f->b = _wfopen((unsigned short *)f->B,L"wb")))
        return 0;
a f->B no le asigna ninguna posicion a ninguna cadena :S siempre retornaria 0 :S no?

salu2!

En línea

Inside The Source Code




Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
Linux Registred User #460377
DarkIker
Habitual
*****
Desconectado Desconectado

Mensajes: 265


Colombia Underground Team

dark_iker_reign@hotmail.com
Ver Perfil WWW Email
« Respuesta #10 en: Abril 03, 2008, 08:02:00 »

nel no copia numeros magicos y si se le asigna una cadena a f->B:

Código:
if(!((((f)->b))=_wfopen((unsigned short*)((unsigned short *)f -> B=i),(L"rb"))))
    return 0^0;

Solo que vos hiciste mal el reemplazo Tongue.

Att: DarkIker
En línea


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion --> Colombia Underground Team

Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion --> My Blog
Ni0
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1365


Ni0-inside the source code

Ni0@el-hacker.org
Ver Perfil WWW Email
« Respuesta #11 en: Abril 03, 2008, 08:31:15 »

xD ese es uno de los errores de mi codigo xD
Citar
#define SEEK_CUR 0
#define SEEK_END 1
#define SEEK_SET  2                DJGPP

#define SEEK_CUR 1
#define SEEK_END 2
#define SEEK_SET  0                Borland

#define SEEK_CUR (1)
#define SEEK_END (2)
#define SEEK_SET  (0)              Dev-C+

tube otros errores en mi codigo, porque me confundi los argumentos de fseek, pense que cuando se movia era el ultimo....

bueh, segun esa tabla.... y segun algunas (posiblemente malas) deducciones

copias el archivo xD

te vas a la ultima posicion, obtenes con ftell donde esta, volves al principio y empezas a copiar hasta que sea igual..., osea, hasta que llega al final xD

Huh

salu2!
En línea

Inside The Source Code




Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
Linux Registred User #460377
DarkIker
Habitual
*****
Desconectado Desconectado

Mensajes: 265


Colombia Underground Team

dark_iker_reign@hotmail.com
Ver Perfil WWW Email
« Respuesta #12 en: Abril 03, 2008, 09:31:03 »

Yeah point un "copier" de archivos qie acepta por parametros el nombre en unicode del fichero e igualmente copia archivos "unicode".
Que raro eso del SEEK_SET y SEEK_END :S a mi en el vc me aparecia con el valor que puse en el code Tongue. Salu2

Att: DarkIker
En línea


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion --> Colombia Underground Team

Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion --> My Blog
Ni0
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1365


Ni0-inside the source code

Ni0@el-hacker.org
Ver Perfil WWW Email
« Respuesta #13 en: Abril 03, 2008, 09:38:57 »

jejejjee

lo saque de
Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion hay una parte que explica las librerias estandar, y te dice como define las macros

una pregunta... que es
Código:
long d:32
?? 32 bits??

salu2!
En línea

Inside The Source Code




Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
Linux Registred User #460377
DarkIker
Habitual
*****
Desconectado Desconectado

Mensajes: 265


Colombia Underground Team

dark_iker_reign@hotmail.com
Ver Perfil WWW Email
« Respuesta #14 en: Abril 03, 2008, 10:29:28 »

yem, es solo para confundir por que igual "long" en un pc de 32 bits sera de 32 bits xD.

Att: DarkIker
En línea


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion --> Colombia Underground Team

Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion --> My Blog
AzRaEL
Moderador Global
Colaborador
*****
Desconectado Desconectado

Mensajes: 404


... a light to burn all the empires


Ver Perfil
« Respuesta #15 en: Abril 04, 2008, 01:31:59 »

ya pensare en el premio....


saludos tias
En línea

Carbide Senior Developer
crackenfind.net
eof-project.net

DarkIker
Habitual
*****
Desconectado Desconectado

Mensajes: 265


Colombia Underground Team

dark_iker_reign@hotmail.com
Ver Perfil WWW Email
« Respuesta #16 en: Abril 04, 2008, 11:59:20 »

Para librerias estandar realmente c con clase me parece una vil traducion de opengroup, siempre que busco una funcion ansi o de linux uso opengroup "
Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion" el cual hace todas las especificaciones necesarias en lo referenrete al estandar y no deja nada al aire.

PD: Az desde que el premio no sea un cupo para participaren la e-zine xDD.

Att: DarkIker
En línea


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion --> Colombia Underground Team

Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion --> My Blog
AzRaEL
Moderador Global
Colaborador
*****
Desconectado Desconectado

Mensajes: 404


... a light to burn all the empires


Ver Perfil
« Respuesta #17 en: Abril 04, 2008, 02:12:11 »

Para librerias estandar realmente c con clase me parece una vil traducion de opengroup, siempre que busco una funcion ansi o de linux uso opengroup "
Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion" el cual hace todas las especificaciones necesarias en lo referenrete al estandar y no deja nada al aire.

PD: Az desde que el premio no sea un cupo para participaren la e-zine xDD.

Att: DarkIker

Taba pensando mas bien en pedirle a abs un dominio...


saludos
En línea

Carbide Senior Developer
crackenfind.net
eof-project.net

lann
Habitual
*****
Desconectado Desconectado

Mensajes: 313


maamamma

migue1990@gmail.com
Ver Perfil Email
« Respuesta #18 en: Abril 04, 2008, 11:20:24 »

jaj darkiker despreciando a la e-zine =p, me dan ganas de publicar algun articulo sobre que la programacion y el alcohol en exceso no son buenos complementos.

y pues esa pagina son como los man de las funciones estandar no? ( solo para que esto no paresca muy offtopic )
En línea

am
~[L]~
Visitante
« Respuesta #19 en: Abril 04, 2008, 11:25:39 »

umhh, es preprocesador que se termina traduciendo a .obj  y de obj a .exe (caso win)

si hablas de ofuscar el codigo fuente, buen trabajo, se me lograron cruzar un poco los ojos n_n"

Adieu ^^
En línea
Ni0
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1365


Ni0-inside the source code

Ni0@el-hacker.org
Ver Perfil WWW Email
« Respuesta #20 en: Abril 05, 2008, 04:25:51 »

Citar
si hablas de ofuscar el codigo fuente
si, de eso se trata xD xD xD

salu2!
En línea

Inside The Source Code




Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
Linux Registred User #460377
Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programación  |  Carbide C/C#/C++  |  Tema: Obfuscatd Code 2 « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.6 | SMF © 2006-2007, Simple Machines LLC