For time attempting to crack and application. I know the gist of it, but I have come across a problem. When I try to search for a string it comes out blank. For insight this application is in Chinese and comes with a dll file. So I had to use google to copy the “account expired” message when you enter an expired key.
When I search for the “ account expired(in Chinese characters)” message string there is nothing. I even searched for the “confirm” string that is in the dialog box to close the application after a wrong/expired key is inputted. What I personally think is going in is the “account expired” message box that pops up is actually just a picture and therefore the words on it are not strings. But that can’t be since there is an interactive button on the dialog box. I even put my locale system in simplified Chinese but that did not help.
Well, not always are the strings available as text within the debugger.
Two reasons that come to mind are:
The string might be deobfuscated/encrypted within the application, which prevents easy modification or understanding of the code. You can use a tool such as Detect it easy to find out if it's packed or not.
Make sure that you are searching within the correct file/DLL.
As an alternative, here are two solutions on how to find the "account expired" message.
Set breakpoints on the corresponding API's. Such as, for example, if it's a MessageBox, then set a breakpoint on
sendMessageWUse the call stack to trace the call:
Also, Remember, that reverse engineering or modifying software can be illegal.