Skip to content

Instantly share code, notes, and snippets.

@camel-cdr
camel-cdr / detect-macchanger.c
Last active January 8, 2023 19:27
detects if a MAC address was generated using macchanger --random
View detect-macchanger.c
#include <stdint.h>
#include <stdlib.h>
#include <stdio.h>
#include <limits.h>
#ifdef _OPENMP
#include <omp.h>
#endif
/*
* macchanger --random uses the following code to generate random MAC addresses:
@camel-cdr
camel-cdr / ppmp-bootstrap.c
Last active March 6, 2022 22:55
C preprocessor continuation machine with some helper macros
View ppmp-bootstrap.c
#define XXX_CM_UP_0(P,a,b,c,d,e,f,...) XXX_CM_PASS_UP_1 (XXX_CM_PASS_DN_0 (XXX__##f(,P##a,P##b,P##c,P##d,P##e,P##__VA_ARGS__)))
#define XXX_CM_UP_1(P,a,b,c,d,e,f,...) XXX_CM_PASS_UP_2 (XXX_CM_PASS_DN_1 (XXX__##f(,P##a,P##b,P##c,P##d,P##e,P##__VA_ARGS__)))
#define XXX_CM_UP_2(P,a,b,c,d,e,f,...) XXX_CM_PASS_UP_3 (XXX_CM_PASS_DN_2 (XXX__##f(,P##a,P##b,P##c,P##d,P##e,P##__VA_ARGS__)))
#define XXX_CM_UP_3(P,a,b,c,d,e,f,...) XXX_CM_PASS_UP_4 (XXX_CM_PASS_DN_3 (XXX__##f(,P##a,P##b,P##c,P##d,P##e,P##__VA_ARGS__)))
#define XXX_CM_UP_4(P,a,b,c,d,e,f,...) XXX_CM_PASS_UP_5 (XXX_CM_PASS_DN_4 (XXX__##f(,P##a,P##b,P##c,P##d,P##e,P##__VA_ARGS__)))
#define XXX_CM_UP_5(P,a,b,c,d,e,f,...) XXX_CM_PASS_UP_6 (XXX_CM_PASS_DN_5 (XXX__##f(,P##a,P##b,P##c,P##d,P##e,P##__VA_ARGS__)))
#define XXX_CM_UP_6(P,a,b,c,d,e,f,...) XXX_CM_PASS_UP_7 (XXX_CM_PASS_DN_6 (XXX__##f(,P##a,P##b,P##c,P##d,P##e,P##__VA_ARGS__)))
#define XXX_CM_UP_7(P,a,b,c,d,e,f,...) XXX_CM_PASS_UP_8 (XXX_CM_PASS_DN_7 (XXX__##f(,P##a,P##b,P##c,P##d,P##e,P##__VA_AR
@camel-cdr
camel-cdr / gen.c
Last active February 19, 2022 12:09
C code that is syntactically correct only on Fridays
View gen.c
#include <stdio.h>
#include <time.h>
static const char mon_name[12][3] = {
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
};
int
main(void)
View xor.c
#include <stdio.h>
#define E2(...) E1(E1(E1(E1(E1(E1(E1(E1(E1(E1(__VA_ARGS__))))))))))
#define E1(...) __VA_ARGS__
#define EMPTY()
#define DEFER1(m) m EMPTY()
#define APPLY3(F,a,m,k) F(a,0,m,k), F(a,1,m,k), F(a,2,m,k), \
F(a,3,m,k), F(a,4,m,k), F(a,5,m,k), \
F(a,6,m,k), F(a,7,m,k), F(a,8,m,k), \
@camel-cdr
camel-cdr / main.c
Last active June 18, 2021 12:33
ranged designated initializers in c99
View main.c
#include <stdio.h>
#define E2(...) E1(E1(E1(E1(E1(E1(E1(E1(E1(E1(__VA_ARGS__))))))))))
#define E1(...) __VA_ARGS__
#define EMPTY()
#define DEFER1(m) m EMPTY()
#define APPLY3(F,a,x,y,v) F(a,0,x,y,v), F(a,1,x,y,v), F(a,2,x,y,v), \
F(a,3,x,y,v), F(a,4,x,y,v), F(a,5,x,y,v), \
F(a,6,x,y,v), F(a,7,x,y,v), F(a,8,x,y,v), \
@camel-cdr
camel-cdr / torus.c
Last active December 19, 2022 15:30
obfuscated raymarcher
View torus.c
i,j,k,L;
#include <time.h>
float X,Y,Z,l,t,x,y,z,
A,S,C;r(X,Y)float*X,*Y;{A
=*X,S=sin(l),C=cos(l);*X=A*C
-*Y*S,*Y=A*S+*Y *C;}main()
{char*p,s[L=( W+1)*H];
printf("\x1b" "[2J");r
:p=s;for(i=0; i<H;++i,
*p++=10)for(j =0;j<W;
@camel-cdr
camel-cdr / list.c
Created March 5, 2021 21:51
Remember kids, C's got namespaces.
View list.c
struct list { struct list *list; };
struct list *
list(struct list *list)
{
list:
if (list->list && (list = list->list))
goto list;
return list;
}
@camel-cdr
camel-cdr / random.h
Last active March 5, 2021 21:48
How to generate unbiased uniform random floating-point numbers including all representable values. An excerpt from the random number library I'm currently developing.
View random.h
/*
* 5.2 Uniform real distribution -----------------------------------------------
*
* Generating uniform random floating-point numbers might seem easy at first
* glance, just cast the output of a PRNG to the desired float type and divide
* by the biggest possible output of the PRNG to obtain a random float between
* 0 and 1 that can now be scaled up.
* Though as before this straightforward approach is biased.
*
* For the next part, I assume you are already acquainted with the IEEE 754