Difference between revisions of "Truxton etl send me local file"

From truxwiki.com
Jump to navigation Jump to search
Line 13: Line 13:
  
 
==<code>file_type</code>==
 
==<code>file_type</code>==
The file will be tagged with this [[File Types Supported | file type]] in the incoming message.
+
The <code>[[Message Bus Messages#file_type|file_type]]</code> field of the incoming [[Message Bus Messages#Message Structure|message]] will be tagged set to this [[File Types Supported|value]].
  
 
==<code>calculate_hash</code>==
 
==<code>calculate_hash</code>==
By default, Truxton will calculate the [https://en.wikipedia.org/wiki/MD5 MD5] hash of the file's contents before sending it to you.
+
By default, Truxton will calculate the [https://en.wikipedia.org/wiki/MD5 MD5] hash of the file's contents to populate the <code>[[Message Bus Messages#md5|md5]]</code> member of the [[Message Bus Messages#Message Structure|message]] before sending it to you.
 
However, this can take some time if you are dealing with large files.
 
However, this can take some time if you are dealing with large files.
 
If you don't care about the hash value, set <code>calculate_hash</code> to zero and the hash will be replaced with a random value.
 
If you don't care about the hash value, set <code>calculate_hash</code> to zero and the hash will be replaced with a random value.
  
 
==<code>file_name</code>==
 
==<code>file_name</code>==
The path to the file to open and send to the message queue.
+
The path to the file to open and send to your message queue.
 +
Ultimately, this value will be stored in the <code>[[Message Bus Messages#depot_filename|depot_filename]]</code> field of the incoming [[Message Bus Messages#Message Structure|message]].
  
 
=Sample=
 
=Sample=

Revision as of 07:27, 8 November 2020

This is used during the development of your exploitation program. It will open the file and put a message into your message queue.

Syntax

void truxton_etl_send_me_local_file( uint64_t etl_handle, uint16_t file_type, uint16_t calculate_hash, char const * file_name );

Parameters

etl_handle

The handle created by the truxton_etl_create call.

file_type

The file_type field of the incoming message will be tagged set to this value.

calculate_hash

By default, Truxton will calculate the MD5 hash of the file's contents to populate the md5 member of the message before sending it to you. However, this can take some time if you are dealing with large files. If you don't care about the hash value, set calculate_hash to zero and the hash will be replaced with a random value.

file_name

The path to the file to open and send to your message queue. Ultimately, this value will be stored in the depot_filename field of the incoming message.

Sample

#include <TruxtonCAPI.h>

void main( void )
{
    char file_id[ 65 ];

    int exit_loop = 0;

    uint64_t message = 0;
    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" );

    // FOR TESTING PURPOSES ONLY!
    truxton_etl_send_me_local_file( app, Type_MPEG4Video , 0, "C:\\Test Files\\Video\\Fragmented\\Recovered Video.mp4");

    while( exit_loop == 0 )
    {
        message = truxton_etl_get_message( app );

        if ( 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 );
        }
        else
        {
            exit_loop = 1;
        }
    }

    truxton_etl_destroy( app );
}