MCPcopy Create free account
hub / github.com/SecurityAnalysts01/ShellcodeLoader / MMcpy

Function MMcpy

Loading_1.2/Loading/code.cpp:14–41  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12 return static_cast<char*>(memcpy(s1, s2, n * sizeof(char)));
13}
14void* MMcpy(void* dst, const void* src, size_t len)
15{
16 char* ch_dst = (char*)dst;
17 char* ch_src = (char*)src;
18 if (NULL == ch_dst || NULL == ch_src) {
19 return NULL;
20 }
21
22 void* rest = ch_dst;
23
24 if (ch_dst <= ch_src || (char*)ch_dst >= (char*)ch_src + len) {
25 while (len--) {
26 *(char*)ch_dst = *(char*)ch_src;
27 ch_dst = (char*)ch_dst + 1;
28 ch_src = (char*)ch_src + 1;
29 }
30 }
31 else {
32 ch_src = (char*)ch_src + len - 1;
33 ch_dst = (char*)ch_dst + len - 1;
34 while (len--) {
35 *(char*)ch_dst = *(char*)ch_src;
36 ch_dst = (char*)ch_dst - 1;
37 ch_src = (char*)ch_src - 1;
38 }
39 }
40 return rest;
41}
42
43bool Tesbuer()
44{

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected