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

From truxwiki.com
Jump to navigation Jump to search
(Created page with "This is used during the development of your exploitation program. It will go to Truxton, find the file and place it into your message queue. =Syntax= <syntaxhighlight lang="C...")
 
Line 4: Line 4:
 
=Syntax=
 
=Syntax=
 
<syntaxhighlight lang="C">
 
<syntaxhighlight lang="C">
void truxton_etl_send_me_file_id( uint64_t etl_handle, char const * guid_string )
+
void truxton_etl_send_me_file_id( uint64_t etl_handle, char const * file_id_string )
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 12: Line 12:
 
The handle created by the [[truxton_etl_create]] call.
 
The handle created by the [[truxton_etl_create]] call.
  
==<code>guid_string </code>==
+
==<code>file_id_string</code>==
A GUID in string form. This value must match the <code>ID</code> column of the <code>File</code> table.
+
A [https://en.wikipedia.org/wiki/Universally_unique_identifier GUID] in string form. This value must match the <code>ID</code> column of the <code>File</code> table.
  
 
=Remarks=
 
=Remarks=
This name will be normalized to all lower case letters with spaces removed.
+
Not only must the file be present in the <code>File</code> table but the file must also have contents.
"My Queue" will be normalized to "myqueue"
 
  
 
=Sample=
 
=Sample=
  
<syntaxhighlight lang="C" highlight="15">
+
<syntaxhighlight lang="C" highlight="17">
 
#include <TruxtonCAPI.h>
 
#include <TruxtonCAPI.h>
  
Line 27: Line 26:
 
{
 
{
 
     char file_id[ 65 ];
 
     char file_id[ 65 ];
    char description[ 128 ];
 
  
 
     int exit_loop = 0;
 
     int exit_loop = 0;
Line 38: Line 36:
 
     truxton_etl_set_queue_name( app, "SampleC" );
 
     truxton_etl_set_queue_name( app, "SampleC" );
  
     truxton_etl_set_description( app, "A sample of how to write an ETL");
+
     // FOR TESTING PURPOSES ONLY!
    truxton_etl_get_description( app, description, sizeof(description));
+
    truxton_etl_send_me_file_id( app, "5ecbebc4-9937-2b88-f691-91a800000024");
  
 
     while( exit_loop == 0 )
 
     while( exit_loop == 0 )

Revision as of 09:21, 26 May 2020

This is used during the development of your exploitation program. It will go to Truxton, find the file and place it into your message queue.

Syntax

void truxton_etl_send_me_file_id( uint64_t etl_handle, char const * file_id_string )

Parameters

etl_handle

The handle created by the truxton_etl_create call.

file_id_string

A GUID in string form. This value must match the ID column of the File table.

Remarks

Not only must the file be present in the File table but the file must also have contents.

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_file_id( app, "5ecbebc4-9937-2b88-f691-91a800000024");

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