Guest User

Untitled

a guest
Nov 16th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.47 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. class Toto {
  4. public:
  5. Toto(int a) {
  6. ma = a;
  7. }
  8.  
  9. void printadd(int b) {
  10. printf("%i\n", ma + b);
  11. }
  12.  
  13. private:
  14. int ma;
  15. };
  16.  
  17. void voidint(void* obj, void* method, int param) {
  18. asm("push %0" : : "a" (param));
  19. asm("push %0" : : "a" (obj));
  20. asm("call *%0" : : "a" (method));
  21. }
  22.  
  23.  
  24. int main() {
  25. Toto* toto = new Toto(40);
  26.  
  27. voidint(toto, (void*)&Toto::printadd, 2); // 42
  28. voidint(toto, (void*)&Toto::printadd, 1297); // 1337
  29. }
Add Comment
Please, Sign In to add comment