if ( getpeername( sockfd, &identifier, &addrLen ) == -1 )
{
- NSLog( @"ERROR: getpeername() failed" );
+ CMLog( @"ERROR: getpeername() failed" );
}
if ( identifier.sa_family == AF_INET )
if ( getpeername( sockfd, (struct sockaddr *)(&addr), &addrLen ) == -1 )
{
- NSLog( @"ERROR: getpeername() failed" );
+ CMLog( @"ERROR: getpeername() failed" );
}
if ( (addressCString = inet_ntoa( addr.sin_addr )) == NULL )
{
- NSLog( @"ERROR: inet_ntoa() failed" );
+ CMLog( @"ERROR: inet_ntoa() failed" );
}
address = [NSString stringWithCString:addressCString];
if ( getpeername( sockfd, (struct sockaddr *)(&addr), &addrLen ) == -1 )
{
- NSLog( @"ERROR: getpeername() failed" );
+ CMLog( @"ERROR: getpeername() failed" );
}
- NSLog( @"client connection: %s", addr.sun_path );
+ CMLog( @"client connection: %s", addr.sun_path );
address = [NSString stringWithString:@"127.0.0.1"];
}
numfds = sockfd + 1;
- NSLog( @"SERVER start" );
+ CMLog( @"SERVER start" );
for (;;)
{
if ( !VerifyChecksum( header.checksum ) )
{
- NSLog( @"checksum failed" );
+ CMLog( @"checksum failed" );
}
if ( header.size != 0 )
{
if ( (data = (char *)malloc( header.size )) == NULL )
{
- NSLog( @"failed to allocate buffer for reading a network packet" );
+ CMLog( @"failed to allocate buffer for reading a network packet" );
break;
}
if ( (result = ReadBuffer( sockfd, data, header.size )) != header.size )
{
- NSLog( @"failed to read the data of a network packet" );
+ CMLog( @"failed to read the data of a network packet" );
free( data );
break;
}
}
- //NSLog( @"SERVER message %i/%i/%i", header.checksum, header.function, header.size );
+ //CMLog( @"SERVER message %i/%i/%i", header.checksum, header.function, header.size );
switch ( header.function )
{
close( sockfd );
- NSLog( @"SERVER close" );
+ CMLog( @"SERVER close" );
[rootProxy serverDisconnected:self];
}
{
if ( result != KERN_INVALID_ADDRESS )
{
- NSLog( @"vm_region returned error: %i", result );
+ CMLog( @"vm_region returned error: %i", result );
}
break;
}
if ( (result = vm_read_overwrite( processTask, address, size, (vm_address_t)data, &dataLength )) != KERN_SUCCESS && result != KERN_PROTECTION_FAILURE )
{
- NSLog( @"vm_read_overwrite returned error: %i", result );
+ CMLog( @"vm_read_overwrite returned error: %i", result );
free( data );
break;
}
if ( (results = realloc( results, TCAddressSize*resultsAmount + dataLength )) == NULL )
{
- NSLog( @"ERROR: could not expand buffer" );
+ CMLog( @"ERROR: could not expand buffer" );
exit(0);
}
realloc( results, TCAddressSize*resultsAmount );
[searchResults addObject:[SearchResults resultsWithType:TYPE_INTEGER size:SIZE_8_BIT data:results amount:resultsAmount]];
- NSLog( @"found %i of %i", resultsAmount, value );
+ CMLog( @"found %i of %i", resultsAmount, value );
}
- (void)firstSearchIntegerChar:(int8_t)value
{
if ( result != KERN_INVALID_ADDRESS )
{
- NSLog( @"vm_region returned error: %i", result );
+ CMLog( @"vm_region returned error: %i", result );
}
break;
}
if ( (result = vm_read_overwrite( processTask, address, size, (vm_address_t)data, &dataLength )) != KERN_SUCCESS && result != KERN_PROTECTION_FAILURE )
{
- NSLog( @"vm_read_overwrite returned error: %i", result );
+ CMLog( @"vm_read_overwrite returned error: %i", result );
free( data );
break;
}
if ( (results = (TCaddress *)realloc( results, TCAddressSize*resultsAmount + TCAddressSize*dataLength )) == NULL )
{
- NSLog( @"ERROR: could not expand buffer" );
+ CMLog( @"ERROR: could not expand buffer" );
exit(0);
}
realloc( results, TCAddressSize*resultsAmount );
[searchResults addObject:[SearchResults resultsWithType:TYPE_INTEGER size:SIZE_8_BIT data:results amount:resultsAmount]];
- NSLog( @"found %i of %i", resultsAmount, value );
+ CMLog( @"found %i of %i", resultsAmount, value );
}
- (void)firstSearchIntegerShort:(int16_t)value
{
if ( result != KERN_INVALID_ADDRESS )
{
- NSLog( @"vm_region returned error: %i", result );
+ CMLog( @"vm_region returned error: %i", result );
}
break;
}
if ( (result = vm_read_overwrite( processTask, address, size, (vm_address_t)data, &dataLength )) != KERN_SUCCESS && result != KERN_PROTECTION_FAILURE )
{
- NSLog( @"vm_read_overwrite returned error: %i", result );
+ CMLog( @"vm_read_overwrite returned error: %i", result );
free( data );
break;
}
if ( (results = (TCaddress *)realloc( results, TCAddressSize*resultsAmount + 2*dataLength )) == NULL )
{
- NSLog( @"ERROR: could not expand buffer" );
+ CMLog( @"ERROR: could not expand buffer" );
exit(0);
}
realloc( results, TCAddressSize*resultsAmount );
[searchResults addObject:[SearchResults resultsWithType:TYPE_INTEGER size:SIZE_16_BIT data:results amount:resultsAmount]];
- NSLog( @"found %i of %i", resultsAmount, value );
+ CMLog( @"found %i of %i", resultsAmount, value );
}
- (void)firstSearchIntegerLong:(int32_t)value
if ( (result = malloc_get_all_zones( processTask, NULL, &zones, &zone_count )) != KERN_SUCCESS )
{
- NSLog( @"malloc_get_all_zones error: %i", result );
+ CMLog( @"malloc_get_all_zones error: %i", result );
}
else
{
for ( i = 0; i < 10; i++ )
{
- NSLog( @"malloc_get_all_zones[%i] = %X", i, (vm_address_t)zones[i] );
+ CMLog( @"malloc_get_all_zones[%i] = %X", i, (vm_address_t)zones[i] );
}
}*/
{
if ( result != KERN_INVALID_ADDRESS )
{
- NSLog( @"vm_region returned error: %i", result );
+ CMLog( @"vm_region returned error: %i", result );
}
break;
}
data = (int32_t *)malloc( size );
dataLength = size;
- //NSLog( @"address: %.8X size: %i", address, size );
+ //CMLog( @"address: %.8X size: %i", address, size );
if ( (result = vm_read_overwrite( processTask, address, size, (vm_address_t)data, &dataLength )) != KERN_SUCCESS && result != KERN_PROTECTION_FAILURE )
{
- NSLog( @"vm_read_overwrite returned error: %i", result );
+ CMLog( @"vm_read_overwrite returned error: %i", result );
free( data );
break;
}
if ( (results = (TCaddress *)realloc( results, TCAddressSize*resultsAmount + dataLength )) == NULL )
{
- NSLog( @"ERROR: could not expand buffer" );
+ CMLog( @"ERROR: could not expand buffer" );
exit(0);
}
realloc( results, TCAddressSize*resultsAmount );
[searchResults addObject:[SearchResults resultsWithType:TYPE_INTEGER size:SIZE_32_BIT data:results amount:resultsAmount]];
- NSLog( @"found %i of %i", resultsAmount, value );
+ CMLog( @"found %i of %i", resultsAmount, value );
}
- (void)firstSearchDecimalFloat:(float)value
{
if ( result != KERN_INVALID_ADDRESS )
{
- NSLog( @"vm_region returned error: %i", result );
+ CMLog( @"vm_region returned error: %i", result );
}
break;
}
if ( (result = vm_read_overwrite( processTask, address, size, (vm_address_t)data, &dataLength )) != KERN_SUCCESS && result != KERN_PROTECTION_FAILURE )
{
- NSLog( @"vm_read_overwrite returned error: %i", result );
+ CMLog( @"vm_read_overwrite returned error: %i", result );
free( data );
break;
}
if ( (results = realloc( results, TCAddressSize*resultsAmount + dataLength )) == NULL )
{
- NSLog( @"ERROR: could not expand buffer" );
+ CMLog( @"ERROR: could not expand buffer" );
exit(0);
}
realloc( results, TCAddressSize*resultsAmount );
[searchResults addObject:[SearchResults resultsWithType:TYPE_DECIMAL size:SIZE_32_BIT data:results amount:resultsAmount]];
- NSLog( @"found %i of %i", resultsAmount, value );
+ CMLog( @"found %i of %i", resultsAmount, value );
}
- (void)firstSearchDecimalDouble:(double)value
TCaddress *results = NULL;
int resultsAmount = 0;
- NSLog( @"float search" );
+ CMLog( @"float search" );
for (;;)
{
{
if ( result != KERN_INVALID_ADDRESS )
{
- NSLog( @"vm_region returned error: %i", result );
+ CMLog( @"vm_region returned error: %i", result );
}
break;
}
if ( (result = vm_read_overwrite( processTask, address, size, (vm_address_t)data, &dataLength )) != KERN_SUCCESS && result != KERN_PROTECTION_FAILURE )
{
- NSLog( @"vm_read_overwrite returned error: %i", result );
+ CMLog( @"vm_read_overwrite returned error: %i", result );
free( data );
break;
}
if ( (results = realloc( results, TCAddressSize*resultsAmount + dataLength )) == NULL )
{
- NSLog( @"ERROR: could not expand buffer" );
+ CMLog( @"ERROR: could not expand buffer" );
exit(0);
}
realloc( results, TCAddressSize*resultsAmount );
[searchResults addObject:[SearchResults resultsWithType:TYPE_DECIMAL size:SIZE_64_BIT data:results amount:resultsAmount]];
- NSLog( @"found %i of %i", resultsAmount, value );
+ CMLog( @"found %i of %i", resultsAmount, value );
}
if ( (data = (char *)malloc( vsize )) == NULL )
{
- NSLog( @"ERROR: could not create buffer" );
+ CMLog( @"ERROR: could not create buffer" );
[self sendError:@"The server cancelled the search because it ran out of memory." fatal:NO];
return;
if ( (results = (TCaddress *)malloc( TCAddressSize*lastResultsAmount )) == NULL )
{
- NSLog( @"ERROR: could not create buffer" );
+ CMLog( @"ERROR: could not create buffer" );
[self sendError:@"The server cancelled the search because it ran out of memory." fatal:NO];
free( data );
{
if ( result != KERN_PROTECTION_FAILURE )
{
- NSLog( @"vm_read_overwrite returned error: %i", result );
+ CMLog( @"vm_read_overwrite returned error: %i", result );
break;
}
}
free( data );
- NSLog( @"found %i of %i", resultsAmount, value );
+ CMLog( @"found %i of %i", resultsAmount, value );
}
- (void)searchIntegerChar:(int8_t)value
if ( (results = (TCaddress *)malloc( TCAddressSize*lastResultsAmount )) == NULL )
{
- NSLog( @"ERROR: could not create buffer" );
+ CMLog( @"ERROR: could not create buffer" );
[self sendError:@"The server cancelled the search because it ran out of memory." fatal:NO];
return;
{
if ( result != KERN_PROTECTION_FAILURE )
{
- NSLog( @"vm_read_overwrite returned error: %i", result );
+ CMLog( @"vm_read_overwrite returned error: %i", result );
break;
}
}
realloc( results, TCAddressSize*resultsAmount );
[searchResults addObject:[SearchResults resultsWithType:TYPE_INTEGER size:SIZE_8_BIT data:results amount:resultsAmount]];
- NSLog( @"found %i of %i", resultsAmount, value );
+ CMLog( @"found %i of %i", resultsAmount, value );
}
- (void)searchIntegerShort:(int16_t)value
if ( (results = (TCaddress *)malloc( TCAddressSize*lastResultsAmount )) == NULL )
{
- NSLog( @"ERROR: could not create buffer" );
+ CMLog( @"ERROR: could not create buffer" );
[self sendError:@"The server cancelled the search because it ran out of memory." fatal:NO];
return;
{
if ( result != KERN_PROTECTION_FAILURE )
{
- NSLog( @"vm_read_overwrite returned error: %i", result );
+ CMLog( @"vm_read_overwrite returned error: %i", result );
break;
}
}
realloc( results, TCAddressSize*resultsAmount );
[searchResults addObject:[SearchResults resultsWithType:TYPE_INTEGER size:SIZE_16_BIT data:results amount:resultsAmount]];
- NSLog( @"found %i of %i", resultsAmount, value );
+ CMLog( @"found %i of %i", resultsAmount, value );
}
- (void)searchIntegerLong:(int32_t)value
if ( (results = (TCaddress *)malloc( TCAddressSize*lastResultsAmount )) == NULL )
{
- NSLog( @"ERROR: could not create buffer" );
+ CMLog( @"ERROR: could not create buffer" );
[self sendError:@"The server cancelled the search because it ran out of memory." fatal:NO];
return;
{
if ( result != KERN_PROTECTION_FAILURE )
{
- NSLog( @"vm_read_overwrite returned error: %i", result );
+ CMLog( @"vm_read_overwrite returned error: %i", result );
break;
}
}
realloc( results, TCAddressSize*resultsAmount );
[searchResults addObject:[SearchResults resultsWithType:TYPE_INTEGER size:SIZE_32_BIT data:results amount:resultsAmount]];
- NSLog( @"found %i of %i", resultsAmount, value );
+ CMLog( @"found %i of %i", resultsAmount, value );
}
- (void)searchDecimalFloat:(float)value
if ( (results = (TCaddress *)malloc( TCAddressSize*lastResultsAmount )) == NULL )
{
- NSLog( @"ERROR: could not create buffer" );
+ CMLog( @"ERROR: could not create buffer" );
[self sendError:@"The server cancelled the search because it ran out of memory." fatal:NO];
return;
{
if ( result != KERN_PROTECTION_FAILURE )
{
- NSLog( @"vm_read_overwrite returned error: %i", result );
+ CMLog( @"vm_read_overwrite returned error: %i", result );
break;
}
}
realloc( results, TCAddressSize*resultsAmount );
[searchResults addObject:[SearchResults resultsWithType:TYPE_DECIMAL size:SIZE_32_BIT data:results amount:resultsAmount]];
- NSLog( @"found %i of %i", resultsAmount, value );
+ CMLog( @"found %i of %i", resultsAmount, value );
}
- (void)searchDecimalDouble:(double)value
if ( (results = (TCaddress *)malloc( TCAddressSize*lastResultsAmount )) == NULL )
{
- NSLog( @"ERROR: could not create buffer" );
+ CMLog( @"ERROR: could not create buffer" );
[self sendError:@"The server cancelled the search because it ran out of memory." fatal:NO];
return;
{
if ( result != KERN_PROTECTION_FAILURE )
{
- NSLog( @"vm_read_overwrite returned error: %i", result );
+ CMLog( @"vm_read_overwrite returned error: %i", result );
break;
}
}
realloc( results, TCAddressSize*resultsAmount );
[searchResults addObject:[SearchResults resultsWithType:TYPE_DECIMAL size:SIZE_64_BIT data:results amount:resultsAmount]];
- NSLog( @"found %i of %i", resultsAmount, value );
+ CMLog( @"found %i of %i", resultsAmount, value );
}
if ( (buffer = (char *)malloc( length ))==NULL )
{
- NSLog( @"sendProcessList failed" );
+ CMLog( @"sendProcessList failed" );
return;
}
if ( SendBuffer( sockfd, buffer, &lengthAfter ) == -1 || lengthAfter != length )
{
- NSLog( @"sendProcessList failed" );
+ CMLog( @"sendProcessList failed" );
}
free( buffer );
if ( SendBuffer( sockfd, (char *)(&header), &length ) == -1 || length != sizeof(header) )
{
- NSLog( @"sendSearchFinished failed" );
+ CMLog( @"sendSearchFinished failed" );
}
}
PacketHeader header;
int length;
int lengthAfter;
+ int displayAmount = ( searchResultsAmountDisplayed > amount )? amount : searchResultsAmountDisplayed;
+ int resultsLength = TCAddressSize * displayAmount;
char *buffer, *ptr;
header.checksum = RandomChecksum();
header.function = 7;
- header.size = sizeof(amount) + sizeof(maxSearchResultsAmount) + TCAddressSize*maxSearchResultsAmount;
- // AMOUNT MAX AMOUNT DATA
+ header.size = sizeof(amount) + sizeof(displayAmount) + resultsLength;
+ // AMOUNT DISPLAY AMOUNT DATA
lengthAfter = length = header.size + sizeof(header);
if ( (buffer = (char *)malloc( length )) == NULL )
{
- NSLog( @"sendVariableList:amount: failed" );
+ CMLog( @"sendVariableList:amount: failed" );
return;
}
COPY_TO_BUFFER( ptr, &header, sizeof(header) );
COPY_TO_BUFFER( ptr, &amount, sizeof(amount) );
- COPY_TO_BUFFER( ptr, &maxSearchResultsAmount, sizeof(maxSearchResultsAmount) );
- COPY_TO_BUFFER( ptr, data, TCAddressSize*maxSearchResultsAmount );
+ COPY_TO_BUFFER( ptr, &displayAmount, sizeof(displayAmount) );
+ COPY_TO_BUFFER( ptr, data, resultsLength );
if ( SendBuffer( sockfd, buffer, &length ) == -1 || lengthAfter != length )
{
- NSLog( @"sendVariableList:amount: failed" );
+ CMLog( @"sendVariableList:amount: failed" );
}
free( buffer );
+
+ CMLog( @"SERVER sending %i out of %i results", displayAmount, amount );
}
- (void)sendChangeFinished
if ( SendBuffer( sockfd, (char *)(&header), &length ) == -1 || length != sizeof(header) )
{
- NSLog( @"sendChangeFinished failed" );
+ CMLog( @"sendChangeFinished failed" );
}
}
if ( (buffer = (char *)malloc( length )) == NULL )
{
- NSLog( @"sendError:fatal: failed" );
+ CMLog( @"sendError:fatal: failed" );
return;
}
if ( SendBuffer( sockfd, buffer, &length ) == -1 || lengthAfter != length )
{
- NSLog( @"sendError:fatal: failed" );
+ CMLog( @"sendError:fatal: failed" );
}
free( buffer );
if ( SendBuffer( sockfd, (char *)(&header), &length ) == -1 || length != sizeof(header) )
{
- NSLog( @"sendUndoFinished failed" );
+ CMLog( @"sendUndoFinished failed" );
}
}
if ( SendBuffer( sockfd, (char *)(&header), &length ) == -1 || length != sizeof(header) )
{
- NSLog( @"sendRedoFinished failed" );
+ CMLog( @"sendRedoFinished failed" );
}
}
if ( (buffer = (char *)malloc( length )) == NULL )
{
- NSLog( @"sendSetTargetPID: failed" );
+ CMLog( @"sendSetTargetPID: failed" );
}
ptr = buffer;
if ( SendBuffer( sockfd, buffer, &lengthAfter ) == -1 || lengthAfter != length )
{
- NSLog( @"sendUndoRedoStatus: failed" );
+ CMLog( @"sendUndoRedoStatus: failed" );
}
free( buffer );
if ( (buffer = (char *)malloc( length ))==NULL )
{
- NSLog( @"sendAppLaunched: failed" );
+ CMLog( @"sendAppLaunched: failed" );
return;
}
if ( SendBuffer( sockfd, buffer, &lengthAfter ) == -1 || lengthAfter != length )
{
- NSLog( @"sendAppLaunched: failed" );
+ CMLog( @"sendAppLaunched: failed" );
}
free( buffer );
if ( (buffer = (char *)malloc( length ))==NULL )
{
- NSLog( @"sendAppQuit: failed" );
+ CMLog( @"sendAppQuit: failed" );
return;
}
if ( SendBuffer( sockfd, buffer, &lengthAfter ) == -1 || lengthAfter != length )
{
- NSLog( @"sendAppQuit: failed" );
+ CMLog( @"sendAppQuit: failed" );
}
free( buffer );
if ( SendBuffer( sockfd, (char *)(&header), &length ) == -1 || length != sizeof(header) )
{
- NSLog( @"sendTargetAppQuit failed" );
+ CMLog( @"sendTargetAppQuit failed" );
}
}
if ( (buffer = (char *)malloc( length ))==NULL )
{
- NSLog( @"sendPauseFinished: failed" );
+ CMLog( @"sendPauseFinished: failed" );
return;
}
if ( SendBuffer( sockfd, buffer, &lengthAfter ) == -1 || lengthAfter != length )
{
- NSLog( @"sendPauseFinished: failed" );
+ CMLog( @"sendPauseFinished: failed" );
}
free( buffer );
COPY_FROM_BUFFER( &type, ptr, sizeof(type) );
COPY_FROM_BUFFER( &size, ptr, sizeof(size) );
- COPY_FROM_BUFFER( &maxSearchResultsAmount, ptr, sizeof(maxSearchResultsAmount) );
+ // receive the amount of results to return
+ COPY_FROM_BUFFER( &searchResultsAmountDisplayed, ptr, sizeof(searchResultsAmountDisplayed) );
if ( ![searchResults lastObject] )
{
}
else
{
- NSLog( @"ERROR: process couldn't be paused" );
+ CMLog( @"ERROR: process couldn't be paused" );
[self sendPauseFinished:NO];
[self sendError:@"Could not pause target because of an unknown error." fatal:NO];
}
}
else
{
- NSLog( @"ERROR: process couldn't be paused" );
+ CMLog( @"ERROR: process couldn't be paused" );
[self sendPauseFinished:NO];
[self sendError:@"Could not pause target because of an unknown error." fatal:NO];
}
}
else
{
- NSLog( @"ERROR: process couldn't be paused" );
+ CMLog( @"ERROR: process couldn't be paused" );
[self sendPauseFinished:NO];
switch ( errno )
if ( (result = task_for_pid( current_task(), processID, &processTask)) != KERN_SUCCESS )
{
- NSLog( @"task_for_pid returned error: %i", result );
+ CMLog( @"task_for_pid returned error: %i", result );
}
}