Truxton etl send me message

From truxwiki.com
Jump to navigation Jump to search

This is used during the development of your exploitation program. It is used when you want a very specific message to come into your queue. This is usually used when developing an ETL process that doesn't process files.

Syntax

void truxton_etl_send_me_message( uint64_t etl_handle, uint64_t message_handle );

Parameters

etl_handle

The handle created by the truxton_etl_create call.

message_handle

A handle to a message. This is usually created by calling truxton_message_create.

Sample

#include <TruxtonCAPI.h>

void test( void )
{
   uint64_t app = truxton_etl_create();

   truxton_etl_set_application_name( app, "Sample C ETL" );
   truxton_etl_set_depot_type_name( app, "custom" );
   truxton_etl_set_queue_name( app, "SampleC" );

   uint64_t message = truxton_message_create();

   truxton_message_set_file_id( message_handle, "D61696E-7461-696E-4F70-74696D697A65" );

   // FOR TESTING PURPOSES ONLY!
   truxton_etl_send_me_message( app, message );

   truxton_message_destroy( message );

   // Pause here until we get a message from the "SampleC" message queue
   message = truxton_etl_get_message( app );

   while( message != 0 )
   {
      // Do something with the message

      memset( file_id, 0x00, sizeof( file_id ) );
      truxton_message_get_file_id( message, file_id, sizeof( file_id ) );

      printf( "Received file id %s\n", file_id );

      truxton_message_destroy( message );

      // Pause here until we get another message from the "SampleC" message queue
      message = truxton_etl_get_message( app );
   }

   truxton_etl_destroy( app );
}