Sure, it is possible using built-in WinpkFilter filter engine if the criteria for the packets is not too complex (UDP packets with particular IP/port information). If you need something more complex you can redirect UDP packets for the processing in the application and block the rest in the kernel.
I wanted to ask if we can create rules for udp like accept only packets containing a string lets say for example it contains string hi and i want to allow only it while blocking the rest and/or hex byte 2e on byte 30 or using u32 Binary for example 28=0xffffffff – which will block all packets containing /xff/xff/xff/xff after byte 28
Also, If its possible to add alot of ips in a single rule in it to block packets from those ips.
If firewall cant do high level filtering, do you provide any app which allows it?
I want only specified udp packets which match the rules to be allowed through kernel and block all other trash packets.
You could use WinpkFilter library to redirect UDP packets for processing in user mode and pass everything else. In your application you can implement any sort of analyses for redirected UDP (including sub string search and etc. ) packets and decide to block/pass or even modify them.