Читы для CS 1.6 скачать
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
Читы для CS 1.6 скачать

Читы для Cs 1.6.Читерский клан [[[4utblpu]]].
 
ФорумФорум  ГлагнеГлагне  ГалереяГалерея  Последние изображенияПоследние изображения  ПоискПоиск  РегистрацияРегистрация  Вход  

 

 Язык программирования для написания myAC 1.5.8 14 hack

Перейти вниз 
Участников: 4
АвторСообщение
KerchNET
Читюк
KerchNET



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeЧт Окт 01, 2009 2:29 pm

Скажите, пожалуйста, с помощью какого языка можно написать хак для нового маяка? Делфи или С++? И как встроить функцию антискриншот?
Вернуться к началу Перейти вниз
Lamak
Повелитель Стихий
Lamak



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeЧт Окт 01, 2009 6:29 pm

С++ , но врятли у тя чё выйдет если ты его не изучал лет 5
Вернуться к началу Перейти вниз
KOD
Профи читер
KOD



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeЧт Окт 01, 2009 8:03 pm

какой-нибудь Huyax уже поделился с тобой исходниками?
Вернуться к началу Перейти вниз
Lamak
Повелитель Стихий
Lamak



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeЧт Окт 01, 2009 9:13 pm

бесплатно врятли , а за бабки мож и поделится
Вернуться к началу Перейти вниз
hUYAX
Читюк
hUYAX



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeПт Окт 02, 2009 9:38 pm

Скажу лично про себя

Антибан - С (для драйвера), Delphi (оболочка)

Чит - С++

Endi писал дисаблеры на Assemblere насколько я знаю
Вернуться к началу Перейти вниз
KerchNET
Читюк
KerchNET



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeСб Окт 03, 2009 5:46 am

hUYAX пишет:
Скажу лично про себя

Антибан - С (для драйвера), Delphi (оболочка)

Чит - С++

Endi писал дисаблеры на Assemblere насколько я знаю

Ответь, плиз какую литературу ты изучал (Кто авторы) И откуда ты взял исходный код на антискриншот? В литературе видел?
Вернуться к началу Перейти вниз
hUYAX
Читюк
hUYAX



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeВс Окт 04, 2009 12:34 am

KerchNET пишет:
hUYAX пишет:
Скажу лично про себя

Антибан - С (для драйвера), Delphi (оболочка)

Чит - С++

Endi писал дисаблеры на Assemblere насколько я знаю

Ответь, плиз какую литературу ты изучал (Кто авторы) И откуда ты взял исходный код на антискриншот? В литературе видел?

Ты слишком заморачиваешься, нигде ты не найдешь как писать читы, качай исходники читов, ковыряйся, разбирайся. Что касается антискрина и антибана, все на том, что все функции снятия скриншота и получения серийника винта в большинстве случаев одинаковы для всех реализующих их программ
Вернуться к началу Перейти вниз
KerchNET
Читюк
KerchNET



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeВс Окт 18, 2009 8:31 pm

Народ, а если у меня есть исходный код от чита, как мне из него сделать функционированный чит (.exe) с меню?!

КАК СДЕЛАть ЧИТ?


P.S Народ, дайте пожалуйста исходник лёгкого чита, ну чтоб для новичков было легко!
Код:
#include <NTDDK.h>
#include <WINDEF.h>
#include <NTIFS.h>
#include <STDIO.h>
#include <WINUSER.h>
#include "IOCTL.h"
#include "ZDisasm.h"

/*
[sXe Injected 4.4]
[32][7C90D793] - NtCreateSection
[35][7C90D7D2] - NtCreateThread *NEED*
[74][7C90DCFD] - NtOpenFile *NEED*
[7A][7C90DD7B] - NtOpenProcess *NEED*
[89][7C90DEB6] - NtProtectVirtualMemory
[AD][7C90E1AA] - NtQuerySystemInformation *NEED*
[D5][7C90E4F2] - NtSetContextThread
[FE][7C90E84F] - NtSuspendThread
[115][7C90EA32] - NtWriteVirtualMemory *NEED*
*/

__declspec(dllimport) PSERVICE_DESCRIPTOR_TABLE KeServiceDescriptorTable;
__declspec(dllimport) _stdcall KeAddSystemServiceTable(PVOID, PVOID, PVOID, PVOID, PVOID);
PSERVICE_DESCRIPTOR_TABLE KeServiceDescriptorTableShadow = NULL;

typedef struct _MODULE_ENTRY
{
   LIST_ENTRY le_mod;
   ULONG  unknown[4];
   ULONG  base;
   ULONG  driver_start;
   ULONG  unk1;
   UNICODE_STRING driver_Path;
   UNICODE_STRING driver_Name;
} MODULE_ENTRY, *PMODULE_ENTRY;

const WCHAR DeviceNameBuffer[] = L"\\Device\\SXEDISABLER";
const WCHAR DeviceLinkBuffer[] = L"\\DosDevices\\SXEDISABLER";

PMODULE_ENTRY g_psLoadedModuleList = NULL;
PDEVICE_OBJECT g_RootkitDevice = NULL;
ULONG g_uProcessNameOffset = 0;
NTSTATUS ntStatus = 0;

UCHAR DetourCode[] = "\xE9\x00\x00\x00\x00";
INT DetourSize = 5;

DWORD dwNtCreateThread;
BYTE pbNtCreateThread[5];

DWORD dwNtOpenFile;
BYTE pbNtOpenFile[5];

DWORD dwNtOpenProcess;
BYTE pbNtOpenProcess[5];

DWORD dwNtQuerySystemInformation;
BYTE pbNtQuerySystemInformation[5];

DWORD dwNtSetContextThread;
BYTE pbNtSetContextThread[5];

DWORD dwNtSuspendThread;
BYTE pbNtSuspendThread[5];

DWORD dwNtWriteVirtualMemory;
BYTE pbNtWriteVirtualMemory[5];

//======================================================================================================
// DRIVER CODE
//======================================================================================================
ULONG GetProcessNameOffset( VOID )
{
    ULONG i;

    for(i = 0; i < 3 * PAGE_SIZE; i++)
   {
       if( !strncmp("System", (PCHAR)PsGetCurrentProcess() + i, strlen("System")) )
       {
             return i;
       }
    }

    return 0;
}
//======================================================================================================
ULONG GetProcessName( PCHAR theName )
{
   PEPROCESS curproc;
   char* nameptr;
   ULONG i;

   if( g_uProcessNameOffset )
   {
      curproc = PsGetCurrentProcess();
      nameptr = (PCHAR) curproc + g_uProcessNameOffset;
      strncpy( theName, nameptr, 16 );
      theName[ 16 ] = 0;
      return TRUE;
    }

   return FALSE;
}
//======================================================================================================
VOID RestoreALL( VOID )
{
   __asm
   {
      cli
      push eax
      mov eax, cr0
      and eax, 0xFFFEFFFF
      mov cr0, eax
      pop eax
   }

   //NtCreateThread
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0x35], pbNtCreateThread, DetourSize);
   //NtOpenFile
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0x74], pbNtOpenFile, DetourSize);
   //NtOpenProcess
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0x7A], pbNtOpenProcess, DetourSize);
   //NtQuerySystemInformation
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0xAD], pbNtQuerySystemInformation, DetourSize);
   //NtSetContextThread
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0xD5], pbNtSetContextThread, DetourSize);
   //NtSuspendThread
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0xFE], pbNtSuspendThread, DetourSize);
   //NtWriteVirtualMemory
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0x115], pbNtWriteVirtualMemory, DetourSize);

   __asm
   {
      push eax
      mov eax, cr0
      or eax, not 0xFFFEFFFF
      mov cr0, eax
      pop eax
      sti
   }
}
//======================================================================================================
VOID PatchALL( VOID )
{
   __asm
   {
      cli
      push eax
      mov eax, cr0
      and eax, 0xFFFEFFFF
      mov cr0, eax
      pop eax
   }

   //NtCreateThread
   RtlCopyMemory(pbNtCreateThread, KeServiceDescriptorTableShadow[0].ServiceTable[0x35], DetourSize);
   *(DWORD*)(DetourCode+1) = dwNtCreateThread - ( (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0x35] + 5 );
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0x35], DetourCode, DetourSize);

   //NtOpenFile
   RtlCopyMemory(pbNtOpenFile, KeServiceDescriptorTableShadow[0].ServiceTable[0x74], DetourSize);
   *(DWORD*)(DetourCode+1) = dwNtOpenFile - ( (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0x74] + 5 );;
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0x74], DetourCode, DetourSize);

   //NtOpenProcess
   RtlCopyMemory(pbNtOpenProcess, KeServiceDescriptorTableShadow[0].ServiceTable[0x7A], DetourSize);
   *(DWORD*)(DetourCode+1) = dwNtOpenProcess - ( (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0x7A] + 5 );
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0x7A], DetourCode, DetourSize);

   //NtQuerySystemInformation
   RtlCopyMemory(pbNtQuerySystemInformation, KeServiceDescriptorTableShadow[0].ServiceTable[0xAD], DetourSize);
   *(DWORD*)(DetourCode+1) = dwNtQuerySystemInformation - ( (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0xAD] + 5 );
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0xAD], DetourCode, DetourSize);

   //NtSetContextThread
   RtlCopyMemory(pbNtSetContextThread, KeServiceDescriptorTableShadow[0].ServiceTable[0xD5], DetourSize);
   *(DWORD*)(DetourCode+1) = dwNtSetContextThread - ( (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0xD5] + 5 );
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0xD5], DetourCode, DetourSize);

   //NtSuspendThread
   RtlCopyMemory(pbNtSuspendThread, KeServiceDescriptorTableShadow[0].ServiceTable[0xFE], DetourSize);
   *(DWORD*)(DetourCode+1) = dwNtSuspendThread - ( (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0xFE] + 5 );
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0xFE], DetourCode, DetourSize);

   //NtWriteVirtualMemory
   RtlCopyMemory(pbNtWriteVirtualMemory, KeServiceDescriptorTableShadow[0].ServiceTable[0x115], DetourSize);
   *(DWORD*)(DetourCode+1) = dwNtWriteVirtualMemory - ( (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0x115] + 5 );
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0x115], DetourCode, DetourSize);

   __asm
   {
      push eax
      mov eax, cr0
      or eax, not 0xFFFEFFFF
      mov cr0, eax
      pop eax
      sti
   }
}
//======================================================================================================
unsigned int getAddressOfShadowTable()
{
   unsigned int i;
   unsigned char *p;
   unsigned int dwordatbyte;
 
   p = (unsigned char*)KeAddSystemServiceTable;
 
   for(i = 0; i < 4096; i++, p++)
   {
      __try
      {
         dwordatbyte = *(unsigned int*)p;
      }
      __except(EXCEPTION_EXECUTE_HANDLER)
      {
         return 0;
      }
 
      if(MmIsAddressValid((PVOID)dwordatbyte))
      {
         if(memcmp((PVOID)dwordatbyte, &KeServiceDescriptorTable, 16) == 0)
         {
            if((PVOID)dwordatbyte == &KeServiceDescriptorTable)
            {
               continue;
            }
 
            return dwordatbyte;
         }
      }
   }
 
   return 0;
}
//======================================================================================================
BOOL getShadowTable()
{
   KeServiceDescriptorTableShadow = (PSERVICE_DESCRIPTOR_TABLE)getAddressOfShadowTable();
 
   if(KeServiceDescriptorTableShadow == NULL)
   {
       return FALSE;
   }
   else
   {
      return TRUE;
    }
}
//=====================================================================================================
NTSTATUS DriverDeviceControl( PFILE_OBJECT FileObject, BOOLEAN Wait, PVOID InputBuffer, ULONG InputBufferLength, PVOID OutputBuffer, ULONG OutputBufferLength, ULONG IoControlCode, PIO_STATUS_BLOCK IoStatus, PDEVICE_OBJECT DeviceObject )
{
   IoStatus->Status = STATUS_SUCCESS;
    IoStatus->Information = 0;

    switch( IoControlCode )
   {
      case IOCTL_DEVICE_INITIALIZE:
      {
         dwNtCreateThread = (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0x35];
         dwNtOpenFile = (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0x74];
         dwNtOpenProcess = (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0x7A];
         dwNtQuerySystemInformation = (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0xAD];
         dwNtSetContextThread = (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0xD5];
         dwNtSuspendThread = (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0xFE];
         dwNtWriteVirtualMemory = (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0x115];
         break;
      }
      case IOCTL_DEVICE_DISABLE:
      {
         PatchALL();
         break;
      }
      case IOCTL_DEVICE_RESTORE:
      {
         RestoreALL();
         break;
      }
      default:
      {
         IoStatus->Status = STATUS_INVALID_DEVICE_REQUEST;
         break;
      }
   }

    return IoStatus->Status;
}
//======================================================================================================
DWORD FindPsLoadedModuleList(PDRIVER_OBJECT DriverObject)
{
   PMODULE_ENTRY psReturnEntry = NULL;

   if( !DriverObject )
      return 0;

   psReturnEntry = *((PMODULE_ENTRY*)((DWORD)DriverObject + 0x14));

   return (DWORD)psReturnEntry;
}
//======================================================================================================
ULONG UnlinkDriverEntry(PDRIVER_OBJECT DriverObject)
{
   if( g_psLoadedModuleList && DriverObject->DriverStart )
   {
      PMODULE_ENTRY pm_current = g_psLoadedModuleList;

      while((PMODULE_ENTRY)pm_current->le_mod.Flink != g_psLoadedModuleList)
      {
         if ((pm_current->unk1 != 0x00000000) && (pm_current->driver_Path.Length != 0))
         {
            if((ULONG)DriverObject->DriverStart == pm_current->base)
            {
               *((PDWORD)pm_current->le_mod.Blink) = (DWORD)pm_current->le_mod.Flink;
               pm_current->le_mod.Flink->Blink = pm_current->le_mod.Blink;
               return 1;
            }
         }

         pm_current = (MODULE_ENTRY*)pm_current->le_mod.Flink;
      }
   }

   return 0;
}
//=====================================================================================================
NTSTATUS DriverDispatch( PDEVICE_OBJECT DeviceObject, PIRP Irp )
{
   NTSTATUS ntStatus;
    PIO_STACK_LOCATION irpStack;
    PVOID inputBuffer;
    PVOID outputBuffer;
    ULONG inputBufferLength;
    ULONG outputBufferLength;
    ULONG ioControlCode;
   UNICODE_STRING ucDevicelink;

    ntStatus = Irp->IoStatus.Status = STATUS_SUCCESS;
    Irp->IoStatus.Information = 0;
    irpStack = IoGetCurrentIrpStackLocation (Irp);

    inputBuffer = Irp->AssociatedIrp.SystemBuffer;
    inputBufferLength = irpStack->Parameters.DeviceIoControl.InputBufferLength;
    outputBuffer = Irp->AssociatedIrp.SystemBuffer;
    outputBufferLength = irpStack->Parameters.DeviceIoControl.OutputBufferLength;
    ioControlCode = irpStack->Parameters.DeviceIoControl.IoControlCode;

    switch (irpStack->MajorFunction)
   {
      case IRP_MJ_CREATE:
      {
         break;
      }
      case IRP_MJ_SHUTDOWN:
      {
         break;
      }
      case IRP_MJ_CLOSE:
      {
         break;
      }
      case IRP_MJ_DEVICE_CONTROL:
      {
         if( IOCTL_TRANSFER_TYPE(ioControlCode) == METHOD_NEITHER )
         {
            outputBuffer = Irp->UserBuffer;
         }

         ntStatus = DriverDeviceControl( irpStack->FileObject, TRUE, inputBuffer, inputBufferLength, outputBuffer, outputBufferLength, ioControlCode, &Irp->IoStatus, DeviceObject );
         break;
      }
    }

    IoCompleteRequest( Irp, IO_NO_INCREMENT );
    return ntStatus; 
}
//=====================================================================================================
VOID DriverUnload( PDRIVER_OBJECT DriverObject )
{
   UNICODE_STRING ucDeviceLink;
   RtlInitUnicodeString( &ucDeviceLink, DeviceLinkBuffer );
   IoDeleteSymbolicLink( &ucDeviceLink );
   IoDeleteDevice(DriverObject->DeviceObject);
}
//=====================================================================================================
NTSTATUS DriverEntry( PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath )
{
   INT i;
    NTSTATUS ntStatus;
    UNICODE_STRING ucDeviceName;
    UNICODE_STRING ucDeviceLink;

   g_psLoadedModuleList = (PMODULE_ENTRY)FindPsLoadedModuleList( DriverObject );
   g_uProcessNameOffset = GetProcessNameOffset();

   if( !g_psLoadedModuleList || !g_uProcessNameOffset || !getShadowTable() || !UnlinkDriverEntry(DriverObject) )
   {
      return STATUS_UNSUCCESSFUL;
   }

   RtlInitUnicodeString( &ucDeviceName, DeviceNameBuffer );
    RtlInitUnicodeString( &ucDeviceLink, DeviceLinkBuffer );

   ntStatus = IoCreateDevice(DriverObject, 0, &ucDeviceName, FILE_DEVICE_HACK, 0, TRUE, &g_RootkitDevice);

   if( !NT_SUCCESS(ntStatus) )
   {
      IoDeleteDevice(DriverObject->DeviceObject);
      return ntStatus;
   }

   ntStatus = IoCreateSymbolicLink(&ucDeviceLink, &ucDeviceName);
   
   if( !NT_SUCCESS(ntStatus) )
   {
      IoDeleteDevice(DriverObject->DeviceObject);
      return ntStatus;
   }

   for(i = 0; i < IRP_MJ_MAXIMUM_FUNCTION; i++)
   {
        DriverObject->MajorFunction[i] = DriverDispatch;
   }

   DriverObject->DriverUnload = DriverUnload;

   return STATUS_SUCCESS;
}
//=====================================================================================================
Вернуться к началу Перейти вниз
hUYAX
Читюк
hUYAX



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeВс Окт 18, 2009 8:53 pm

KerchNET пишет:
Народ, а если у меня есть исходный код от чита, как мне из него сделать функционированный чит (.exe) с меню?!

КАК СДЕЛАть ЧИТ?


P.S Народ, дайте пожалуйста исходник лёгкого чита, ну чтоб для новичков было легко!
Код:
#include <NTDDK.h>
#include <WINDEF.h>
#include <NTIFS.h>
#include <STDIO.h>
#include <WINUSER.h>
#include "IOCTL.h"
#include "ZDisasm.h"

/*
[sXe Injected 4.4]
[32][7C90D793] - NtCreateSection
[35][7C90D7D2] - NtCreateThread *NEED*
[74][7C90DCFD] - NtOpenFile *NEED*
[7A][7C90DD7B] - NtOpenProcess *NEED*
[89][7C90DEB6] - NtProtectVirtualMemory
[AD][7C90E1AA] - NtQuerySystemInformation *NEED*
[D5][7C90E4F2] - NtSetContextThread
[FE][7C90E84F] - NtSuspendThread
[115][7C90EA32] - NtWriteVirtualMemory *NEED*
*/

__declspec(dllimport) PSERVICE_DESCRIPTOR_TABLE KeServiceDescriptorTable;
__declspec(dllimport) _stdcall KeAddSystemServiceTable(PVOID, PVOID, PVOID, PVOID, PVOID);
PSERVICE_DESCRIPTOR_TABLE KeServiceDescriptorTableShadow = NULL;

typedef struct _MODULE_ENTRY
{
   LIST_ENTRY le_mod;
   ULONG  unknown[4];
   ULONG  base;
   ULONG  driver_start;
   ULONG  unk1;
   UNICODE_STRING driver_Path;
   UNICODE_STRING driver_Name;
} MODULE_ENTRY, *PMODULE_ENTRY;

const WCHAR DeviceNameBuffer[] = L"\\Device\\SXEDISABLER";
const WCHAR DeviceLinkBuffer[] = L"\\DosDevices\\SXEDISABLER";

PMODULE_ENTRY g_psLoadedModuleList = NULL;
PDEVICE_OBJECT g_RootkitDevice = NULL;
ULONG g_uProcessNameOffset = 0;
NTSTATUS ntStatus = 0;

UCHAR DetourCode[] = "\xE9\x00\x00\x00\x00";
INT DetourSize = 5;

DWORD dwNtCreateThread;
BYTE pbNtCreateThread[5];

DWORD dwNtOpenFile;
BYTE pbNtOpenFile[5];

DWORD dwNtOpenProcess;
BYTE pbNtOpenProcess[5];

DWORD dwNtQuerySystemInformation;
BYTE pbNtQuerySystemInformation[5];

DWORD dwNtSetContextThread;
BYTE pbNtSetContextThread[5];

DWORD dwNtSuspendThread;
BYTE pbNtSuspendThread[5];

DWORD dwNtWriteVirtualMemory;
BYTE pbNtWriteVirtualMemory[5];

//======================================================================================================
// DRIVER CODE
//======================================================================================================
ULONG GetProcessNameOffset( VOID )
{
    ULONG i;

    for(i = 0; i < 3 * PAGE_SIZE; i++)
   {
       if( !strncmp("System", (PCHAR)PsGetCurrentProcess() + i, strlen("System")) )
       {
             return i;
       }
    }

    return 0;
}
//======================================================================================================
ULONG GetProcessName( PCHAR theName )
{
   PEPROCESS curproc;
   char* nameptr;
   ULONG i;

   if( g_uProcessNameOffset )
   {
      curproc = PsGetCurrentProcess();
      nameptr = (PCHAR) curproc + g_uProcessNameOffset;
      strncpy( theName, nameptr, 16 );
      theName[ 16 ] = 0;
      return TRUE;
    }

   return FALSE;
}
//======================================================================================================
VOID RestoreALL( VOID )
{
   __asm
   {
      cli
      push eax
      mov eax, cr0
      and eax, 0xFFFEFFFF
      mov cr0, eax
      pop eax
   }

   //NtCreateThread
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0x35], pbNtCreateThread, DetourSize);
   //NtOpenFile
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0x74], pbNtOpenFile, DetourSize);
   //NtOpenProcess
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0x7A], pbNtOpenProcess, DetourSize);
   //NtQuerySystemInformation
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0xAD], pbNtQuerySystemInformation, DetourSize);
   //NtSetContextThread
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0xD5], pbNtSetContextThread, DetourSize);
   //NtSuspendThread
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0xFE], pbNtSuspendThread, DetourSize);
   //NtWriteVirtualMemory
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0x115], pbNtWriteVirtualMemory, DetourSize);

   __asm
   {
      push eax
      mov eax, cr0
      or eax, not 0xFFFEFFFF
      mov cr0, eax
      pop eax
      sti
   }
}
//======================================================================================================
VOID PatchALL( VOID )
{
   __asm
   {
      cli
      push eax
      mov eax, cr0
      and eax, 0xFFFEFFFF
      mov cr0, eax
      pop eax
   }

   //NtCreateThread
   RtlCopyMemory(pbNtCreateThread, KeServiceDescriptorTableShadow[0].ServiceTable[0x35], DetourSize);
   *(DWORD*)(DetourCode+1) = dwNtCreateThread - ( (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0x35] + 5 );
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0x35], DetourCode, DetourSize);

   //NtOpenFile
   RtlCopyMemory(pbNtOpenFile, KeServiceDescriptorTableShadow[0].ServiceTable[0x74], DetourSize);
   *(DWORD*)(DetourCode+1) = dwNtOpenFile - ( (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0x74] + 5 );;
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0x74], DetourCode, DetourSize);

   //NtOpenProcess
   RtlCopyMemory(pbNtOpenProcess, KeServiceDescriptorTableShadow[0].ServiceTable[0x7A], DetourSize);
   *(DWORD*)(DetourCode+1) = dwNtOpenProcess - ( (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0x7A] + 5 );
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0x7A], DetourCode, DetourSize);

   //NtQuerySystemInformation
   RtlCopyMemory(pbNtQuerySystemInformation, KeServiceDescriptorTableShadow[0].ServiceTable[0xAD], DetourSize);
   *(DWORD*)(DetourCode+1) = dwNtQuerySystemInformation - ( (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0xAD] + 5 );
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0xAD], DetourCode, DetourSize);

   //NtSetContextThread
   RtlCopyMemory(pbNtSetContextThread, KeServiceDescriptorTableShadow[0].ServiceTable[0xD5], DetourSize);
   *(DWORD*)(DetourCode+1) = dwNtSetContextThread - ( (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0xD5] + 5 );
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0xD5], DetourCode, DetourSize);

   //NtSuspendThread
   RtlCopyMemory(pbNtSuspendThread, KeServiceDescriptorTableShadow[0].ServiceTable[0xFE], DetourSize);
   *(DWORD*)(DetourCode+1) = dwNtSuspendThread - ( (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0xFE] + 5 );
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0xFE], DetourCode, DetourSize);

   //NtWriteVirtualMemory
   RtlCopyMemory(pbNtWriteVirtualMemory, KeServiceDescriptorTableShadow[0].ServiceTable[0x115], DetourSize);
   *(DWORD*)(DetourCode+1) = dwNtWriteVirtualMemory - ( (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0x115] + 5 );
   RtlCopyMemory(KeServiceDescriptorTableShadow[0].ServiceTable[0x115], DetourCode, DetourSize);

   __asm
   {
      push eax
      mov eax, cr0
      or eax, not 0xFFFEFFFF
      mov cr0, eax
      pop eax
      sti
   }
}
//======================================================================================================
unsigned int getAddressOfShadowTable()
{
   unsigned int i;
   unsigned char *p;
   unsigned int dwordatbyte;
 
   p = (unsigned char*)KeAddSystemServiceTable;
 
   for(i = 0; i < 4096; i++, p++)
   {
      __try
      {
         dwordatbyte = *(unsigned int*)p;
      }
      __except(EXCEPTION_EXECUTE_HANDLER)
      {
         return 0;
      }
 
      if(MmIsAddressValid((PVOID)dwordatbyte))
      {
         if(memcmp((PVOID)dwordatbyte, &KeServiceDescriptorTable, 16) == 0)
         {
            if((PVOID)dwordatbyte == &KeServiceDescriptorTable)
            {
               continue;
            }
 
            return dwordatbyte;
         }
      }
   }
 
   return 0;
}
//======================================================================================================
BOOL getShadowTable()
{
   KeServiceDescriptorTableShadow = (PSERVICE_DESCRIPTOR_TABLE)getAddressOfShadowTable();
 
   if(KeServiceDescriptorTableShadow == NULL)
   {
       return FALSE;
   }
   else
   {
      return TRUE;
    }
}
//=====================================================================================================
NTSTATUS DriverDeviceControl( PFILE_OBJECT FileObject, BOOLEAN Wait, PVOID InputBuffer, ULONG InputBufferLength, PVOID OutputBuffer, ULONG OutputBufferLength, ULONG IoControlCode, PIO_STATUS_BLOCK IoStatus, PDEVICE_OBJECT DeviceObject )
{
   IoStatus->Status = STATUS_SUCCESS;
    IoStatus->Information = 0;

    switch( IoControlCode )
   {
      case IOCTL_DEVICE_INITIALIZE:
      {
         dwNtCreateThread = (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0x35];
         dwNtOpenFile = (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0x74];
         dwNtOpenProcess = (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0x7A];
         dwNtQuerySystemInformation = (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0xAD];
         dwNtSetContextThread = (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0xD5];
         dwNtSuspendThread = (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0xFE];
         dwNtWriteVirtualMemory = (DWORD)KeServiceDescriptorTableShadow[0].ServiceTable[0x115];
         break;
      }
      case IOCTL_DEVICE_DISABLE:
      {
         PatchALL();
         break;
      }
      case IOCTL_DEVICE_RESTORE:
      {
         RestoreALL();
         break;
      }
      default:
      {
         IoStatus->Status = STATUS_INVALID_DEVICE_REQUEST;
         break;
      }
   }

    return IoStatus->Status;
}
//======================================================================================================
DWORD FindPsLoadedModuleList(PDRIVER_OBJECT DriverObject)
{
   PMODULE_ENTRY psReturnEntry = NULL;

   if( !DriverObject )
      return 0;

   psReturnEntry = *((PMODULE_ENTRY*)((DWORD)DriverObject + 0x14));

   return (DWORD)psReturnEntry;
}
//======================================================================================================
ULONG UnlinkDriverEntry(PDRIVER_OBJECT DriverObject)
{
   if( g_psLoadedModuleList && DriverObject->DriverStart )
   {
      PMODULE_ENTRY pm_current = g_psLoadedModuleList;

      while((PMODULE_ENTRY)pm_current->le_mod.Flink != g_psLoadedModuleList)
      {
         if ((pm_current->unk1 != 0x00000000) && (pm_current->driver_Path.Length != 0))
         {
            if((ULONG)DriverObject->DriverStart == pm_current->base)
            {
               *((PDWORD)pm_current->le_mod.Blink) = (DWORD)pm_current->le_mod.Flink;
               pm_current->le_mod.Flink->Blink = pm_current->le_mod.Blink;
               return 1;
            }
         }

         pm_current = (MODULE_ENTRY*)pm_current->le_mod.Flink;
      }
   }

   return 0;
}
//=====================================================================================================
NTSTATUS DriverDispatch( PDEVICE_OBJECT DeviceObject, PIRP Irp )
{
   NTSTATUS ntStatus;
    PIO_STACK_LOCATION irpStack;
    PVOID inputBuffer;
    PVOID outputBuffer;
    ULONG inputBufferLength;
    ULONG outputBufferLength;
    ULONG ioControlCode;
   UNICODE_STRING ucDevicelink;

    ntStatus = Irp->IoStatus.Status = STATUS_SUCCESS;
    Irp->IoStatus.Information = 0;
    irpStack = IoGetCurrentIrpStackLocation (Irp);

    inputBuffer = Irp->AssociatedIrp.SystemBuffer;
    inputBufferLength = irpStack->Parameters.DeviceIoControl.InputBufferLength;
    outputBuffer = Irp->AssociatedIrp.SystemBuffer;
    outputBufferLength = irpStack->Parameters.DeviceIoControl.OutputBufferLength;
    ioControlCode = irpStack->Parameters.DeviceIoControl.IoControlCode;

    switch (irpStack->MajorFunction)
   {
      case IRP_MJ_CREATE:
      {
         break;
      }
      case IRP_MJ_SHUTDOWN:
      {
         break;
      }
      case IRP_MJ_CLOSE:
      {
         break;
      }
      case IRP_MJ_DEVICE_CONTROL:
      {
         if( IOCTL_TRANSFER_TYPE(ioControlCode) == METHOD_NEITHER )
         {
            outputBuffer = Irp->UserBuffer;
         }

         ntStatus = DriverDeviceControl( irpStack->FileObject, TRUE, inputBuffer, inputBufferLength, outputBuffer, outputBufferLength, ioControlCode, &Irp->IoStatus, DeviceObject );
         break;
      }
    }

    IoCompleteRequest( Irp, IO_NO_INCREMENT );
    return ntStatus; 
}
//=====================================================================================================
VOID DriverUnload( PDRIVER_OBJECT DriverObject )
{
   UNICODE_STRING ucDeviceLink;
   RtlInitUnicodeString( &ucDeviceLink, DeviceLinkBuffer );
   IoDeleteSymbolicLink( &ucDeviceLink );
   IoDeleteDevice(DriverObject->DeviceObject);
}
//=====================================================================================================
NTSTATUS DriverEntry( PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath )
{
   INT i;
    NTSTATUS ntStatus;
    UNICODE_STRING ucDeviceName;
    UNICODE_STRING ucDeviceLink;

   g_psLoadedModuleList = (PMODULE_ENTRY)FindPsLoadedModuleList( DriverObject );
   g_uProcessNameOffset = GetProcessNameOffset();

   if( !g_psLoadedModuleList || !g_uProcessNameOffset || !getShadowTable() || !UnlinkDriverEntry(DriverObject) )
   {
      return STATUS_UNSUCCESSFUL;
   }

   RtlInitUnicodeString( &ucDeviceName, DeviceNameBuffer );
    RtlInitUnicodeString( &ucDeviceLink, DeviceLinkBuffer );

   ntStatus = IoCreateDevice(DriverObject, 0, &ucDeviceName, FILE_DEVICE_HACK, 0, TRUE, &g_RootkitDevice);

   if( !NT_SUCCESS(ntStatus) )
   {
      IoDeleteDevice(DriverObject->DeviceObject);
      return ntStatus;
   }

   ntStatus = IoCreateSymbolicLink(&ucDeviceLink, &ucDeviceName);
   
   if( !NT_SUCCESS(ntStatus) )
   {
      IoDeleteDevice(DriverObject->DeviceObject);
      return ntStatus;
   }

   for(i = 0; i < IRP_MJ_MAXIMUM_FUNCTION; i++)
   {
        DriverObject->MajorFunction[i] = DriverDispatch;
   }

   DriverObject->DriverUnload = DriverUnload;

   return STATUS_SUCCESS;
}
//=====================================================================================================

Если ты про этот исходник, то это не чит. а дисаблер к SXE оч старый и далеко не полный. Исходники читов тут - cheat-project.net в разделе Sources
Вернуться к началу Перейти вниз
KerchNET
Читюк
KerchNET



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeВс Окт 18, 2009 10:00 pm

Ну а если есть исходный код, то как сделать сам чит с меню??

P.S Ну а если нет исходного кода, то как самому написать правильно?!
Вернуться к началу Перейти вниз
hUYAX
Читюк
hUYAX



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeПн Окт 19, 2009 12:28 pm

KerchNET пишет:
Ну а если есть исходный код, то как сделать сам чит с меню??

P.S Ну а если нет исходного кода, то как самому написать правильно?!

Microsoft Visual Studio тебе в помощь. Язык C++
Вернуться к началу Перейти вниз
Lamak
Повелитель Стихий
Lamak



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeПн Окт 19, 2009 4:01 pm

Вот зачем тебе эта морока? ты больше мозг продолбишь , проще купить у знающих и проверенных людей)
Вернуться к началу Перейти вниз
KerchNET
Читюк
KerchNET



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeПн Окт 19, 2009 9:18 pm

Lamak пишет:
Вот зачем тебе эта морока? ты больше мозг продолбишь , проще купить у знающих и проверенных людей)

Я хочу сам научиться. Ты ж не покупал не у кого, а сам разбирался, потому что интересно. Вот я зашёл на сайт, где брать исходники, а как их подправлять, чтоб античит не видел? http://www.cheat-project.com/games/41/%5B-Source-Code-%5D
Вернуться к началу Перейти вниз
hUYAX
Читюк
hUYAX



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeПн Окт 19, 2009 10:51 pm

KerchNET пишет:
Lamak пишет:
Вот зачем тебе эта морока? ты больше мозг продолбишь , проще купить у знающих и проверенных людей)

Я хочу сам научиться. Ты ж не покупал не у кого, а сам разбирался, потому что интересно. Вот я зашёл на сайт, где брать исходники, а как их подправлять, чтоб античит не видел? http://www.cheat-project.com/games/41/%5B-Source-Code-%5D

Скорей всего никак
Вернуться к началу Перейти вниз
Lamak
Повелитель Стихий
Lamak



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeПн Окт 19, 2009 11:06 pm

хех думаешь всё так просто сначала надо рыться в исходниках античита , потом уже читом заниматься
Вернуться к началу Перейти вниз
KerchNET
Читюк
KerchNET



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeВт Окт 20, 2009 2:50 am

Lamak пишет:
хех думаешь всё так просто сначала надо рыться в исходниках античита , потом уже читом заниматься

А как исходный код маяка выдрать? UPlyX v0.5* как распаковать?
Вернуться к началу Перейти вниз
Lamak
Повелитель Стихий
Lamak



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeВт Окт 20, 2009 3:57 am

исходник можешь у хуякса выторговать
Вернуться к началу Перейти вниз
KerchNET
Читюк
KerchNET



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeВт Окт 20, 2009 4:53 pm

Lamak пишет:
исходник можешь у хуякса выторговать

Та блять! Нахуй мне покупать, если можно самому разобраться. Я ж спрашиваю как распаковать файлы, упакованныe UPolyx v0.5*
Вернуться к началу Перейти вниз
Lamak
Повелитель Стихий
Lamak



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeВт Окт 20, 2009 4:56 pm

Омг , хуякс разве можно скомпилированный файл , распоковать опять на исходники?
Вернуться к началу Перейти вниз
KOD
Профи читер
KOD



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeВт Окт 20, 2009 8:15 pm

KerchNET, на олчитс тебе правильно сказали

исходники и самого маяка и чита под него (не знаю что ты имел ввиду) есть только у авторов, а из бинарника, при условии что ты его распакуешь, ты сможешь получить лишь ассемблерный код

нету магических прог для распаковки защитных упаковщиков одной кнопкой, иначе какой смысл в такой защите? вот, осиливай )
Вернуться к началу Перейти вниз
KerchNET
Читюк
KerchNET



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeВт Окт 20, 2009 10:10 pm

- Дорогие , читера!

Читы на маяк вы делаете из исходников, "старых" читов, которые палились, но как переделать исходник не замечаемым для античита?!
Вернуться к началу Перейти вниз
KerchNET
Читюк
KerchNET



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeВт Окт 20, 2009 10:13 pm

KOD пишет:
KerchNET, на олчитс тебе правильно сказали

исходники и самого маяка и чита под него (не знаю что ты имел ввиду) есть только у авторов, а из бинарника, при условии что ты его распакуешь, ты сможешь получить лишь ассемблерный код

нету магических прог для распаковки защитных упаковщиков одной кнопкой, иначе какой смысл в такой защите? вот, осиливай )

Так а с *нецензурная брань* мне Lamak написал, что "можешь купить исходники у huYAX'a" да и ещё за бабки. Разводило?! Правильно, что лучше самому сделать!
Вернуться к началу Перейти вниз
Lamak
Повелитель Стихий
Lamak



Язык программирования для написания myAC 1.5.8 14 hack Empty
СообщениеТема: Re: Язык программирования для написания myAC 1.5.8 14 hack   Язык программирования для написания myAC 1.5.8 14 hack Icon_minitimeСр Окт 21, 2009 2:37 am

я это писал , потому что думал что он чит с их помощью делает , но раз нет значит флаг в руки
Вернуться к началу Перейти вниз
 
Язык программирования для написания myAC 1.5.8 14 hack
Вернуться к началу 
Страница 1 из 1

Права доступа к этому форуму:Вы не можете отвечать на сообщения
Читы для CS 1.6 скачать :: Читы для CS :: Читы под античиты-
Перейти: