u need use fiddler to analyze HTTP traffic to see if app use web for license request... what type of program is it? with reversing u need to start with simple steps to first know which route to take for reversing the target app. if C# it can be very easy to reverse if u know how to use any decent debugger. if target using C++ it can also be easy but not as easy as C# because you MUST kno assembly which can be more complicated.
1. start with HTTP fiddler to see if any traffic can be useful for you to understand licensing an if they validate stuff on web request
2. look at interesting strings in the app that may tell u how it was coded in or anything else useful
3. decide approach based off these two things. If it a .NET app then u use a .NET debugger to disassemble the code so can read it. if kno what u are doing then can reassemble with fix to bypass licensing.
4. if not .NET app then got to use something like ollydbg or immunity debugger. understand what assembly telling u then see if bypass certain part of the app by changing stuff like JE (jump if equal) to JNE (jmp no equal). need to understand how to interfere with program flow by change assembly to get you into parts of the program not supposed to be. like activate app if license not valid.
above is for simple apps. not app with complicated license and anti debugger measures. no expert..... still learning every day but DM me if want help looking at something or read books