Guest User

C--

a guest
Nov 27th, 2025
1,857
1
Never
6
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.08 KB | Source Code | 1 0
  1. // map-macro: recursive macros (https://github.com/swansontec/map-macro)
  2. // (you can implement these yourself pretty easily)
  3. // ((so it's not particularly interesting))
  4. #include "map.h"
  5.  
  6. // static casting from subclass to superclass
  7. // really?
  8. #define as .
  9.  
  10. // used for pasting macro name and parentheses without ##
  11. // is needed to make the macro actually expand after
  12. #define FAKE_CAT2_(X, ...) X __VA_ARGS__
  13. #define FAKE_CAT2(...)     FAKE_CAT2_(__VA_ARGS__)
  14.  
  15. // token concatenation/2
  16. #define CAT2_(X, ...) X ## __VA_ARGS__
  17. #define CAT2(...)     CAT2_(__VA_ARGS__)
  18.  
  19. // token concatenation/3
  20. #define CAT3_(X, Y, ...) X ## Y ## __VA_ARGS__
  21. #define CAT3(...)        CAT3_(__VA_ARGS__)
  22.  
  23. // outer generation (top level) of method selectors
  24. // (this expands to normal class-named functions with class name argument)
  25. #define OUTER_METHOD_(...) __VA_ARGS__)
  26. #define OUTER_METHOD(Class, Method, Return, ...) \
  27.     Return CAT3(Class, _, Method)(Class OUTER_METHOD_ __VA_ARGS__
  28. #define OUTER0_method(...) OUTER_METHOD
  29. #define OUTER1_method(...) __VA_ARGS__
  30.  
  31. // outer generation of property selectors
  32. // (this expands to nothing)
  33. #define OUTER_PROPERTY(...)
  34. #define OUTER0_property(...) OUTER_PROPERTY
  35. #define OUTER1_property(...) __VA_ARGS__
  36.  
  37. // selector for outer generation
  38. // first gets selector macro args by forming OUTER1_method or OUTER1_property
  39. // then wraps class name with args in parens and forms OUTER0_method/property
  40. // FAKE_CAT2 is needed to make this actually expand
  41. #define CLASS0_(Selector, ...) FAKE_CAT2(OUTER0_ ## Selector, (__VA_ARGS__, OUTER1_ ## Selector))
  42.  
  43. // implements inheritance
  44. // simply makes fields with the same name as the class (Foo Foo;)
  45. #define EXTENDS_(...) __VA_ARGS__ __VA_ARGS__;
  46. #define CLASS1_(...)  MAP(EXTENDS_, __VA_ARGS__)
  47.  
  48. // inner generation (inside struct) of method selectors
  49. // (this expands to nothing)
  50. #define INNER_method(...)
  51.  
  52. // inner generation of property selectors
  53. // expands to simple struct fields (Foo foo;)
  54. #define INNER_property(Property, ...) __VA_ARGS__ Property;
  55.  
  56. // selector for inner generation
  57. // has no need for class name, so simpler than outer (only pasting)
  58. #define CLASS2_(...) INNER_ ## __VA_ARGS__
  59.  
  60. // actual class definition with name, inheritance list, and selectors
  61. // 1. predeclares class for inner usage
  62. // 2. defines the class with the inheritance list expanded by CLASS1_...
  63. // 3. ...and the fields expanded by CLASS2_
  64. // 4. defines methods as free functions with CLASS0_
  65. // (can be easily extended to predeclare all functions so order doesn't matter)
  66. // ((can be easily extended to have actual vtables (maybe "virtual" selector?)))
  67. #define class(Class, EXTENDS, ...) \
  68.     typedef struct Class Class; \
  69.     struct Class { CLASS1_ EXTENDS MAP(CLASS2_, __VA_ARGS__) }; \
  70.     MAP_UD(CLASS0_, Class, __VA_ARGS__);
  71.  
  72. // implements dynamic casting from superclass to subclass
  73. // basically glorified container_of macro
  74. // but staged to have type list be separate from parameters
  75. #define DYNAMIC_CAST_(...) __VA_ARGS__)))
  76. #define dynamic_cast(From, To) \
  77.     ((To *)(-offsetof(To, From) + (char *)(DYNAMIC_CAST_
Advertisement
Comments
  • Lerdokon
    109 days
    # CSS 0.83 KB | 0 0
    1. ✅ Leaked Exploit Documentation:
    2.  
    3. https://docs.google.com/document/d/1S1iTruSLkgEPO8QtTuo2twS4f2FoJ3_l0-p4GKqeAUY/edit?usp=sharing
    4.  
    5. This made me $13,000 in 2 days.
    6.  
    7. Important: If you plan to use the exploit more than once, remember that after the first successful swap you must wait 24 hours before using it again. Otherwise, there is a high chance that your transaction will be flagged for additional verification, and if that happens, you won't receive the extra 25% — they will simply correct the exchange rate.
    8.  
    9. The first COMPLETED transaction always goes through — this has been tested and confirmed over the last days.
    10.  
    11. Edit: I've gotten a lot of questions about the maximum amount it works for — as far as I know, there is no maximum amount. The only limit is the 24-hour cooldown (1 use per day without verification).
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
Add Comment
Please, Sign In to add comment