Difference between revisions of "Truxton child file get hash"

From truxwiki.com
Jump to navigation Jump to search
(Created page with "Retrieves the hash of the contents of this child file object. =Syntax= <syntaxhighlight lang="C"> void truxton_child_file_get_hash( uint64_t child_handle, char * destination_...")
 
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
Retrieves the hash of the contents of this child file object.
 
Retrieves the hash of the contents of this child file object.
 +
This corresponds to the <code>[HashID]</code> column of the <code><nowiki>[</nowiki>[[File Table|File]]<nowiki>]</nowiki></code> table.
  
 
=Syntax=
 
=Syntax=
<syntaxhighlight lang="C">
+
<source lang="C">
 
void truxton_child_file_get_hash( uint64_t child_handle, char * destination_string, size_t max_size );
 
void truxton_child_file_get_hash( uint64_t child_handle, char * destination_string, size_t max_size );
</syntaxhighlight>
+
</source>
  
 
=Parameters=
 
=Parameters=
 
==<code>child_handle</code>==
 
==<code>child_handle</code>==
 
 
The handle created by the [[truxton_child_file_create]] or [[truxton_file_create_child]] call.
 
The handle created by the [[truxton_child_file_create]] or [[truxton_file_create_child]] call.
  
 
==<code>destination_string</code>==
 
==<code>destination_string</code>==
 
 
The string to be written to.
 
The string to be written to.
  
Line 19: Line 18:
  
 
=Sample=
 
=Sample=
<syntaxhighlight lang="C" highlight="35">
+
<source lang="C" highlight="28">
void add_folder(uint64_t truxton, uint64_t parent_file)
+
void add_folder( uint64_t truxton, uint64_t parent_file )
 
{
 
{
   truxton_start_adding_files(truxton);
+
   truxton_start_adding_files( truxton );
  
   uint64_t child = truxton_child_file_create(truxton);
+
   uint64_t child = truxton_child_file_create( truxton );
  
 
   char id[40];
 
   char id[40];
  
   truxton_file_get_id(parent_file, id, sizeof(id));
+
   truxton_file_get_id( parent_file, id, sizeof(id) );
   truxton_child_file_set_parent_id(child, id);
+
   truxton_child_file_set_parent_id( child, id );
   truxton_child_file_set_type(child, Type_Directory);
+
   truxton_child_file_set_type( child, Type_Directory );
   truxton_child_file_set_name(child, "Custom Exploits Folder");
+
   truxton_child_file_set_name( child, "Custom Exploits Folder" );
 
 
  FILETIME now;
 
 
 
  GetSystemTimeAsFileTime(&now);
 
 
 
  ULARGE_INTEGER ticks;
 
  
   ticks.LowPart = now.dwLowDateTime;
+
   uint64_t now = truxton_time_now();
  ticks.HighPart = now.dwHighDateTime;
 
  
   truxton_child_file_set_created(child, ticks.QuadPart);
+
   truxton_child_file_set_created( child, now );
   truxton_child_file_set_accessed(child, ticks.QuadPart);
+
   truxton_child_file_set_accessed( child, now );
   truxton_child_file_set_modified(child, ticks.QuadPart);
+
   truxton_child_file_set_modified( child, now );
  
   truxton_child_file_set_origin(child, ORIGIN_GENERATED);
+
   truxton_child_file_set_origin( child, ORIGIN_GENERATED );
  
   if ( truxton_child_file_save(child) == 0 )
+
   if ( truxton_child_file_save( child ) == 0 )
 
   {
 
   {
 
       printf( "Failed to add child to Truxton\n" );
 
       printf( "Failed to add child to Truxton\n" );
Line 54: Line 46:
 
   else
 
   else
 
   {
 
   {
       truxton_child_file_get_hash(child_file, id, sizeof(id));
+
       truxton_child_file_get_hash( child_file, id, sizeof(id) );
 
       printf( "Hash %s\n", id );
 
       printf( "Hash %s\n", id );
 
   }
 
   }
  
   truxton_child_file_destroy(child);
+
   truxton_child_file_destroy( child );
 
}
 
}
</syntaxhighlight>
+
</source>

Latest revision as of 02:58, 14 April 2024

Retrieves the hash of the contents of this child file object. This corresponds to the [HashID] column of the [File] table.

Syntax

void truxton_child_file_get_hash( uint64_t child_handle, char * destination_string, size_t max_size );

Parameters

child_handle

The handle created by the truxton_child_file_create or truxton_file_create_child call.

destination_string

The string to be written to.

max_size

The maximum number of characters that can be written to destination_string

Sample

void add_folder( uint64_t truxton, uint64_t parent_file )
{
   truxton_start_adding_files( truxton );

   uint64_t child = truxton_child_file_create( truxton );

   char id[40];

   truxton_file_get_id( parent_file, id, sizeof(id) );
   truxton_child_file_set_parent_id( child, id );
   truxton_child_file_set_type( child, Type_Directory );
   truxton_child_file_set_name( child, "Custom Exploits Folder" );

   uint64_t now = truxton_time_now();

   truxton_child_file_set_created( child, now );
   truxton_child_file_set_accessed( child, now );
   truxton_child_file_set_modified( child, now );

   truxton_child_file_set_origin( child, ORIGIN_GENERATED );

   if ( truxton_child_file_save( child ) == 0 )
   {
      printf( "Failed to add child to Truxton\n" );
   }
   else
   {
      truxton_child_file_get_hash( child_file, id, sizeof(id) );
      printf( "Hash %s\n", id );
   }

   truxton_child_file_destroy( child );
}