From what I can tell, some software licenses work client side. For example, when looking in to the purchased software for the first time, the server will return a software license. In order to validate that the license is legitimate, a hash will be calculated over the contents and compare it to the original value in the file.
My question is simply, if the comparison of the hashed value of the contents to the specified value inside the file are equal, the license is deemed true, what prevents creating the file yourself and simply typing in random jibberish, but manually changing the hash value it is comparing itself to such that they're equal. If an algorithm is set in place, would this not pass the validation?
This page demonstrates the diagram nicely. The client could simply change the signature in the file, what prevents the client from changing the digitial signature and changing the contents to match the hash?