I don't know the technical details, but for starters :
1. Bitcoin Core use LevelDB
2. blk*.dat have fixed maximum size, so you might only get partial data of the "first" block in a blk*.dat file
3. Bitcore Core use obfuscation key on LevelDB, see https://bitcoin.stackexchange.com/a/50902 for detailed info
P.S. this sounds like XY problem, what are you trying to accomplish by get only first block from all blk*.dat files
1. Bitcoin Core use LevelDB
2. blk*.dat have fixed maximum size, so you might only get partial data of the "first" block in a blk*.dat file
3. Bitcore Core use obfuscation key on LevelDB, see https://bitcoin.stackexchange.com/a/50902 for detailed info
P.S. this sounds like XY problem, what are you trying to accomplish by get only first block from all blk*.dat files
````````````````````````````````````
I am testing some filters and it turns out that at a specific block the code get stuck, I want to find that block and run test on it separately.