aimGzT v1.0

On lunes, 8 de noviembre de 2010 0 comentarios

aimGzT readme:


Step By Step - First Time - How To Use:
  1. When you run the file DragonBot.exe and you will see some texts on the screen with your license name,
  2. that means that everything is working fine.
  3. Now enter to gunbound, enter a room, choose Armor, and start a game.
  4. When you and your enemy are both on your screen (adjust the camera if not), put your mouse arrow on the enemy. Press the "Print Screen" key located at your keyboard near the F12 button. (do that each time that you want to get an aim). The aimbot will find you and the target on the screen and will draw a line at your current angle to the direction of the target and will draw a marker at the power bar of how much power you need to put in order to hit the target.
  5. Use dragshot (or slice) to put the currect power. Note: You need to tell the aimbot which mobile do you use,
  6. press PageDown until you find its name. (Armor is default) That is all you need to know for an easy use. The rest are advanced modes.

Hot Keys

PrintScreen - Draw shot line and calculate power needed to hit the target
PageUp - Change target mode (AutoTarget / MouseTarget)
PageDown - Change mobile
Ctrl+Delete - Backshot mode (on/off)
Ctrl+Insert - LongShot mode (on/off)
Ctrl+F12 - Quit Program
Backshot:
If you shoot to the direction of the target, it is NORMAL shot.
If you shoot to the other direction and use the wind to take the shot to the right direction to the target, it is BACKSHOT, then you should turn on backshot mode.

Nak underground:
If you are in a hole or near a wall and you shoot into the wall, use backshot mode and angle lower then 70 to get underground aim. Note: Auto aim will not always find a target, but it will find it in most cases.
You can change to Mouse aim in that case. (Most people prefer mouse aim) use PageUp to change from Auto to Mouse. Then you need to put your mouse cursor on the target when you press the "print screen" key.

LongShot Mode

With LongShot mode you can hit a target outside the screen.
To be able to calculate the power needed to hit a target outside the screen the program must know where is the player and where is the target. Since they are not in the same screen, you need to take 2 'screen shots', and
the program will combine them. It may sound complicated, but after you master this, you will be able to do
this in a very short time. So... how can you do it?

1. Press PrintScreen when you are on the screen (find your position)
2. Press Ctrl+Insert (enter LongShot mode)
3. Move the camera exactly 1 screen to the side
4. Press PrintScreen again (find the target)
5. Shoot
6. Press Ctrl+Insert (exit LongShot mode)

When you move the camera [step-3], be sure that it will be exactly 1 screen
away from the first PrintScreen [step-1]. You can use landmarks and ground holes to know where is exactly 1 screen away.
Notice: Be sure that the camera will stay on the same height, don't move it up or down, move it only to the side.
In order to tell the program to what side are you going to move the camera:
If you are aiming to the left side, then in the first PrintScreen [step-1] you need to target something in the left side of yourself. If it is for the right side, then target something in the right side of yourself.
Tip: Use mouse targeting mode, it will be easier.

Read more ...»

PALTA RELLENA CON POLLO

On 0 comentarios

PALTA RELLENA CON POLLO     


   Ingredientes :
 
2 paltas, peladas, sin pepas y partidas por mitad
Jugo de limón
2 pechugas de pollo, cocidas y deshilachadas
2 zanahorias medianas, cocidas y picadas
1 taza de choclo, cocido
4 cucharadas (aprox.) de mayonesa
¼ de taza de perejil, picado
Sal
Pimienta
1 huevo cocido, en rodajas
Lechuga, cortada en juliana

   Preparación:


Pasar por agua fría y luego rociar las paltas con el jugo de limón para evitar que se oxiden. Sazonarlas con sal y pimienta.

Mezclar en un recipiente las pechugas de pollo deshilachadas con el choclo, la zanahoria y parte del perejil picado (separar un poco de perejil para adornar). Mezclar con la mayonesa necesaria y sazonar. Acomodar las lechugas en una fuente o un plato, colocar la palta encima y rellenarla con la mezcla del pollo. Adornar con rodajas de huevo cocido y espolvorear con perejil picado.

Sugerencias para la lonchera:
Preparar el pollo con las verduras y la mayonesa la víspera. Rellenar la palta el mismo día y colocar sobre lechuga en un recipiente hermético.

Calorías 561
Proteínas 32.13 gr.
Grasas 41.6 gr.
Carbohidratos 17 gr.
 
        4 personas
Read more ...»

Palta rellena

On 0 comentarios

Hoy haremos una palta rellena muy tradicional para ello necesitaremos lo siguiente.
Ingredientes para preparar una palta rellena:
  • 3 paltas fuertes maduras
  • ½ pechuga de pollo
  • 1 taza de zanahoria picada en cuadraditos muy pequeños
  • 1 taza de vainitas finamente picadas
  • ¼ de taza de mayonesa casera
  • ½ pimiento
  • ½ kg. De papa arenosa
  • Sal
  • Pimienta
  • Comino al gusto
  • Lechuga para decorar
Receta para preparar la palta rellena:
  1. En una olla poner el ½ kg. de papa y sancochar.
  2. Una vez este cocinada la pelamos y las prensamos.
  3. Sancochamos también la zanahoria, la vainita y en una olla a parte la pechuga de pollo con el trozo de pimiento.
  4. Una vez el pollo este cocido lo deshilachamos y en un recipiente ponemos la papa, el pollo, la zanahoria, la vainita, la sal, la pimienta, el comino y lo mezclamos.
  5. Una vez mezclado con esta masa que nos quedo haremos unas bolitas del tamaño de la mitad de las paltas que tenemos y ahora si ya estando todo listo a servir.
  6. Partimos las paltas a la mitad,  les sacamos las pepas y les cortamos la parte inferior. Entonces ponemos una hoja de lechuga en el plato sobre de ella la plata y sobre la palta la bolita que hicimos con la mezcla de la papa seguido de los demás ingredientes, decoramos con mayonesa y a disfrutar esta deliciosa receta.
Nota:
Este plato se tiene que comer al instante porque sino la palta se daña.
Read more ...»

Palta Rellena de Verduras

On 0 comentarios

La palta tiene un gran valor nutritivo, puesto que entre sus componentes esta el hidrato de carbono, grasas, proteínas, minerales, fibra y agua. Es más, hoy en día, la recomiendan comer como parte de una dieta balanceada, claro está, que las porciones que se deben consumir deben ser moderadas. A continuación una excelente forma de comerla:
palta rellena de verdurasIngredientes:
  • 4 paltas medianas.
  • 1 zanahoria grande sancochada y cortada en cubitos.
  • 1 choclo mediano sancochado y desgranado.
  • 150 gr. de alverjitas sancochadas.
  • 150 gr. de vainitas sancochadas y cortadas finamente.
  • Mayonesa necesaria.
  • Hojas de lechuga para la decoración.
Preparación:
En un recipiente mezclamos todas las verduras sancochadas, es decir colocamos las zanahorias, las arverjas, las vainitas y el choclo con la mayonesa, según la cantidad que necesitemos. Una vez mezcladas las verduras con la mayonesa procedemos a pelar las paltas y cortarlas en mitades. Tomamos una mitad y rellenamos generosamente con la mezcla de verduras.
Para servir, colocamos la palta rellena, sobre un plato con hojas de lechuga, adornado con tomates para darle más colorido a nuestra entrada.
Un plato fácil de hacer, sano y muy rico. A disfrutarlo.
Read more ...»

Process Forking - Running Process From Memory

On lunes, 1 de noviembre de 2010 0 comentarios

Process Forking - Running Process From Memory

I've noticed some custom made anti-cheats like to start a process from memory pointer rather than a file for extra protection.

I wrote a little code a while back to do the same, for those who would like to know how to do so.

Code:
//--------------------------------------------------------
// Dynamic Process Forking of Portable Executable
// Author : Vrillon / Venus
// Date   : 07/14/2008
//--------------------------------------------------------
/*********************************************************/
/* With this header, you can create and run a process    */
/* from memory and not from a file.                      */
/*********************************************************/

#ifdef WIN32
    #include 
#else
    #error Process Forking Requires a Windows Operating System
#endif

#include 

/////////////////////////////////////////////////////////////
// NtUnmapViewOfSection (ZwUnmapViewOfSection)
// Used to unmap a section from a process.
typedef long int (__stdcall* NtUnmapViewOfSectionF)(HANDLE,PVOID);
NtUnmapViewOfSectionF NtUnmapViewOfSection = (NtUnmapViewOfSectionF)GetProcAddress(LoadLibrary("ntdll.dll"),"NtUnmapViewOfSection");

/////////////////////////////////////////////////////////////
// Fork Process
// Dynamically create a process based on the parameter 'lpImage'. The parameter should have the entire
// image of a portable executable file from address 0 to the end.
bool ForkProcess(LPVOID lpImage)
{
    // Variables for Process Forking
    long int                lWritten;
    long int                lHeaderSize;
    long int                lImageSize;
    long int                lSectionCount;
    long int                lSectionSize;
    long int                lFirstSection;
    long int                lPreviousProtection;
    long int                lJumpSize;

    bool                    bReturnValue;

    LPVOID                    lpImageMemory;
    LPVOID                    lpImageMemoryDummy;

    IMAGE_DOS_HEADER        dsDosHeader;
    IMAGE_NT_HEADERS        ntNtHeader;
    IMAGE_SECTION_HEADER    shSections[512 * 2];

    PROCESS_INFORMATION        piProcessInformation;
    STARTUPINFO                suStartUpInformation;

    CONTEXT                    cContext;

    // Variables for Local Process
    FILE*                    fFile;
    char*                    pProcessName;
    
    long int                lFileSize;
    long int                lLocalImageBase;
    long int                lLocalImageSize;

    LPVOID                    lpLocalFile;

    IMAGE_DOS_HEADER        dsLocalDosHeader;
    IMAGE_NT_HEADERS        ntLocalNtHeader;

    /////////////////////////////////////////////////////////////////
    // End Variable Definition

    bReturnValue = false;

    pProcessName = new char[MAX_PATH];
    ZeroMemory(pProcessName,MAX_PATH);

    // Get the file name for the dummy process
    if(GetModuleFileName(NULL,pProcessName,MAX_PATH) == 0)
    {
        delete [] pProcessName;
        return bReturnValue;
    }

    // Open the dummy process in binary mode
    fFile = fopen(pProcessName,"rb");
    if(!fFile)
    {
        delete [] pProcessName;
        return bReturnValue;
    }

    fseek(fFile,0,SEEK_END);

    // Get file size
    lFileSize = ftell(fFile);

    rewind(fFile);

    // Allocate memory for dummy file
    lpLocalFile = new LPVOID[lFileSize];
    ZeroMemory(lpLocalFile,lFileSize);

    // Read memory of file
    fread(lpLocalFile,lFileSize,1,fFile);

    // Close file
    fclose(fFile);

    // Grab the DOS Headers
    memcpy(&dsLocalDosHeader,lpLocalFile,sizeof(dsLocalDosHeader));

    if(dsLocalDosHeader.e_magic != IMAGE_DOS_SIGNATURE)
    {
        delete [] pProcessName;
        delete [] lpLocalFile;
        return bReturnValue;
    }

    // Grab NT Headers
    memcpy(&ntLocalNtHeader,(LPVOID)((long int)lpLocalFile+dsLocalDosHeader.e_lfanew),sizeof(dsLocalDosHeader));

    if(ntLocalNtHeader.Signature != IMAGE_NT_SIGNATURE)
    {
        delete [] pProcessName;
        delete [] lpLocalFile;
        return bReturnValue;
    }

    // Get Size and Image Base
    lLocalImageBase = ntLocalNtHeader.OptionalHeader.ImageBase;
    lLocalImageSize = ntLocalNtHeader.OptionalHeader.SizeOfImage;

    // Deallocate
    delete [] lpLocalFile;

    // Grab DOS Header for Forking Process
    memcpy(&dsDosHeader,lpImage,sizeof(dsDosHeader));

    if(dsDosHeader.e_magic != IMAGE_DOS_SIGNATURE)
    {
        delete [] pProcessName;
        return bReturnValue;
    }

    // Grab NT Header for Forking Process
    memcpy(&ntNtHeader,(LPVOID)((long int)lpImage+dsDosHeader.e_lfanew),sizeof(ntNtHeader));

    if(ntNtHeader.Signature != IMAGE_NT_SIGNATURE)
    {
        delete [] pProcessName;
        return bReturnValue;
    }

    // Get proper sizes
    lImageSize = ntNtHeader.OptionalHeader.SizeOfImage;
    lHeaderSize = ntNtHeader.OptionalHeader.SizeOfHeaders;

    // Allocate memory for image
    lpImageMemory = new LPVOID[lImageSize];
    ZeroMemory(lpImageMemory,lImageSize);

    lpImageMemoryDummy = lpImageMemory;

    lFirstSection = (long int)(((long int)lpImage+dsDosHeader.e_lfanew) + sizeof(IMAGE_NT_HEADERS));
    
    memcpy(shSections,(LPVOID)(lFirstSection),sizeof(IMAGE_SECTION_HEADER)*ntNtHeader.FileHeader.NumberOfSections);
    memcpy(lpImageMemoryDummy,lpImage,lHeaderSize);

    // Get Section Alignment
    if((ntNtHeader.OptionalHeader.SizeOfHeaders % ntNtHeader.OptionalHeader.SectionAlignment) == 0)
    {
        lJumpSize = ntNtHeader.OptionalHeader.SizeOfHeaders;
    }
    else
    {
        lJumpSize  = (ntNtHeader.OptionalHeader.SizeOfHeaders/ntNtHeader.OptionalHeader.SectionAlignment);
        lJumpSize += 1;
        lJumpSize *= (ntNtHeader.OptionalHeader.SectionAlignment);
    }

    lpImageMemoryDummy = (LPVOID)((long int)lpImageMemoryDummy + lJumpSize);

    // Copy Sections To Buffer
    for(lSectionCount = 0; lSectionCount < ntNtHeader.FileHeader.NumberOfSections; lSectionCount++)
    {
        lJumpSize = 0;
        lSectionSize = shSections[lSectionCount].SizeOfRawData;
        
        memcpy(lpImageMemoryDummy,(LPVOID)((long int)lpImage + shSections[lSectionCount].PointerToRawData),lSectionSize);

        if((shSections[lSectionCount].Misc.VirtualSize % ntNtHeader.OptionalHeader.SectionAlignment)==0)
        {
            lJumpSize = shSections[lSectionCount].Misc.VirtualSize;
        }
        else
        {
            lJumpSize  = (shSections[lSectionCount].Misc.VirtualSize/ntNtHeader.OptionalHeader.SectionAlignment);
            lJumpSize += 1;
            lJumpSize *= (ntNtHeader.OptionalHeader.SectionAlignment);
        }

        lpImageMemoryDummy = (LPVOID)((long int)lpImageMemoryDummy + lJumpSize);
    }

    ZeroMemory(&suStartUpInformation,sizeof(STARTUPINFO));
    ZeroMemory(&piProcessInformation,sizeof(PROCESS_INFORMATION));
    ZeroMemory(&cContext,sizeof(CONTEXT));

    suStartUpInformation.cb = sizeof(suStartUpInformation);

    // Create Process
    if(CreateProcess(NULL,pProcessName,NULL,NULL,false,CREATE_SUSPENDED,NULL,NULL,&suStartUpInformation,&piProcessInformation))
    {
        cContext.ContextFlags = CONTEXT_FULL;
        GetThreadContext(piProcessInformation.hThread,&cContext);

        // Check image base and image size
        if(lLocalImageBase == (long int)ntNtHeader.OptionalHeader.ImageBase && lImageSize <= lLocalImageSize)
        {
            VirtualProtectEx(piProcessInformation.hProcess,(LPVOID)((long int)ntNtHeader.OptionalHeader.ImageBase),lImageSize,PAGE_EXECUTE_READWRITE,(unsigned long*)&lPreviousProtection);
        }
        else
        {
            if(!NtUnmapViewOfSection(piProcessInformation.hProcess,(LPVOID)((DWORD)lLocalImageBase)))
                VirtualAllocEx(piProcessInformation.hProcess,(LPVOID)((long int)ntNtHeader.OptionalHeader.ImageBase),lImageSize,MEM_COMMIT | MEM_RESERVE,PAGE_EXECUTE_READWRITE);
        }

        // Write Image to Process
        if(WriteProcessMemory(piProcessInformation.hProcess,(LPVOID)((long int)ntNtHeader.OptionalHeader.ImageBase),lpImageMemory,lImageSize,(unsigned long*)&lWritten))
        {
            bReturnValue = true;
        }

        // Set Image Base
        if(WriteProcessMemory(piProcessInformation.hProcess,(LPVOID)((long int)cContext.Ebx + 8),&ntNtHeader.OptionalHeader.ImageBase,4,(unsigned long*)&lWritten))
        {
            if(bReturnValue == true)
                bReturnValue = true;
        }

        if(bReturnValue == false)
        {
            delete [] pProcessName;
            delete [] lpImageMemory;
            return bReturnValue;
        }

        // Set the new entry point
        cContext.Eax = ntNtHeader.OptionalHeader.ImageBase + ntNtHeader.OptionalHeader.AddressOfEntryPoint;
        
        SetThreadContext(piProcessInformation.hThread,&cContext);

        if(lLocalImageBase == (long int)ntNtHeader.OptionalHeader.ImageBase && lImageSize <= lLocalImageSize)
            VirtualProtectEx(piProcessInformation.hProcess,(LPVOID)((long int)ntNtHeader.OptionalHeader.ImageBase),lImageSize,lPreviousProtection,0);

        // Resume the process
        ResumeThread(piProcessInformation.hThread);
    }

    delete [] pProcessName;
    delete [] lpImageMemory;

    return bReturnValue;    
}

/////////////////////////////////////////////////////////////
// Fork Process From Resource
// Dynamically create a process from a resource file.
bool ForkProcessFromResource(int iResource,char* pResourceSection)
{
    HGLOBAL        hResData;
    HRSRC        hResInfo;

    LPVOID        lpRes;
    LPVOID        lpMemory;
    long int    lSize;

    HMODULE        hModule;

    bool bReturn;

    hModule = GetModuleHandle(0);
    bReturn = false;

    if(!hModule)
        return bReturn;

    hResInfo = FindResource(hModule, MAKEINTRESOURCE(iResource), pResourceSection);
    if(!hResInfo)
    {
        return bReturn;
    }

    hResData = LoadResource(hModule, hResInfo);
    if(!hResData)
    {
        return bReturn;
    }

    lpRes = LockResource(hResData);
    if(!lpRes)
    {
        FreeResource(hResData);
        return bReturn;
    }


    lSize = SizeofResource(hModule, hResInfo);

    lpMemory = new LPVOID[lSize];
    ZeroMemory(lpMemory,lSize);

    memcpy (lpMemory, lpRes, lSize);
        
    bReturn = ForkProcess(lpMemory);
    
    FreeResource(hResData);
    delete [] lpMemory;

    return bReturn;
}
Can be used like this:

Code:
ForkProcess(pointer to executable memory);

or

ForkProcessFromResource(IDE_FILE1,"EXE"); (If you wanna load it from a resource)
 
 
 
 

Read more ...»