Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/can1357/NoVmp
/ functions
Functions
79 in github.com/can1357/NoVmp
⨍
Functions
79
◇
Types & classes
16
↓ 92 callers
Method
size
NoVmp/vmprotect/deobfuscator.hpp:38
↓ 60 callers
Method
assemble
NoVmp/demo_compiler.hpp:65
↓ 36 callers
Function
i_read_vsp
NoVmp/vmprotect/architecture.cpp:97
↓ 30 callers
Method
ref_lhs
NoVmp/demo_compiler.hpp:124
↓ 28 callers
Function
i_write_vsp
Some opcode matching helpers
NoVmp/vmprotect/architecture.cpp:87
↓ 24 callers
Function
i_shift_vsp
NoVmp/vmprotect/architecture.cpp:125
↓ 23 callers
Method
ref_rhs
NoVmp/demo_compiler.hpp:144
↓ 16 callers
Method
next
Skips to next instruction (when no self-reference point is given) [Serial instructions] Last decrypted parameter should be passed
NoVmp/vmprotect/vm_state.hpp:200
↓ 14 callers
Method
get
Gets the value of a register.
NoVmp/emulator/emulator.cpp:172
↓ 11 callers
Function
i_save_vsp_flags
NoVmp/vmprotect/architecture.cpp:179
↓ 9 callers
Method
erase
Deletes first N instructions
NoVmp/vmprotect/deobfuscator.hpp:248
↓ 9 callers
Method
get
NoVmp/vmprotect/vm_state.hpp:65
↓ 8 callers
Method
get_real_image_base
NoVmp/vmprotect/image_desc.hpp:41
↓ 6 callers
Function
compile
NoVmp/demo_compiler.hpp:1353
↓ 6 callers
Method
ref_label
NoVmp/demo_compiler.hpp:78
↓ 6 callers
Method
rva_to_section
NoVmp/vmprotect/image_desc.hpp:45
↓ 5 callers
Method
get_nt_headers
NoVmp/vmprotect/image_desc.hpp:39
↓ 4 callers
Function
deobfuscate
Unrolls the entire instruction stream as far as possiblibly predictable statically
NoVmp/vmprotect/deobfuscator.hpp:266
↓ 4 callers
Function
i_loadc
NoVmp/vmprotect/architecture.cpp:150
↓ 4 callers
Method
to_string
Dumps the given instruction sequence
NoVmp/vmprotect/deobfuscator.hpp:255
↓ 3 callers
Function
is_i32
NoVmp/demo_compiler.hpp:44
↓ 3 callers
Method
ref_rva
NoVmp/demo_compiler.hpp:86
↓ 3 callers
Method
trace
NoVmp/vmprotect/deobfuscator.hpp:100
↓ 2 callers
Function
allocate_register
NoVmp/demo_compiler.hpp:156
↓ 2 callers
Method
deref
NoVmp/demo_compiler.hpp:94
↓ 2 callers
Function
extract_next_rkey_block
Extracts the next rolling key decryption block within the given instruction stream - On failure returns -1 as the iterator index
NoVmp/vmprotect/rkey.hpp:32
↓ 2 callers
Function
extract_rkey_blocks
Extracts all of the rolling key decryption blocks within the given instruction stream
NoVmp/vmprotect/rkey.hpp:156
↓ 2 callers
Function
find_self_ref
Finds the self-reference point from the given instruction stream if relevant
NoVmp/vmprotect/subroutines.cpp:325
↓ 2 callers
Function
i_write_ctx
NoVmp/vmprotect/architecture.cpp:155
↓ 2 callers
Method
invoke
Invokes routine at the pointer given with the current context and updates the context. - Template argument is a small trick to make it work with ICC,
NoVmp/emulator/emulator.cpp:119
↓ 2 callers
Function
make_virtual_register
NoVmp/vmprotect/il2vtil.cpp:66
↓ 2 callers
Function
reduce_chunk
Reduces the given virtualized instruction handler to the base (AKA Deobfuscation + I/O based Register tracing)
NoVmp/vmprotect/subroutines.cpp:23
↓ 2 callers
Method
rva_to_ptr
NoVmp/vmprotect/image_desc.hpp:44
↓ 2 callers
Method
to_raw
Dumps all of the instructions in the stream to a byte array
NoVmp/vmprotect/deobfuscator.hpp:42
↓ 2 callers
Function
update_vip_direction
Deduces the virtual instruction stream direction from the given instruction stream
NoVmp/vmprotect/subroutines.cpp:257
↓ 2 callers
Function
virtualize_register
Virtualizes the usage of the register throughout the routine given the stack frame.
NoVmp/demo_compiler.hpp:723
↓ 1 callers
Function
abbrv_param_size
NoVmp/vmprotect/architecture.hpp:31
↓ 1 callers
Method
add_label
NoVmp/demo_compiler.hpp:82
↓ 1 callers
Function
allocate_rwx
Allocates <size> bytes of read/write/execute memory.
NoVmp/emulator/rwx_allocator.cpp:63
↓ 1 callers
Function
classify
NoVmp/vmprotect/architecture.cpp:1457
↓ 1 callers
Method
convert
NoVmp/vmprotect/il2vtil.cpp:30
↓ 1 callers
Method
decrypt_vip
Reads encrypted value from the instruction stream
NoVmp/vmprotect/vm_state.hpp:179
↓ 1 callers
Function
free_rwx
Frees the read/write/execute memory at <pointer>.
NoVmp/emulator/rwx_allocator.cpp:93
↓ 1 callers
Function
i_read_ctx
NoVmp/vmprotect/architecture.cpp:167
↓ 1 callers
Function
i_ref_vsp
NoVmp/vmprotect/architecture.cpp:107
↓ 1 callers
Function
lift_il
NoVmp/vmprotect/vtil_lifter.hpp:28
↓ 1 callers
Function
parse_vmenter
Parses VMENTER subroutine and extracts the vm information, entry point of the virtualized routine, rolling key 0 value, and describes the push order o
NoVmp/vmprotect/subroutines.cpp:345
↓ 1 callers
Function
parse_vmexit
Parses the VMEXIT subroutine and extracts the order registers are pop'd from the stack.
NoVmp/vmprotect/subroutines.cpp:503
↓ 1 callers
Function
parse_vmswap
Parses swapping vm of context/registers, returns newly extracted rkey blocks
NoVmp/vmprotect/subroutines.cpp:525
↓ 1 callers
Function
read_raw
NoVmp/main.cpp:34
↓ 1 callers
Method
reduce
NoVmp/vmprotect/architecture.cpp:31
↓ 1 callers
Function
resolve_abbrv_param_size
NoVmp/vmprotect/architecture.hpp:43
↓ 1 callers
Function
translate
NoVmp/vmprotect/il2vtil.cpp:762
↓ 1 callers
Method
unroll
Unrolls all instructions for the current handler
NoVmp/vmprotect/vm_state.hpp:138
↓ 1 callers
Function
update_vrk
Deduces the virtual register key from the given instruction stream
NoVmp/vmprotect/subroutines.cpp:237
↓ 1 callers
Function
write_raw
NoVmp/main.cpp:46
Method
allocate
NoVmp/emulator/rwx_allocator.hpp:54
Method
deallocate
NoVmp/emulator/rwx_allocator.hpp:55
Method
final_register_virtualization_pass
NoVmp/demo_compiler.hpp:623
Method
get_mapped_image_base
NoVmp/vmprotect/image_desc.hpp:40
Method
get_pe_header
NoVmp/vmprotect/image_desc.hpp:38
Method
get_signed
Some helpers to extend from original size.
NoVmp/vmprotect/vm_state.hpp:53
Method
instruction_stream
NoVmp/vmprotect/deobfuscator.hpp:33
Function
is_u32
NoVmp/demo_compiler.hpp:45
Method
lazy_register_allocator
NoVmp/demo_compiler.hpp:188
Function
lift_il
NoVmp/vmprotect/vtil_lifter.cpp:28
Function
main
NoVmp/main.cpp:61
Method
next
Finds the next/prev matching instruction
NoVmp/vmprotect/deobfuscator.hpp:188
Method
operator!=
NoVmp/emulator/rwx_allocator.hpp:58
Method
operator+
Merges two instruction streams together
NoVmp/vmprotect/deobfuscator.hpp:62
Method
operator==
NoVmp/emulator/rwx_allocator.hpp:57
Method
pass
NoVmp/demo_compiler.hpp:190
Method
pass
NoVmp/demo_compiler.hpp:282
Method
pass
NoVmp/demo_compiler.hpp:626
Method
peek_vip
Peeks at the virtual instruction stream without forwarding it
NoVmp/vmprotect/vm_state.hpp:145
Method
prev
NoVmp/vmprotect/deobfuscator.hpp:215
Method
read_vip
References the N bytes from the virtual instruction stream and skips them
NoVmp/vmprotect/vm_state.hpp:162
Method
resolve
Resolves the offset<0> where the value is saved at for the given register and the number of bytes<1> it takes.
NoVmp/emulator/emulator.cpp:133
Method
rwx_allocator
NoVmp/emulator/rwx_allocator.hpp:49