Okay, I got a way to make legendary reappear.
1. Save right in front of where legendary would be.
2. You need to find save section 01 of the latest save block in your save (there's 2 save blocks in your save, navigate to the latest one). (here's how the save sections work)
3. Change offsets as listed below (offsets are of save section 01, not the entire save)
4. Use PKHeX to fix the overall save's checksum
5. Take a step in-game. The map will refresh and the legendary will appear.
@Kaphotics
These are the only offsets we need to be bothered with, in save section 01:
tested: Mewtwo: 0xEF0, bit 1 [set] (went from 0x99 to 0x9B) Articuno: 0xEF0, bit 2 [set] (went from 0x99 to 0x9D) Zapdos: 0xEEB, bit 5 [set] (went from 0xCD to 0xED) Moltres: 0xEEA, bit 2 [set] (went from 0x9A to 0x9E)
untested presently (data obtained by comparing bitflags from saves) Lapras: 0xF28, bit 6 [set] (went from 0x00 to 0x40) Eevee: 0xEEA, bit 7 [unset] (went from 0x9E to 0x1E) Togepi: 0xF3B, bit 2 [set] (went from 0x20 to 0x24) Hitmonlee: 0xF2F, bit 0 [set] (went from 0x30 to 0x31), 0xEEC bit 0 [set] (went from 0x04 to 0x05) Hitmonchan: 0xF2F, bit 0 [set] (went from 0x30 to 0x31), 0xEEC bit 1 [set] (went from 0x04 to 0x06) Aerodactyl (Fossil Restoration): 0xF3D, bit 6 [set] (went from 0x80 to 0xC0) Omanyte (Fossil Restoration): 0xF3D, bit 5 [set] (went from 0x00 to 0x20) Kabuto (Fossil Restoration): 0xF3D, bit 4 [set] (went from 0x00 to 0x10)
In the mean time, if rebattling legendaries is desperately needed, and don't know how to hex edit, then use the code below on VBA.
It will need FRLG's (M) code to work. (I got this code from here; appears to work once I reload the map using ladders/cave entrances):