Once you find one pointer successfully, you can derive that the next value in memory is BaseStr, then Magic, then BaseMagic, etc. In other words, you can save a lot of work if you only find one working pointer, say, for your current strength value. you can see the order in which the player object is built. Reloading a save file will also maintain the buff. If the flag pointer for some reason fails, then you can also activate the script and use a spell scroll once, and you should maintain infravision for as long as you do not close the game.
The order in which you do this does not matter.
Created a 1.5.1 table from scratch after coming here in hopes of leeching something quickly for my playthrough