If you merely want to plat the video for yourself, not fix it for distribution, most player softwares include a function to delay audio by a variable duration (positive or negative). In VLC, for instance, this is achieved with the j and k buttons by default, in 50 ms increments.
For a permanent fix, you would in the best case scenario just have to re-mux the video and audio from you original file into a new container, supplying time scaling and offsets. This will at least work for mkv container, not sure about others if you insist on them.
In the worst case scenario, you would have to reencode the audio (or the video if you prefer for some reason) to fit together. Most encoding frontends support this, or they can encode the output of a decoder that supports the changes.