View Single Post
  #4  
Old 11-05-2011, 04:30 PM
Naez 4.20 Naez 4.20 is offline
Banned


Join Date: Oct 2011
Location: s0cal
Posts: 99
Send a message via ICQ to Naez 4.20 Send a message via AIM to Naez 4.20 Send a message via MSN to Naez 4.20 Send a message via Yahoo to Naez 4.20
Default

We have modified the Flower Power cheat engine.

[You must be logged in to view images. Log in or Register.]

CTRL+INS: Decrease Runspeed
CTRL+HOME: Increase Runspeed
CTRL+PgUp: Increase Z-Axis by 1
CTRL+PgDwn: Decrease Z-Axis by 1
CTRL+END: Turn on No Fall DMG
CTRL+DEL: Turn on zero gravity

PHP Code:
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;

namespace 
ProcessMemoryReaderLib
{
    
/// <summary>
    /// ProcessMemoryReader is a class that enables direct reading a process memory
    /// </summary>
    
class ProcessMemoryReaderApi
    
{
        
// constants information can be found in <winnt.h>
        
[Flags]
        public 
enum ProcessAccessType
        
{
            
PROCESS_TERMINATE = (0x0001),
            
PROCESS_CREATE_THREAD = (0x0002),
            
PROCESS_SET_SESSIONID = (0x0004),
            
PROCESS_VM_OPERATION = (0x0008),
            
PROCESS_VM_READ = (0x0010),
            
PROCESS_VM_WRITE = (0x0020),
            
PROCESS_DUP_HANDLE = (0x0040),
            
PROCESS_CREATE_PROCESS = (0x0080),
            
PROCESS_SET_QUOTA = (0x0100),
            
PROCESS_SET_INFORMATION = (0x0200),
            
PROCESS_QUERY_INFORMATION = (0x0400)
        }

        
// function declarations are found in the MSDN and in <winbase.h> 

        //        HANDLE OpenProcess(
        //            DWORD dwDesiredAccess,  // access flag
        //            BOOL bInheritHandle,    // handle inheritance option
        //            DWORD dwProcessId       // process identifier
        //            );
        
[DllImport("kernel32.dll")]
        public static 
extern IntPtr OpenProcess(UInt32 dwDesiredAccessInt32 bInheritHandleUInt32 dwProcessId);

        
//        BOOL CloseHandle(
        //            HANDLE hObject   // handle to object
        //            );
        
[DllImport("kernel32.dll")]
        public static 
extern Int32 CloseHandle(IntPtr hObject);

        
//        BOOL ReadProcessMemory(
        //            HANDLE hProcess,              // handle to the process
        //            LPCVOID lpBaseAddress,        // base of memory area
        //            LPVOID lpBuffer,              // data buffer
        //            SIZE_T nSize,                 // number of bytes to read
        //            SIZE_T * lpNumberOfBytesRead  // number of bytes read
        //            );
        
[DllImport("kernel32.dll")]
        public static 
extern Int32 ReadProcessMemory(IntPtr hProcessIntPtr lpBaseAddress, [InOutbyte[] bufferUInt32 sizeout IntPtr lpNumberOfBytesRead);

        
//        BOOL WriteProcessMemory(
        //            HANDLE hProcess,                // handle to process
        //            LPVOID lpBaseAddress,           // base of memory area
        //            LPCVOID lpBuffer,               // data buffer
        //            SIZE_T nSize,                   // count of bytes to write
        //            SIZE_T * lpNumberOfBytesWritten // count of bytes written
        //            );
        
[DllImport("kernel32.dll")]
        public static 
extern Int32 WriteProcessMemory(IntPtr hProcessIntPtr lpBaseAddress, [InOutbyte[] bufferUInt32 sizeout IntPtr lpNumberOfBytesWritten);


    }

    public class 
ProcessMemoryReader
    
{

        public 
ProcessMemoryReader()
        {
        }

        
/// <summary>    
        /// Process from which to read        
        /// </summary>
        
public Process ReadProcess
        
{
            
get
            
{
                return 
m_ReadProcess;
            }
            
set
            
{
                
m_ReadProcess value;
            }
        }

        private 
Process m_ReadProcess null;

        private 
IntPtr m_hProcess IntPtr.Zero;

        public 
void OpenProcess()
        {
            
//            m_hProcess = ProcessMemoryReaderApi.OpenProcess(ProcessMemoryReaderApi.PROCESS_VM_READ, 1, (uint)m_ReadProcess.Id);
            
ProcessMemoryReaderApi.ProcessAccessType access;
            
access ProcessMemoryReaderApi.ProcessAccessType.PROCESS_VM_READ
                
ProcessMemoryReaderApi.ProcessAccessType.PROCESS_VM_WRITE
                
ProcessMemoryReaderApi.ProcessAccessType.PROCESS_VM_OPERATION;
            
m_hProcess ProcessMemoryReaderApi.OpenProcess((uint)access1, (uint)m_ReadProcess.Id);
        }

        public 
void CloseHandle()
        {
            
int iRetValue;
            
iRetValue ProcessMemoryReaderApi.CloseHandle(m_hProcess);
            if (
iRetValue == 0)
                throw new 
Exception("CloseHandle failed");
        }

        public 
byte[] ReadProcessMemory(IntPtr MemoryAddressuint bytesToReadout int bytesRead)
        {
            
byte[] buffer = new byte[bytesToRead];

            
IntPtr ptrBytesRead;
            
ProcessMemoryReaderApi.ReadProcessMemory(m_hProcessMemoryAddressbufferbytesToReadout ptrBytesRead);

            
bytesRead ptrBytesRead.ToInt32();

            return 
buffer;
        }

        public 
void WriteProcessMemory(IntPtr MemoryAddressbyte[] bytesToWriteout int bytesWritten)
        {
            
IntPtr ptrBytesWritten;
            
ProcessMemoryReaderApi.WriteProcessMemory(m_hProcessMemoryAddressbytesToWrite, (uint)bytesToWrite.Lengthout ptrBytesWritten);

            
bytesWritten ptrBytesWritten.ToInt32();
        }




    }