I have not tried it, but it should be possible to specify a byte pattern by using hex values as input for Body.PositionOfPattern. So just try it (and tell me later if it worked for your use case ). If it works in general, then it will also work for embedded objects.
Hex lists are lists of numbers given in hex notation. They will not help you with you task here. I looks that for each byte pattern you want to find, you need an extra rule. That approach seems not to scale well with a growing list of patterns, but as long as you only have a few, it should be fine.
The Body.PositionOfPattern works for both individual files and embedded objects. It was user error on my part. While experimenting with this functionality I inadvertantly made a change to the property which resulted in it no longer working the way it was supposed to.