Difference between revisions of "Truxton etl send me local file"
Jump to navigation
Jump to search
(→Sample) |
|||
| (3 intermediate revisions by the same user not shown) | |||
| Line 3: | Line 3: | ||
=Syntax= | =Syntax= | ||
| − | < | + | <source 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 ); | ||
| − | </ | + | </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>file_type</code>== | ==<code>file_type</code>== | ||
| − | The | + | 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 | + | 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 | + | 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= | ||
| − | < | + | <source lang="C" highlight="15"> |
#include <TruxtonCAPI.h> | #include <TruxtonCAPI.h> | ||
| Line 30: | Line 30: | ||
{ | { | ||
char file_id[ 65 ]; | char file_id[ 65 ]; | ||
| − | |||
| − | |||
uint64_t message = 0; | uint64_t message = 0; | ||
| Line 41: | Line 39: | ||
// FOR TESTING PURPOSES ONLY! | // FOR TESTING PURPOSES ONLY! | ||
| − | truxton_etl_send_me_local_file( app, Type_MPEG4Video , 0, "C:\\Test Files\\Video\\Fragmented\\Recovered Video.mp4"); | + | truxton_etl_send_me_local_file( app, Type_MPEG4Video , 0, "C:\\Test Files\\Video\\Fragmented\\Recovered Video.mp4" ); |
| − | 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 ); | truxton_etl_destroy( app ); | ||
} | } | ||
| − | </ | + | </source> |
Latest revision as of 11:29, 10 February 2021
This is used during the development of your exploitation program. It will open the file and put a message into your message queue.
Contents
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 ];
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" );
// 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 );
}