Saludos a todos , bueno les dejo este code de un DSplit que programe en un rato de
aburrimiento......

captura:
Imagen


Source:

Código: Seleccionar todo

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

#define NUN 1000

/**************************************
Coder : ØnLy
lenguage : ANSI - C
Descripcion : DSplit , a 1000 offsets Solamente
IDE : Code::Blocks
Webs : -Indetectables.Net
       -http://www.onlydevelopments.blogspot.com
**************************************/

int main(void)
{
    char nombre[256]={'\0'};
    printf("Nombre del Archivo : ");
    scanf("%s" , &nombre);

    FILE* f = fopen( nombre , "rb");

     if(!f){printf("El archivo No Existe! \n"); getchar(); return 0;}

    fseek(f,0,SEEK_END);
     int talla = ftell(f);
    fseek(f,0,SEEK_SET);

    char *buff = (char*)malloc(talla+10);
     memset(buff,0,talla);
    fread(buff,talla,sizeof(char),f);
     fclose(f);

    //Ya tenemos la Data del arhcivo un buffer limpiesito
    char nombre_new[256]={'\0'};
    int i,z;

    for(i=NUN,z=NUN;i<=talla;i=i+NUN,z=z+NUN)
    {
         memset(nombre_new,0,256);
         itoa(i,nombre_new,10);
        FILE* nuevo = fopen(nombre_new,"wb");
          fseek(nuevo,0,SEEK_SET);
        fwrite(buff,z,sizeof(char),nuevo);
          fclose(nuevo);
    }
    free(buff);
    return 0;
}
Lo realise lo mas sencillo que pude , si lo copian y pega , hara solamente split a 1000 bytes....
Desde el source lo pueden cambiar...
obey escribió:Pues si tuviese mas edad todavia pero esqe perder la virginidad con tu profesora de informatica y que ademas tenga 50....
No se yo mucho de modding pero que no el dsplit debe rellenar los 1000 bytes con algo? ya sea 0x00 o 0x90 o cualquier caracter en hex? jeje o solo hiciste el ejemplo para mostrar como cortar de 1000 bytes?, jeje de todas formas está bueno la única recomendación que tengo es que aca:
...
char nombre_new[256]={'\0'};
int i,z;
for(i=NUN,z=NUN;i<=talla;i=i+NUN,z=z+NUN)
{
memset(nombre_new,0,256);
...
memset no es necesaria porque el buffer ya esta limpio :P

y en el for jeje no es necesario declarar "z" segun veo bro, jeje con la "i" es mas que suficiente :p saludos!
//mHmm..
linkgl escribió:No se yo mucho de modding pero que no el dsplit debe rellenar los 1000 bytes con algo? ya sea 0x00 o 0x90 o cualquier caracter en hex?
No exactaente , el dsplit no rrellena con nada , solo hace copias del ejecutable a diferentes tamanos , sin rrellenar con nadad.....
linkgl escribió:...
char nombre_new[256]={'\0'};
int i,z;
for(i=NUN,z=NUN;i<=talla;i=i+NUN,z=z+NUN)
{
memset(nombre_new,0,256);
...
memset no es necesaria porque el buffer ya esta limpio :P
Bueno eso es verdad , solo lo hago como precaucion , para evitar posibles errores , ya que en cada iteracion
la memoria de 'nombre_new' , va a estar en constante cambio........

Grcias por tu opinion bro!
obey escribió:Pues si tuviese mas edad todavia pero esqe perder la virginidad con tu profesora de informatica y que ademas tenga 50....
Ya veo ya pregunté y es cierto dsplit no rellena bueno yo no sé mucho de modding no es lo mío, sí está bien que uses memset pero usalo sí vas a limpiar bloques de memoria ahí sí es más necesario limpiar, aunque hombre precavido vale por 2 como dicen por aca, buen trabajo ;)
//mHmm..
Responder

Volver a “Fuentes”