Difference between revisions of "Truxton etl send me hash"
Jump to navigation
Jump to search
(→Sample) |
|||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
This is used during the development of your exploitation program. | This is used during the development of your exploitation program. | ||
| − | It will go to Truxton, find the file with the given hash and place it into your message queue. | + | It will go to Truxton, find the first file with the given hash and place it into your message queue. |
=Syntax= | =Syntax= | ||
| − | < | + | <source lang="C"> |
void truxton_etl_send_me_hash( uint64_t etl_handle, char const * md5_hash_string ); | void truxton_etl_send_me_hash( uint64_t etl_handle, char const * md5_hash_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. | ||
| Line 19: | Line 18: | ||
This API is usually used in situations where one particular file out of a group is failing. | This API is usually used in situations where one particular file out of a group is failing. | ||
This lets you deal with just the problem file. | This lets you deal with just the problem file. | ||
| + | Only one file that matches your hash will be put into your queue. | ||
=Sample= | =Sample= | ||
| − | < | + | <source lang="C" highlight="15"> |
#include <TruxtonCAPI.h> | #include <TruxtonCAPI.h> | ||
| Line 27: | Line 27: | ||
{ | { | ||
char file_id[ 65 ]; | char file_id[ 65 ]; | ||
| − | |||
| − | |||
uint64_t message = 0; | uint64_t message = 0; | ||
| Line 38: | Line 36: | ||
// FOR TESTING PURPOSES ONLY! | // FOR TESTING PURPOSES ONLY! | ||
| − | truxton_etl_send_me_hash( app, "baa51f0cc8361660df911e06e7637485"); | + | truxton_etl_send_me_hash( app, "baa51f0cc8361660df911e06e7637485" ); |
| − | 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:28, 10 February 2021
This is used during the development of your exploitation program. It will go to Truxton, find the first file with the given hash and place it into your message queue.
Syntax
void truxton_etl_send_me_hash( uint64_t etl_handle, char const * md5_hash_string );
Parameters
etl_handle
The handle created by the truxton_etl_create call.
md5_hash_string
An MD5 hash in string form. Only the first file with the matching hash will put into the message queue.
Remarks
This API is usually used in situations where one particular file out of a group is failing. This lets you deal with just the problem file. Only one file that matches your hash will be put into your queue.
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_hash( app, "baa51f0cc8361660df911e06e7637485" );
// 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 );
}