Place the chiles, cilantro, garlic and onion in a medium Dutch oven. Pour in enough water to cover the ingredients, 5 to 6 cups. Bring the water to a boil and allow everything to bubble for 1 to 2 minutes. Remove the pot from the heat and cover. Steep until the chiles have softened and the liquid has cooled, about 45 minutes.
Transfer the contents of the Dutch oven to a blender using tongs and a ladle. Process everything until well combined, about 1 minute. Remove the lid of the blender and add the tomatoes and olive oil. Blend for another 30 seconds.
Place a mesh strainer over the Dutch oven and pour the puree into it. Use the back of a spoon or spatula to slowly help all of the liquid through the strainer. Discard the pulp. Bring the strained roja to a boil, reduce the heat and simmer for 10 minutes. Turn off the heat and allow it to cool completely.
Stir in the salt, black pepper and lime juice. Store in an airtight container in the refrigerator for up to 2 weeks. Enjoy with tortilla chips or anything that needs a little kick.