ALERT!
Click here to register with a few steps and explore all our cool stuff we have to offer!
Home
Upgrade
Credits
Help
Search
Awards
Achievements
 1914

Make SPRX Work on CEX And DEX

by XEazyLobbys - 06-10-2018 - 09:50 PM
#1
So Your SPRX will not work on CEX Because in your Write Process you are using a syscall (905) which only works on DEX

So we have 2 Ways of Changing so your sprx will work on to CEX
  • 1) GoPros Way - Credits to him
    void *Memcpy(void *dst0, const void *src0, size_t len0)
    {
    char *dst = (char *)dst0;
    char *src = (char *)src0;
    void *save = dst0;
    while (len0--)
    *dst++ = *src++;
    return save;
    }
    int write_process(void* destination, const void* source, size_t size)
    {
    Memcpy(destination,source,size);
    }
  • 2) Using Syscall 201 (used on CEX)
    int32_t write_process(uint64_t ea, const void * data, uint32_t size)
    {
    system_call_4(201, (uint64_t)sys_process_getpid(), ea, size, (uint64_t)data);
    return_to_user_prog(int32_t);
    }
i Personally use Syscall 201 for CEx however go pros way works just as good
This account is currently banned
Ban reason: multi | IP: 86.20.193.29 | Email: N/A
Reply
#2
Good to know. Nice share
Reply
#3
Nice share bro, thank you so much
Reply
#4
(06-10-2018 - 09:50 PM)XEazyLobbys Wrote: Entonces su SPRX no funcionará en CEX Porque en su Proceso de Escritura está usando un syscall (905) que solo funciona en DEX.

Por lo tanto, tenemos 2 formas de cambiar para que su sprx funcione con CEX
  • 1) GoPros Way - Créditos para él
    void * Memcpy (void * dst0, const void * src0, size_t len0)
    {
    char * dst = (char *) dst0;
    char * src = (char *) src0;
    void * save = dst0;
    while (len0--)
    * dst ++ = * src ++;
    volver guardar
    }
    int write_process (void * destination, const void * source, size_t size)
    {
    Memcpy (destination, source, size);
    }
  • 2) Utilizando Syscall 201 (usado en CEX)
    int32_t write_process (uint64_t ea, const void * data, uint32_t size)
    {
    system_call_4 (201, (uint64_t) sys_process_getpid (), ea, tamaño, (uint64_t) data);
    return_to_user_prog (int32_t);
    }
Personalmente uso Syscall 201 para CEx.

thanks bro god relase
drawNotification("Welcome to Royale 2.5, Created by SxsxModz");
C++/C# Dev
Gsc/r Dev
[Image: Royaletram2.png]

Reply
#5
(06-10-2018 - 09:50 PM)XEazyLobbys Wrote: So Your SPRX will not work on CEX Because in your Write Process you are using a syscall (905) which only works on DEX

So we have 2 Ways of Changing so your sprx will work on to CEX
  • 1) GoPros Way - Credits to him
    void *Memcpy(void *dst0, const void *src0, size_t len0)
    {
    char *dst = (char *)dst0;
    char *src = (char *)src0;
    void *save = dst0;
    while (len0--)
    *dst++ = *src++;
    return save;
    }
    int write_process(void* destination, const void* source, size_t size)
    {
    Memcpy(destination,source,size);
    }
  • 2) Using Syscall 201 (used on CEX)
    int32_t write_process(uint64_t ea, const void * data, uint32_t size)
    {
    system_call_4(201, (uint64_t)sys_process_getpid(), ea, size, (uint64_t)data);
    return_to_user_prog(int32_t);
    }
i Personally use Syscall 201 for CEx however go pros way works just as good
bro when I add that code to my sprx, I do not load it. I have to do a dex version and another cex, or does 201 work for both?
drawNotification("Welcome to Royale 2.5, Created by SxsxModz");
C++/C# Dev
Gsc/r Dev
[Image: Royaletram2.png]

Reply

Users browsing: 1 Guest(s)