There are a few core lists of domain strings that most of the blockers pull from, Easylist is one of the most commonly used: https://easylist.to/easylist/easylist.txt
Layered on top of that are some general sorts of behavioral rules, things like:
- Is this image an IAB size
- Does the id or class of this HTML element contain 'ad' (yes, some are this blunt a tool and followup yes, they definitely mess up legit content. Try building a site about Active Directory and not use 'ad')
I'm deeply conflicted about the whole thing. If you want a crisp example of what a mess we are in look at Reddit. They have the cleanest, least intrusive ads imaginable, they don't do 3rd party tracking, they work with publishers to try and make ads that are relevant to their audience etc and yet their ads are still blocked by AdBlockers. What are they supposed to do? Who do they appeal to?