There are typically three things you can do when searching for buffer overflows:
Source Code Review
If the source code is available, you could possibly find it by reviewing the code.
Decompile the code and review the source
If the source code is not available, reverse engineering could be one of the options. Once discovered it is possible to do so, the source code can be reviewed.
Fuzzing and Debugging
If the first two options are not possible due to code obfuscation or any other method of protecting binaries, fuzzing and debugging is an option.
This basically means that by sending a large buffer to a specific input field and see how the application handles it.
A good resource for Windows 32 bit application to start with is: resources.infosecinstitute.com/stack-based-buffer-overflow-in-win-32-platform-part-1/
Keep in mind that memory protections such as DEP and ASLR could cause issues while exploiting a program or service.