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

From truxwiki.com
Jump to navigation Jump to search
(Created page with "This is used during the development of your exploitation program. It will open the file and put a message into your message queue. =Syntax= <syntaxhighlight lang="C"> void tr...")
 
Line 4: Line 4:
 
=Syntax=
 
=Syntax=
 
<syntaxhighlight lang="C">
 
<syntaxhighlight lang="C">
void truxton_etl_send_me_local_file( uint64_t etl_handle, uint16_t file_type, uint16_t calculate_hash, char const * file_name )
+
void truxton_etl_send_me_local_file( uint64_t etl_handle, uint16_t file_type, uint16_t calculate_hash, char const * file_name );
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 24: Line 24:
  
 
=Sample=
 
=Sample=
 
 
<syntaxhighlight lang="C" highlight="17">
 
<syntaxhighlight lang="C" highlight="17">
 
#include <TruxtonCAPI.h>
 
#include <TruxtonCAPI.h>

Revision as of 06:43, 10 June 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 will be tagged with this file type in the incoming message.

calculate_hash

By default, Truxton will calculate the MD5 hash of the file's contents 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 calculation of the hash will be skipped and a random value sent as the hash.

file_name

The path to the file to open and send to the message queue.

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 );
}