-// **********************************************************************
-// The Cheat - A universal game cheater for Mac OS X
-// (C) 2003-2005 Chaz McGarvey (BrokenZipper)
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 1, or (at your option)
-// any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-//
+/*
+ * The Cheat - The legendary universal game trainer for Mac OS X.
+ * http://www.dogcows.com/chaz/wiki/TheCheat
+ *
+ * Copyright (c) 2003-2010, Charles McGarvey et al.
+ *
+ * Distributable under the terms and conditions of the 2-clause BSD
+ * license; see the file COPYING for the legal text of the license.
+ */
#import "Searching.h"
SearchContext *context = [task context];
VMRegion region;
unsigned hitsPerRegion = 0;
- vm_size_t size;
+ mach_vm_size_t size;
void *ptr, *top;
TCAddress offset;
SearchContext *context = [task context];
VMRegion region;
unsigned hitsPerRegion = 0;
- vm_size_t size;
+ mach_vm_size_t size;
void *ptr;
unsigned i, top;
top = *context->lastPerRegionPtr;
for ( i = 0; i < top; i++ ) {
- ptr = context->buffer + *context->lastAddressPtr - VMRegionAddress(region);
+ ptr = (void *)((TCAddress)context->buffer + *context->lastAddressPtr - VMRegionAddress(region));
char firstValue[context->value->_size];
memcpy(firstValue, ptr, context->value->_size);
SearchContext *context = [task context];
VMRegion region;
unsigned hitsPerRegion = 0;
- vm_size_t size;
+ mach_vm_size_t size;
void *ptr;
unsigned i, top;
for ( i = 0; i < top; i++ ) {
- ptr = context->buffer + *context->lastAddressPtr - VMRegionAddress(region);
+ ptr = (void *)((TCAddress)context->buffer + *context->lastAddressPtr - VMRegionAddress(region));
if ( ptr >= context->buffer && context->compareFunc(ptr,context->lastValuePtr) ) {
if ( context->numberOfResults >= TCArrayElementCount(context->addresses) ) {
TCArrayResize( context->addresses, TCArrayElementCount(context->addresses) + TC_BUFFER_SIZE / sizeof(TCAddress) );
SearchContext *context = [task context];
VMRegion region;
unsigned hitsPerRegion = 0;
- vm_size_t size;
+ mach_vm_size_t size;
void *ptr, *top, *hit;
TCAddress offset;
SearchContext *context = [task context];
VMRegion region;
unsigned hitsPerRegion = 0;
- vm_size_t size;
+ mach_vm_size_t size;
void *ptr;
unsigned i, top;
for ( i = 0; i < top; i++ ) {
- ptr = context->buffer + *context->lastAddressPtr - VMRegionAddress(region);
+ ptr = (void *)((TCAddress)context->buffer + *context->lastAddressPtr - VMRegionAddress(region));
- if ( ptr >= context->buffer && memcmp( ptr, context->value->_value, MIN(TCArrayElementSize(context->values),context->buffer+VMRegionAddress(region)-ptr) ) == 0 ) {
+ if ( ptr >= context->buffer && memcmp( ptr, context->value->_value, MIN(TCArrayElementSize(context->values),(TCAddress)context->buffer+VMRegionAddress(region)-(TCAddress)ptr) ) == 0 ) {
if ( context->numberOfResults >= TCArrayElementCount(context->addresses) ) {
TCArrayResize( context->addresses, TCArrayElementCount(context->addresses) + TC_BUFFER_SIZE / sizeof(TCAddress) );
context->addressPtr = (TCAddress *)TCArrayBytes(context->addresses) + context->numberOfResults;
SearchContext *context = [task context];
VMRegion region;
unsigned hitsPerRegion = 0;
- vm_size_t size;
+ mach_vm_size_t size;
void *ptr;
unsigned i, top;
for ( i = 0; i < top; i++ ) {
- ptr = context->buffer + *context->lastAddressPtr - VMRegionAddress(region);
- if ( ptr >= context->buffer && memcmp( ptr, context->lastValuePtr, MIN(TCArrayElementSize(context->values),context->buffer+VMRegionAddress(region)-ptr) ) == 0 ) {
+ ptr = (void *)((TCAddress)context->buffer + *context->lastAddressPtr - VMRegionAddress(region));
+ if ( ptr >= context->buffer && memcmp( ptr, context->lastValuePtr, MIN(TCArrayElementSize(context->values),(TCAddress)context->buffer+VMRegionAddress(region)-(TCAddress)ptr) ) == 0 ) {
if ( context->numberOfResults >= TCArrayElementCount(context->addresses) ) {
TCArrayResize( context->addresses, TCArrayElementCount(context->addresses) + TC_BUFFER_SIZE / sizeof(TCAddress) );
context->addressPtr = (TCAddress *)TCArrayBytes(context->addresses) + context->numberOfResults;