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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Ayuda con codigo
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con codigo  (Leído 6,295 veces)
mc_deimon

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Ayuda con codigo
« en: 12 Febrero 2013, 22:20 pm »

Hola a todos. Soy un completo novato en todo esto pero quiero crear una aplicación y me han surgido varias dudas.

La cuestión es que quiero crear un plugin para After Effects que en realidad es la suma de varias partes de otros plugins. Quieros coger 5 trocitos de 4 plugins y hacer un único plugin. Para ello he pensado en la posibilidad de acceder al código de esos 4 plugins y seleccionar las partes necesarias.

¿Es posible realizar esto? Agradecería cualquier sugerencia o modo de empezar. Los plugins estan escritos en C++

Muchas gracias!!!
En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Ayuda con codigo
« Respuesta #1 en: 13 Febrero 2013, 05:52 am »

Si se puede, pero porque no programar tu propio plugin por ti mismo y todo incluido?
bueno de todos modos, la idea seria localizar el area de codigo que necesites obtener el offset a este, luego obtener la direccion base del plugin y sumarle ese offset luego solamente llamar a esa area de codigo, asegurarte que ese codigo tiene retorno, bueno de todos modos se puede hacer de cualquier manera no hay un impossible en nada sobre este asunto pero dependiendo de la situación esto podria llegar a ser tan rustico.
En línea

alister


Desconectado Desconectado

Mensajes: 513


Ver Perfil
Re: Ayuda con codigo
« Respuesta #2 en: 13 Febrero 2013, 05:57 am »

Hola a todos. Soy un completo novato en todo esto pero quiero crear una aplicación y me han surgido varias dudas.

La cuestión es que quiero crear un plugin para After Effects que en realidad es la suma de varias partes de otros plugins. Quieros coger 5 trocitos de 4 plugins y hacer un único plugin. Para ello he pensado en la posibilidad de acceder al código de esos 4 plugins y seleccionar las partes necesarias.

¿Es posible realizar esto? Agradecería cualquier sugerencia o modo de empezar. Los plugins estan escritos en C++

Muchas gracias!!!

mi duda es:

puede un novato desarrollar un plugin de after effects? así, directamente? pasando a lo especifico y avanzado sin haber pasado antes por lo basico y general?

y dado que no conocemos la api de plugins de after effects? como puede x64_core hablar con tanta seguridad? y si hay tres rutinas main, una por cada plugin? concatenas el codigo y ya esta? y que hay con las direcciones de memoria del espacio de plugins? no habra que reorgnizarlo todo? y que hay de las interfaces, cuadros de dialogo, opciones, etc? acaso es viable agarrar tres programas y juntarlos sin mas esperando que salga uno solo 100% funcional?

y en resumen...

no estais alucinando un poco?
En línea

Back 2 business!
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Ayuda con codigo
« Respuesta #3 en: 13 Febrero 2013, 06:36 am »

mi duda es:

puede un novato desarrollar un plugin de after effects? así, directamente? pasando a lo especifico y avanzado sin haber pasado antes por lo basico y general?

y dado que no conocemos la api de plugins de after effects? como puede x64_core hablar con tanta seguridad? y si hay tres rutinas main, una por cada plugin? concatenas el codigo y ya esta? y que hay con las direcciones de memoria del espacio de plugins? no habra que reorgnizarlo todo? y que hay de las interfaces, cuadros de dialogo, opciones, etc? acaso es viable agarrar tres programas y juntarlos sin mas esperando que salga uno solo 100% funcional?

y en resumen...

no estais alucinando un poco?

Luce como que nunca has hecho algo similar.

En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Ayuda con codigo
« Respuesta #4 en: 13 Febrero 2013, 08:14 am »

Coincido con alist3r: Teniendo en cuenta la infinidad de cosas que pueden hacerse en un plugin, es medio ilógico tratar de hacer algo así.

No digo que no se pueda sacar un poco de código de una DLL, pero hay que tener MUY en cuenta todo el funcionamiento: Lo que se inicializa al momento de cargar la DLL, lo que se inicializa al momento de cargar el plugin, la interface y las funciones usadas/exportadas.

La verdad, no he hecho un plugin para After Effects, pero calculo que es similiar a uno para, por ej.: Olly (quizás un poco más complejo  :P)

Luce como que nunca has hecho algo similar.

Y tu si?  ::)

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Ayuda con codigo
« Respuesta #5 en: 13 Febrero 2013, 08:21 am »

Coincido con alist3r: Teniendo en cuenta la infinidad de cosas que pueden hacerse en un plugin, es medio ilógico tratar de hacer algo así.

No digo que no se pueda sacar un poco de código de una DLL, pero hay que tener MUY en cuenta todo el funcionamiento: Lo que se inicializa al momento de cargar la DLL, lo que se inicializa al momento de cargar el plugin, la interface y las funciones usadas/exportadas.

La verdad, no he hecho un plugin para After Effects, pero calculo que es similiar a uno para, por ej.: Olly (quizás un poco más complejo  :P)

Y tu si?  ::)

Saludos!


Crees que diria algo solo por espamear un hilo?
Hay que distinguir dos cosas: Dificil != Imposible

Cambiar el comportamiento de un programa ya compilado no es dificil como la gente piensa, tener un conocimiento bastante amplio de las funciones del SO, manejar bastante las herramientas a usar, más la experiencia.
Basandose en que el programa fue hecho por profesionales entonces debe ser de tipo modular y no sera tan dificil identificar que funcion(s) es la responsable
de tales acciones.

« Última modificación: 13 Febrero 2013, 08:23 am por x64Core » En línea

mc_deimon

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Ayuda con codigo
« Respuesta #6 en: 13 Febrero 2013, 12:24 pm »

Hola.

Muchísimas gracias a todos por responder!!! Les cuento mi caso con más detalle.

Trabajo con After Effects, creando efectos y diseños animados desde hace muchos años. La cuestión es que el programa tiene ya instalados varios efectos "plugins" como corrección de brillo, aumento de color azul, etc...
Utilizo una combinación de estos efectos para lograr un resultado concreto y quisiera tener este resultado con un único efecto ya que creo que sería muy util.

No sé de programación, me he descargado el SDK de After Effects donde vienen incluidas las heads necesarias para incluir en el código, pero la verdad es que empezar de cero me parece algo imposible. Por ello quería acceder al código de esos efectos y coger trozos para montar mi propio efecto. Los efectos de after effects están creados de forma modular y la interfaz (sliders) tambien.

Ejemplo de Interfaz:

static PF_Err ParamsSetup (
    PF_InData *in_data,
    PF_OutData *out_data,
    PF_ParamDef *params[],
    PF_LayerDef *output)
 {
    PF_Err err = PF_Err_NONE;
    PF_ParamDef def;   

    // Always clear out the PF_ParamDef
    // before adding your parameters.
    AEFX_CLR_STRUCT(def);

    // Create the LAYER parameter...
    def.param_type = PF_Param_LAYER;
    PF_STRCPY(def.name, "Displacement Layer:");
    def.u.ld.dephault = PF_LayerDefault_NONE;
    if (err = PF_ADD_PARAM(in_data, -1, &def))
       return err;
   
    // Create the ANGLE parameter...   
    def.param_type = PF_Param_ANGLE;
    PF_STRCPY(def.name, "Angle of Displacement");
    def.flags = 0;
    def.u.fd.value_str[0] =
       def.u.fd.value_desc[0] = '\0';
    def.u.fd.value = def.u.fd.dephault = 0;
    def.u.fd.valid_min =
       def.u.fd.slider_min = ANGLE_MIN;
    def.u.fd.valid_max =
       def.u.fd.slider_max = ANGLE_MAX;
    def.u.fd.precision = 0;
    def.u.fd.display_flags = 0;   
    if (err = PF_ADD_PARAM(in_data, -1, &def))
        return err;
   
    // Create the DISPLACEMENT SLIDER...   
    def.param_type = PF_Param_FIX_SLIDER;
    PF_STRCPY(def.name, "Amount of Displacement");
    def.flags = 0;
    def.u.fd.value_str[0] =
       def.u.fd.value_desc[0] = '\0';
    def.u.fd.value =
       def.u.fd.dephault = SHIFT_BLEND_DFLT;
    def.u.fd.valid_min =
       def.u.fd.slider_min = SHIFT_BLEND_MIN;
    def.u.fd.valid_max =
       def.u.fd.slider_max = SHIFT_BLEND_MAX;
    def.u.fd.precision = 1;
    def.u.fd.display_flags = 1; // display as percent
    if (err = PF_ADD_PARAM(in_data, -1, &def))
       return err;

    // GAMMA slider...
    AEFX_CLR_STRUCT(def);
    def.param_type = PF_Param_FIX_SLIDER;
    PF_STRCPY(def.name, "Source Gamma");
    def.u.fd.value_str[0] =
       def.u.fd.value_desc[0] = '\0';
    def.u.fd.value =
       def.u.fd.dephault = BIAS_DFLT;
    def.u.fd.valid_min =
       def.u.fd.slider_min = BIAS_MIN;
    def.u.fd.slider_max = BIAS_MAX;
    def.u.fd.valid_max = BIAS_BIG_MAX;
    def.u.fd.precision = 1;
    def.u.fd.display_flags = 0;
    if (err = PF_ADD_PARAM(in_data, -1, &def))
       return err;

    // Create the FIXED SLIDER parameter...   
    def.param_type = PF_Param_FIX_SLIDER;
    PF_STRCPY(def.name, "Blend With Original");
    def.flags = 0;
    def.u.fd.value_str[0] =
       def.u.fd.value_desc[0] = '\0';
    def.u.fd.value =
       def.u.fd.dephault = SHIFT_BLEND_DFLT;
    def.u.fd.valid_min =
       def.u.fd.slider_min = SHIFT_BLEND_MIN;
    def.u.fd.valid_max =
       def.u.fd.slider_max = SHIFT_BLEND_MAX;
    def.u.fd.precision = 1;
    def.u.fd.display_flags = 1; // display as percent
    if (err = PF_ADD_PARAM(in_data, -1, &def))
       return err;

    // Set number of parameters...
    out_data->num_params = SHIFT_NUM_PARAMS;

    return err;
 }

Agradecería que me pudieseis explicar como acceder al codigo de los plugins. Un saludo y muchas gracias!!!
En línea

alister


Desconectado Desconectado

Mensajes: 513


Ver Perfil
Re: Ayuda con codigo
« Respuesta #7 en: 13 Febrero 2013, 15:20 pm »

x64Core:

todo tuyo! ilústranos!

yo mantengo mi postura junto a MCKSys
En línea

Back 2 business!
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Ayuda con codigo
« Respuesta #8 en: 13 Febrero 2013, 16:32 pm »

Citar
No sé de programación
Sí, y como se espera que podas lograrlo?
Codigo Fuente? Esto es ingeniería inversa no?


En línea

mc_deimon

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Ayuda con codigo
« Respuesta #9 en: 13 Febrero 2013, 19:43 pm »

Hola.

Solo quiero cual es el método a seguir para acceder al código de los efectos.
¿Se usa algun programa específico?

Un saludo y muchas gracias.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con Codigo
Programación Visual Basic
Mitsu_POWA 1 1,992 Último mensaje 26 Julio 2005, 00:25 am
por byebye
Ayuda con codigo en C (no me ejecuta un for y necesito ayuda) « 1 2 3 »
Programación C/C++
Søra 22 11,555 Último mensaje 22 Mayo 2010, 00:22 am
por Littlehorse
¿Cuál es la diferencia entre código objeto, código máquina y código binario?
Programación General
Aikanáro Anário 9 28,973 Último mensaje 23 Diciembre 2010, 15:19 pm
por pucheto
Ayuda codigo
Programación C/C++
dario01dr 5 3,359 Último mensaje 21 Diciembre 2021, 03:30 am
por dario01dr
AYUDA CON UN CODIGO
Programación C/C++
cimli1996 2 2,045 Último mensaje 28 Febrero 2023, 18:12 pm
por Serapis
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines