Method for protecting software from unauthorized use, wherein the software comprises executable software and a software library which provides the executable software with predetermined functions (F(X 1 ), F(X 2 ), ..., F(X N )) for predetermined arguments (X 1 , X 2 , ..., X N ); comprising: applying (S1) a first function (P) to a predetermined argument (X i ) from the predetermined arguments (X 1 , X 2 , ..., X N ) in order to generate a protected argument (P(X i )) by means of the executable software in such a manner that the predetermined argument (X i ) can be determined only by applying a first inverting function (Q) to the protected argument (P(X i )), wherein the first function (P) is a cryptographic algorithm; transmitting (S11) the protected argument (P(X i )) from the executable software to the software library ; applying (S12) the first inverting function (Q i ) to the protected argument (P(X i )) by means of the software library in order to determine the predetermined argument (X i ); providing (S13) the executable software with the predetermined function (F(X i )) for the determined predetermined argument (X i ) by means of the software library ; applying (S2) a second function (U) to the predetermined function (F(X i )) from the predetermined functions (F(X 1 ), F(X 2 ), ..., F(X N )) in order to generate a protected function (U(F(X i ))) by means of the software library in such a manner that the predetermined function (F(X i )) can be determined only by applying a second inverting function (V) to the protected function (U(F(X i ))), wherein the second function (U) is a cryptographic algorithm; transmitting (S21) the protected function (U(F(X i ))) from the software library to the executable software ; and applying (S22) the second inverting function (V) to the protected function (U(F(X i ))) by means of the executable software in order to determine the predetermined function (F(X i )). applying (S1) a first function (P) to a predetermined argument (X i ) from the predetermined arguments (X 1 , X 2 , ..., X N ) in order to generate a protected argument (P(X i )) by means of the executable software in such a manner that the predetermined argument (X i ) can be determined only by applying a first inverting function (Q) to the protected argument (P(X i )), wherein the first function (P) is a cryptographic algorithm; transmitting (S11) the protected argument (P(X i )) from the executable software to the software library ; applying (S12) the first inverting function (Q i ) to the protected argument (P(X i )) by means of the software library in order to determine the predetermined argument (X i ); providing (S13) the executable software with the predetermined function (F(X i )) for the determined predetermined argument (X i ) by means of the software library ; applying (S2) a second function (U) to the predetermined function (F(X i )) from the predetermined functions (F(X 1 ), F(X 2 ), ..., F(X N )) in order to generate a protected function (U(F(X i ))) by means of the software library in such a manner that the predetermined function (F(X i )) can be determined only by applying a second inverting function (V) to the protected function (U(F(X i ))), wherein the second function (U) is a cryptographic algorithm; transmitting (S21) the protected function (U(F(X i ))) from the software library to the executable software ; and applying (S22) the second inverting function (V) to the protected function (U(F(X i ))) by means of the executable software in order to determine the predetermined function (F(X i )). <EOS>