Theodosius v3.0
Jit linker, symbol mapper, and obfuscator
Demo Example Using Theo

Example run using demolib.lib as the target lib. Note the hello_world_pass_t output. Refer to main.cpp for more information.

[2022-04-22 15:44:21.680] [info] created hello world pass...
enter the name of the entry point: EntryPoint
[2022-04-22 15:44:28.547] [info] extracted obj from archive: ../demolib.dir/Debug/main.obj
[2022-04-22 15:44:28.549] [info] extracted 5 symbols being used...
[2022-04-22 15:44:28.550] [info] EntryPoint: sub rsp, 0x28
[2022-04-22 15:44:28.551] [info] [email protected]: mov rax, 0x0
[2022-04-22 15:44:28.551] [info] [email protected]: mov byte ptr [rax+0x10], 0x1
[2022-04-22 15:44:28.551] [info] [email protected]: mov byte ptr [rax+0x11], 0x1
[2022-04-22 15:44:28.552] [info] [email protected]: mov al, byte ptr [rax+0x10]
[2022-04-22 15:44:28.553] [info] [email protected]: cmp al, 0x0
[2022-04-22 15:44:28.553] [info] [email protected]: jz 0x2d
[2022-04-22 15:44:28.554] [info] [email protected]: mov rax, 0x0
[2022-04-22 15:44:28.554] [info] [email protected]: mov rdx, qword ptr [rax]
[2022-04-22 15:44:28.554] [info] [email protected]: mov r8, qword ptr [rax+0x8]
[2022-04-22 15:44:28.555] [info] [email protected]: xor eax, eax
[2022-04-22 15:44:28.555] [info] [email protected]: mov rax, 0x0
[2022-04-22 15:44:28.555] [info] [email protected]: xor ecx, ecx
[2022-04-22 15:44:28.556] [info] [email protected]: mov r9d, ecx
[2022-04-22 15:44:28.558] [info] [email protected]: mov rcx, r9
[2022-04-22 15:44:28.559] [info] [email protected]: call rax
[2022-04-22 15:44:28.559] [info] [email protected]: mov rax, 0x0
[2022-04-22 15:44:28.559] [info] [email protected]: mov al, byte ptr [rax+0x11]
[2022-04-22 15:44:28.560] [info] [email protected]: cmp al, 0x0
[2022-04-22 15:44:28.560] [info] [email protected]: jz 0x2d
[2022-04-22 15:44:28.560] [info] [email protected]: mov rax, 0x0
[2022-04-22 15:44:28.561] [info] [email protected]: mov rdx, qword ptr [rax]
[2022-04-22 15:44:28.561] [info] [email protected]: mov r8, qword ptr [rax+0x8]
[2022-04-22 15:44:28.561] [info] [email protected]: xor eax, eax
[2022-04-22 15:44:28.562] [info] [email protected]: mov rax, 0x0
[2022-04-22 15:44:28.562] [info] [email protected]: xor ecx, ecx
[2022-04-22 15:44:28.563] [info] [email protected]: mov r9d, ecx
[2022-04-22 15:44:28.563] [info] [email protected]: mov rcx, r9
[2022-04-22 15:44:28.564] [info] [email protected]: call rax
[2022-04-22 15:44:28.565] [info] [email protected]: nop
[2022-04-22 15:44:28.566] [info] [email protected]: add rsp, 0x28
[2022-04-22 15:44:28.566] [info] [email protected]: ret
[2022-04-22 15:44:28.568] [info] decompose successful... 38 symbols
[2022-04-22 15:44:28.575] [info] decomposed 38 symbols...
[2022-04-22 15:44:28.576] [info] [hello_world_pass_t] symbol name: .rdata#5!1650667380, symbol hash: 2136714129526770328
[2022-04-22 15:44:28.576] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 3130690789734940524
[2022-04-22 15:44:28.626] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 3130695187781453368
[2022-04-22 15:44:28.627] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 3132528073665302655
[2022-04-22 15:44:28.627] [info] adding transformations to relocation in symbol: [email protected]
[2022-04-22 15:44:28.629] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 3133523131688644385
[2022-04-22 15:44:28.629] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 3133524231200272596
[2022-04-22 15:44:28.630] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 3133526430223529018
[2022-04-22 15:44:28.631] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 3134512692153845060
[2022-04-22 15:44:28.632] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 3134514891177101482
[2022-04-22 15:44:28.632] [info] adding transformations to relocation in symbol: [email protected]
[2022-04-22 15:44:28.634] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 3135497854572532891
[2022-04-22 15:44:28.634] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 3135501153107417524
[2022-04-22 15:44:28.635] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 3136458827735400080
[2022-04-22 15:44:28.639] [info] adding transformations to relocation in symbol: [email protected]
[2022-04-22 15:44:28.640] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 3136461026758656502
[2022-04-22 15:44:28.640] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 3137307650712189747
[2022-04-22 15:44:28.641] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 3137308750223817958
[2022-04-22 15:44:28.642] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 3137314247781959013
[2022-04-22 15:44:28.643] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 3138307106782044321
[2022-04-22 15:44:28.643] [info] adding transformations to relocation in symbol: [email protected]
[2022-04-22 15:44:28.644] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 3139293368712360363
[2022-04-22 15:44:28.645] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 3139296667247244996
[2022-04-22 15:44:28.646] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 3139298866270501418
[2022-04-22 15:44:28.646] [info] [hello_world_pass_t] symbol name: [email protected][email protected][email protected], symbol hash: 5698279015588437768
[2022-04-22 15:44:28.650] [info] [hello_world_pass_t] symbol name: .rdata#6!1650667380, symbol hash: 6592944029141340807
[2022-04-22 15:44:28.651] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 7460014814245461327
[2022-04-22 15:44:28.652] [info] adding transformations to relocation in symbol: [email protected]
[2022-04-22 15:44:28.653] [info] [hello_world_pass_t] symbol name: .data#1!1650667380, symbol hash: 7704517242855100748
[2022-04-22 15:44:28.653] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 10406314031523193289
[2022-04-22 15:44:28.654] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 10406317330058077922
[2022-04-22 15:44:28.655] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 10407300293453509331
[2022-04-22 15:44:28.656] [info] adding transformations to relocation in symbol: [email protected]
[2022-04-22 15:44:28.657] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 10407302492476765753
[2022-04-22 15:44:28.658] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 10408288754407081795
[2022-04-22 15:44:28.659] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 10408289853918710006
[2022-04-22 15:44:28.663] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 10408292052941966428
[2022-04-22 15:44:28.663] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 10409145273965268939
[2022-04-22 15:44:28.664] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 10409146373476897150
[2022-04-22 15:44:28.665] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 10409147472988525361
[2022-04-22 15:44:28.666] [info] [hello_world_pass_t] symbol name: [email protected], symbol hash: 10409150771523409994
[2022-04-22 15:44:28.666] [info] [hello_world_pass_t] symbol name: [email protected]@[email protected]@A, symbol hash: 11505995054509648020
[2022-04-22 15:44:28.667] [info] [hello_world_pass_t] symbol name: [email protected][email protected][email protected], symbol hash: 13259030918861006883
[2022-04-22 15:44:28.668] [info] [hello_world_pass_t] symbol name: EntryPoint, symbol hash: 13363872183459407611
[2022-04-22 15:44:28.670] [info] entry point address: 1DFFBDF0000