Difference between revisions of "Truxton child file create relation"
Jump to navigation
Jump to search
(Created page with "This creates a relation object sourced from this file that you can use in the Relation API. A relation object is how you add records to the <code>...") |
(→Sample) |
||
| Line 18: | Line 18: | ||
=Sample= | =Sample= | ||
| − | <syntaxhighlight lang="C" highlight=" | + | <syntaxhighlight lang="C" line highlight="38"> |
void add_folder(uint64_t truxton, uint64_t parent_file) | void add_folder(uint64_t truxton, uint64_t parent_file) | ||
{ | { | ||
| Line 44: | Line 44: | ||
} | } | ||
| − | uint64_t | + | uint64_t artifact_1 = truxton_child_file_create_artifact(child); |
| − | + | truxton_artifact_set_type(artifact_1, ENTITY_TYPE_EMAIL_ADDRESS); | |
| − | + | truxton_artifact_set_value(artifact_1, "mdyson@cyberdynesystems.com" ); | |
| − | + | truxton_artifact_save(artifact_1); | |
| − | |||
| − | |||
| − | |||
| + | uint64_t artifact_2 = truxton_child_file_create_artifact(child); | ||
| + | |||
| + | truxton_artifact_set_type(artifact_2, ENTITY_TYPE_PERSON); | ||
| + | truxton_artifact_set_value(artifact_2, "Miles Dyson" ); | ||
| + | truxton_artifact_save(artifact_2); | ||
| + | |||
| + | uint64_t relation = truxton_child_file_create_relation(child_file); | ||
| + | |||
| + | char identifier[40]; | ||
| + | |||
| + | truxton_artifact_get_id(artifact_1, identifier, sizeof(identifier)); | ||
| + | truxton_relation_set_a_id(relation, identifier); | ||
| + | truxton_relation_set_a_type(relation, OBJECT_TYPE_ENTITY); | ||
| + | |||
| + | truxton_artifact_get_id(artifact_2, identifier, sizeof(identifier)); | ||
| + | truxton_relation_set_b_id(relation, identifier); | ||
| + | truxton_relation_set_b_type(relation, OBJECT_TYPE_ENTITY); | ||
| + | |||
| + | truxton_relation_set_relation(relation, RELATION_MESSAGE_ADDRESS); | ||
| + | |||
| + | truxton_relation_save(relation); | ||
| + | |||
| + | truxton_relation_destroy(relation); | ||
| + | truxton_artifact_destroy(artifact_1); | ||
| + | truxton_artifact_destroy(artifact_2); | ||
truxton_child_file_destroy(child); | truxton_child_file_destroy(child); | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Revision as of 04:00, 9 June 2020
This creates a relation object sourced from this file that you can use in the Relation API.
A relation object is how you add records to the Relation table.
The resulting event object will automatically be associated with the file it was created from and with the media the file belongs to.
Syntax
uint64_t truxton_child_file_create_relation( uint64_t child_handle );
Parameters
child_handle
The handle created by the truxton_child_file_create or truxton_file_create_child call.
Return value
A handle to relation object.
Sample
1 void add_folder(uint64_t truxton, uint64_t parent_file)
2 {
3 truxton_start_adding_files(truxton);
4
5 uint64_t child = truxton_child_file_create(truxton);
6
7 char id[40];
8
9 truxton_file_get_id(parent_file, id, sizeof(id));
10 truxton_child_file_set_parent_id(child, id);
11 truxton_child_file_set_type(child, Type_Directory);
12 truxton_child_file_set_name(child, "Custom Exploits Folder");
13
14 truxton_child_file_set_origin(child, ORIGIN_GENERATED);
15
16 if ( truxton_child_file_save(child) == 0 )
17 {
18 printf( "Failed to add child to Truxton\n" );
19 }
20 else
21 {
22 ticks.QuadPart = truxton_child_file_get_disk_offset(child_file);
23 printf( "Physical Disk Offset was %d\n", ticks.QuadPart );
24 }
25
26 uint64_t artifact_1 = truxton_child_file_create_artifact(child);
27
28 truxton_artifact_set_type(artifact_1, ENTITY_TYPE_EMAIL_ADDRESS);
29 truxton_artifact_set_value(artifact_1, "mdyson@cyberdynesystems.com" );
30 truxton_artifact_save(artifact_1);
31
32 uint64_t artifact_2 = truxton_child_file_create_artifact(child);
33
34 truxton_artifact_set_type(artifact_2, ENTITY_TYPE_PERSON);
35 truxton_artifact_set_value(artifact_2, "Miles Dyson" );
36 truxton_artifact_save(artifact_2);
37
38 uint64_t relation = truxton_child_file_create_relation(child_file);
39
40 char identifier[40];
41
42 truxton_artifact_get_id(artifact_1, identifier, sizeof(identifier));
43 truxton_relation_set_a_id(relation, identifier);
44 truxton_relation_set_a_type(relation, OBJECT_TYPE_ENTITY);
45
46 truxton_artifact_get_id(artifact_2, identifier, sizeof(identifier));
47 truxton_relation_set_b_id(relation, identifier);
48 truxton_relation_set_b_type(relation, OBJECT_TYPE_ENTITY);
49
50 truxton_relation_set_relation(relation, RELATION_MESSAGE_ADDRESS);
51
52 truxton_relation_save(relation);
53
54 truxton_relation_destroy(relation);
55 truxton_artifact_destroy(artifact_1);
56 truxton_artifact_destroy(artifact_2);
57 truxton_child_file_destroy(child);
58 }