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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Mensajes
Páginas: 1 ... 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 [36] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 ... 331
351  Programación / Programación C/C++ / Re: Equivalente de funcion REPLACE de vb en C ? en: 18 Julio 2012, 23:01 pm
@rir3760
Gracias por las aclaraciones ( estoy traumatizado con los casting de variables debido a que "siempre" me salen errores al asignarlos a una variable ).

--- Modifique mi código replace().

Dulces Lunas!¡.
352  Programación / Programación C/C++ / Re: [Aporte] Qt4 Gold Serial Recover en: 18 Julio 2012, 22:55 pm
Usa SQLite para que el almacenamiento de los seriales sean externos al ejecutable.

Dulces Lunas!¡.
353  Programación / Desarrollo Web / Re: Mostrar paginas web cada ciertas visitas! en: 18 Julio 2012, 21:32 pm
Si haces eso perderás clientela, debido a que ellos van a RENTAR la PC no a que le fastidies el tiempo con tus anuncios Yo te la mentaría y no te pagaría nada si uso la PC y veo anuncios PERSISTENTES de cualquier índole aun que sean tus promociones, estos imprime y pega estos en la pared QUE TODOS LOS VEAS y que no fastidie el tiempo de uso de la PC o su visualización.

* Si tienes W7 solo prepara themes con fondos cambiantes.
* NO DEBES OBLIGAR A VER ALGO AL USUARIO QUE NO QUIERE (si esta de fondo y cambia el fondo es que no le agrada y esta en su derecho de cambiarlo, solo pídele que deje la PC como estaba).
* No implementes nada que sea man-in-the-middle los usuarios te van a demandar si se dan cuenta y te pueden atribuir la culpa de cualquier cosa referente a sus cuentas (ya que con esto se pueden hacer varias cosas).
* Revisa las normas/ leyes de privacidad de un cliente.

P.D.: Los cyber-café no solo son para quienes no tienen PC, pueden usarse en emergencias, Jamas he visto ninguno de estos establecimientos que vendan u ofrezcan café...

Dulces Lunas!¡.
354  Programación / Programación General / Re: ¿Y si creamos un lenguaje de programación? en: 18 Julio 2012, 10:20 am
tal vez mis estructuras de mi CSxript que estoy haciendo te sirvan (por ahora me concentro en funciones y variables)...

Código
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include <stdbool.h>
  6.  
  7. struct String;
  8. struct Variable;
  9. struct VariableList;
  10. struct Function;
  11.  
  12. struct Params;
  13. struct ParamsList;
  14. struct Instruction;
  15. struct InstructionList;
  16.  
  17. const long INVALID_INDEX = -1;
  18.  
  19. /*
  20. typedef struct Variable Variable ;
  21. typedef struct Function Function;
  22. typedef struct VariableList VariableList;
  23. */
  24.  
  25. struct String {
  26.    char* text;
  27.    size_t size;          //  Tamaño del bloque reservado (mas no el que se usa).
  28. };
  29.  
  30. struct Variable {    //  Define una varible.
  31.    enum FORMAT_VARIABLE{
  32.        _NONE_      = 0x0,
  33.        //  Tipos...
  34.        _CHAR_      = 0x1,
  35.        _INT_       = 0x2,
  36.        _FLOAT_     = 0x4,
  37.        _DOUBLE_    = 0x8,
  38.        _VOID_      = 0x10,
  39.  
  40.        //  Modificadores...
  41.        _UNSIGNED_  = 0x100,
  42.        _LONG_      = 0x200,    //  Se permite usar 2 veces solo en INT y 1 vez en DOUBLE.
  43.        _SHORT_     = 0x400,    //  Se permite usar 1 vez en INT.
  44.        _CONST_     = 0x800,    //  Solo una vez en todos los tipos de variables.
  45.        _PTR_       = 0x1000,   //  Indica que la variable es un puntero.
  46.        _SHARED_    = 0x2000,   //  Se usa en combinacion de una variable tipo puntero (Se usa para que la memoria pedida no se autolibere al salir de la función).
  47.        _STATIC_    = 0x3000    //  Se usa para que una variable no pierda su valor al salir de una funcion.
  48.    } a;
  49.    struct String name;         //  Nombre de la variable.
  50.    long flags;                 //  Tipo de variable (Es una combinacion de las enumeraciones superiores).
  51.    size_t size;                //  Tamaño en bytes de la variable.
  52.    void* value;                //  Valor.
  53. };
  54.  
  55. struct VariableList {           //  Lista de variables.
  56.    struct Function* parent;    //  Funcion padre donde estan alojadas las variables.
  57.    unsigned long count;        //  Cantidad de variables.
  58.    struct Variable** list;     //  Puntero a la lista de las funciones.
  59. };
  60.  
  61. struct Params {
  62.    enum FORMAT_PARAM {
  63.        _VARIABLE_ = 1,
  64.        _FUNCTION_ = 2,
  65.        //_VOID_ = 4
  66.    } a;
  67.    void* value;                //  Apuntador al parametro (Segun flags debera de realizarse un cast adecuado).
  68.    long flags;                 //  Tipo de parametro: variable, funcion...
  69. };
  70.  
  71. struct ParamsList {
  72.    struct Instruction* parent; //  A que instruccion pertenece este parametro?.
  73.    struct Params* list;        //  Lista d elos parametros.
  74.    size_t count;               //  Cantidad de parametros.
  75. };
  76.  
  77. struct Instruction {
  78.    enum {
  79.        //  Flags Predeterminados.
  80.        //_NONE_,             //  No es ninguna instruccion.
  81.  
  82.        //  Asignaciones.
  83.        _ASIGN_,            //  Asignacion (A = B).
  84.        _ASIGN_ADD_,        //  Asignacion con Sumatoria/Resta ( A += B, A >- B).
  85.        _ASIGN_ROL_,        //  Asignacion con dezplazamientode de N bits a la izquierda ( A <<= B).
  86.        _ASIGN_ROR_,        //  Asignacion con dezplazamientode de N bits a la derecha ( A >>= B).
  87.  
  88.        //  Comparaciones.
  89.        _EQUAL_,            //  Igual que (A == B).
  90.        _GREATTHAT_,        //  Mayor que (A > B).
  91.        _LESSTHAT_,         //  Menor que (A < B).
  92.        _GREATTHAT_EQUAL_,  //  Mayor o igual que (A >= B).
  93.        _LESSTHAT_EQUAL_,   //  Menor o igual que (A >= B).
  94.        _AND_,              //  A y B (A && B).
  95.        _OR_,               //  A o B (A || B).
  96.  
  97.        //  Operaciones Basicas (base 10).
  98.        _ADD_,              //  Resta/Suma (A+B).
  99.        _ADD_PRE_,          //  Resta/Suma -/+ 1 (++A, --A).
  100.        _ADD_POST_,         //  Resta/Suma -/+ 1 (A++, A--).
  101.        _MULTIPLY_,         //  Multiplicacion (A * B).
  102.        _MOD_,              //  Residuo de A entre B (A % B) (retorna un unsigned long long).
  103.        _DIV_,              //  A entre B (A / B) (Retorna un long double).
  104.  
  105.        //  Operaciones Binarias (base 2).
  106.        _ROL_,              //  Rotacion de N bits a la izquierda (A << N).
  107.        _ROR_,              //  Rotacion de N bits a la izquierda (A >> N).
  108.        _AND_BIT_,          //  A y B (A & B).
  109.        _OR_BIT_,           //  A o B (A | B).
  110.        _XOR_,              //  A xor B (A ^ B).
  111.        _NOT_               //  complemento binario (not A).
  112.    } a;
  113.    struct Function* parent;    //  A que funcion pertenece la instruccion?.
  114.    int opcode;                 //  De que tipo es la instruccion?.
  115.    struct ParamsList arg;      //  Lista de argumentos d ela funcion.
  116. };
  117.  
  118. struct InstructionList {
  119.    struct Function* parent;    //  A que funcion pertenece la lista de instrucciones?.
  120.    struct Instruction* list;   //  Lista de instruccion.
  121.    size_t count;               //  Cantidad de instrucciones contenidas.
  122. };
  123.  
  124. struct Function {
  125.    struct Function* stackCall; //  Pila del proceso (Quien llamo al proceso).
  126.    struct String name;         //  Nombre de la funcion.
  127.    struct VariableList* vars;  //  Lista de variables.
  128.    struct InstructionList code;//  Codigo de la funcion Cada linea representa una instruccion.
  129.    struct Variable ret;        //  Valor que retorno la funcion.
  130. };
  131.  
  132.  
  133. bool            stringInit(struct String* str);
  134. struct String*  stringCreate();
  135. char*           stringRedim(struct String* str, size_t size);
  136. bool            stringFinalize(struct String* str);
  137. bool            stringFree(struct String* str);
  138. struct Variable*        variableCreate(const char* name);
  139. bool            variableFree(struct Variable* var);
  140. bool            variableFreeList(struct Variable** varlist, size_t count);
  141. struct Variable**       variableListFind(struct VariableList* varlist, const char* find);
  142. struct VariableList*    variableListCreate();
  143. struct VariableList     variableListInit();
  144. bool            variableListFinalize(struct VariableList* varlist);
  145. bool            variableListFree(struct VariableList* varlist);
  146. unsigned long   variableListLink(struct VariableList* varlist, struct Variable* var);
  147. long            variableListIndex(struct VariableList* varlist, struct Variable** ptr);
  148. unsigned long   variableListUnLink(struct VariableList* varlist, struct Variable** ptr);
  149.  
  150.  

Dulces Lunas!¡.
355  Programación / Programación C/C++ / Re: Equivalente de funcion REPLACE de vb en C ? en: 17 Julio 2012, 21:59 pm
http://foro.elhacker.net/programacion_cc/consulta_programa_para_parsear_csv-t365491.0.html;msg1760918#msg1760918

Código
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5.  
  6. char* replace(const char *str, const char *find, const char *rep)
  7. { // Reemplaza UNO  A LA VEZ...
  8.    char *ret = NULL;
  9.    size_t strOln;
  10.    size_t strFln;
  11.    size_t strRln;
  12.    const char *end[2];
  13.    size_t sizeL;
  14.    size_t sizeR;
  15.  
  16.  
  17.    if (!str) return NULL;
  18.  
  19.    strOln = strlen(str);
  20.  
  21.    if (!find || (end[0] = strstr(str, find)) == NULL) {
  22.        ret = (char*)malloc(strOln + 1);
  23.        memcpy(ret, str, strOln + 1);
  24.        return ret;
  25.    }
  26.  
  27.    strRln = strlen(rep);
  28.    strFln = strlen(find);
  29.  
  30.    end[1] = end[0] + strFln;
  31.  
  32.    sizeL = end[0] - str;
  33.    sizeR = (str + strOln) - end[1];
  34.  
  35.    ret = (char*)malloc(sizeL + strRln + sizeR + 1);
  36.  
  37.    memcpy(ret, str, sizeL);
  38.    memcpy((ret + sizeL), rep, strRln);
  39.    memcpy((ret + sizeL + strRln), end[1], sizeR);
  40.  
  41.    ret[sizeL + strRln + sizeR] = '\0';
  42.  
  43.    return ret;
  44. }
  45.  
  46. int main() {
  47.    const char MSG[] = "% &";
  48.    char* ret1;
  49.    char* ret2;
  50.  
  51.    ret1 = replace(MSG, "%", "Hola");
  52.    ret2 = replace(ret1, "&", "Mundo");
  53.  
  54.    puts(ret1);
  55.    puts(ret2);
  56.  
  57.    free(ret1);
  58.    free(ret2);
  59.  
  60.    getchar();
  61.  
  62.    return 0;
  63. }
  64.  
  65.  

Dulces Lunas¡.
356  Programación / Programación C/C++ / Re: Una ayudita por favor en: 17 Julio 2012, 19:57 pm

« Última modificación: Hoy a las 11:39:24 por BlackZeroX (Astaroth) »
357  Programación / Programación C/C++ / Re: Una ayudita por favor en: 17 Julio 2012, 19:35 pm
Modificalo para tu propósito es igual al que te puso @marcico con la diferencia que no es a un archivo si no a un buffer de cadena.

Código
  1.  
  2. #include <stdio.h>
  3. #include <string.h>
  4.  
  5. int main() {
  6.    char newName[256];
  7.  
  8.    for (int i = -100; i <= 100; i++) {
  9.        memset(newName, 0, 256);                  // limpiamos...
  10.        sprintf(newName, "Archiv0_%d.txt", i); // construimos la cadena Archivo_-100.txt hasta Archivo_100.txt
  11.        puts (newName);
  12. // o como @marcizo
  13. //        fichero = fopen( "Archivo_%d.bat", "w", &i );
  14. // c&#243;digo...
  15.    }
  16.  
  17.    getchar();
  18.    return 0;
  19. }
  20.  
  21.  

Dulces Lunas!¡.
358  Programación / Programación C/C++ / Re: Ayuda con cadenas. en: 17 Julio 2012, 19:01 pm
Si vas a criticar algo, lee lo que se postea primero y luego comentas, ¿ok?

:) estaba pensando en [base cadena] + [longitud word] + [longitud divisor], jamas tome en consideración los divisores iniciales ( paso de textos que empiezan a ser pedantes ).

* Tomando los criterios de especializar la función para dicha cadena http://codepad.org/oCHGCGbd aun asi yo me quedo con strtok() (código de ejemplo: http://codepad.org/s9gKfS0Z);

Por lo menos tomate la molestia de comprobar si lo que dices es cierto o no.

Gracias por la ilustración maestro (vale madre estoy en vacaciones, jajaja).

P.D.: Como dicen por aquí "estas generando demasiada bilis".

Dulces Lunas!¡.
359  Programación / Programación C/C++ / Re: Ayuda con cadenas. en: 17 Julio 2012, 18:00 pm
Esto tampoco es correcto. A parte de que User ha dicho que todavia no ha estudiado la aritmetica de punteros, desplazar cadena stlen(ptr1) posiciones no te asegura pasar a la siguiente posicion despues del primer token (¿lees los post anteriores o solo les echas un vistazo por encima y luego posteas sin saber lo que se ha dicho anteriormente?)


Si cadena = "---hu-ha"; la primera llamada a strtok dejara las variables asi:

ptr1 = strtok(cadena,"-");

ptr1 = "hu";
cadena = "---hu'\0'ha"

Asi que cadena + strlen(ptr1) + 1 apuntara otra vez a "hu'\0'ha"
. En algun post anterior, ya he comentado que tiene que volver a utilizarse la misma cadena que se le ha pasado a strtok. Si miras como ha quedado cadena despues de la primera llamada a strtok veras el porque.

¡Saludos!

Esa afirmación es mentira... la aritmética dice todo lo contrario, ya que ambos métodos son equitativos.

Código
  1.  
  2. ...
  3. char cadena[] = "Necesito repasar matematicas basicas"
  4. ptr1 = strtok(cadena, " "); // ptr1 = Necesito\0repasar matematicas basicas
  5. cadena + strlen(ptr1) + 1; // repasar matematicas basicas
  6. cadena[strlen(ptr1) + 1]; // repasar matematicas basicas
  7. ...
  8.  
  9.  

http://foro.elhacker.net/programacion_cc/ayuda_con_cadenas-t367020.0.html;msg1766536#msg1766536

Edito:

Nunca mire tu post me centre en la duda.

Dulces Lunas!¡.
360  Programación / Programación Visual Basic / Re: Como Obtener valor de un textbox, desde un valor, hasta otro valor [VB6] en: 17 Julio 2012, 09:38 am
* Usa expresiones regulares...
* usa InStr() + un while() + mid$() ...

Intenta hacerlo (no creo que se te ayude con la logica pero si en algunas correcciones).

Dulces Lunas!¡.
Páginas: 1 ... 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 [36] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 ... 331
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines