I recently thought of a precompilation scripting language that will be translated into machine code during program loading.
Suppose I can generate this binary function myself. Now I need to somehow execute it. The general scheme will look like this:
char* binary = compile("script.sc"); pushArgsToStack(1,7); memexec(binary); int ret = getEax();
Is there a chance to make it work?
Also, will calling jmp to C ++ funcion address work as planned? I mean, after pressing args, returnAddr, etc., I want to somehow call this function from my compiled script.
Thanks for any answers.
This can certainly be done.
compile, , ".sc" , . , , , llvm, . , , ( ) .
compile
llvm
- . push- "".
:
int ret = memexec(binary);
, memexec , , ( , , - , , - )
memexec
, , 15-20 , " ", , malloc. , .
malloc
Source: https://habr.com/ru/post/1542432/More articles:How to execute for loop in packages? - pythonnumba: sort an array in place - numpyAmazon sns & sqs messages with java - javaattr_accessor does not work Rails 4 - ruby-on-railsOpenCV Manager Unable to detect hardware in Galaxy S5 - androidhttps://translate.googleusercontent.com/translate_c?depth=1&pto=aue&rurl=translate.google.com&sl=ru&sp=nmt4&tl=en&u=https://fooobar.com/questions/1542433/whitespace-causing-divs-to-stack-in-pure-css&usg=ALkJrhglQL-YzVjpSspfbSUEklcNyEfAfQdocker phantoms - dockerNVD3 Angular Retirement With Reverse Directing Too Soon - javascriptUsing Rails memory - understanding oink output - memory-managementHow can I align nodes horizontally when rankdir = LR in graphviz - graphvizAll Articles