Difference between revisions of "Truxton etl send me file id"
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...") |
|||
| (8 intermediate revisions by the same user not shown) | |||
| Line 3: | Line 3: | ||
=Syntax= | =Syntax= | ||
| − | < | + | <source lang="C"> |
| − | void truxton_etl_send_me_file_id( uint64_t etl_handle, char const * | + | void truxton_etl_send_me_file_id( uint64_t etl_handle, char const * file_id_string ); |
| − | </ | + | </source> |
=Parameters= | =Parameters= | ||
==<code>etl_handle</code>== | ==<code>etl_handle</code>== | ||
| − | |||
The handle created by the [[truxton_etl_create]] call. | The handle created by the [[truxton_etl_create]] call. | ||
| − | ==<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><nowiki>[</nowiki>[[File Table|File]]<nowiki>]</nowiki></code> table. | ||
| + | The [[TGUID#File_ID|file identifier]] is not random. | ||
=Remarks= | =Remarks= | ||
| − | + | Not only must the file be present in the <code><nowiki>[</nowiki>[[File Table|File]]<nowiki>]</nowiki></code> table but the file must also have contents. | |
| − | |||
=Sample= | =Sample= | ||
| − | + | <source lang="C" highlight="15"> | |
| − | < | ||
#include <TruxtonCAPI.h> | #include <TruxtonCAPI.h> | ||
| Line 27: | Line 26: | ||
{ | { | ||
char file_id[ 65 ]; | char file_id[ 65 ]; | ||
| − | |||
| − | |||
| − | |||
uint64_t message = 0; | uint64_t message = 0; | ||
| Line 38: | Line 34: | ||
truxton_etl_set_queue_name( app, "SampleC" ); | truxton_etl_set_queue_name( app, "SampleC" ); | ||
| − | + | // FOR TESTING PURPOSES ONLY! | |
| − | + | truxton_etl_send_me_file_id( app, "5ecbebc4-9937-2b88-f691-91a800000024" ); | |
| − | while( | + | // Pause here until we get a message from the "SampleC" message queue |
| + | message = truxton_etl_get_message( app ); | ||
| + | |||
| + | while( message != 0 ) | ||
{ | { | ||
| − | message | + | // 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 ); | ||
} | } | ||
| − | </ | + | </source> |
Latest revision as of 11:28, 10 February 2021
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.
The file identifier is not random.
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 ];
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" );
// 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 );
}