How to Change Text in Shared Libraries (*.so files) in Linux

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








0















When I search text in a folder using bash I can see that text is in binary file. I would like to change the text in *.so file.










share|improve this question






























    0















    When I search text in a folder using bash I can see that text is in binary file. I would like to change the text in *.so file.










    share|improve this question


























      0












      0








      0








      When I search text in a folder using bash I can see that text is in binary file. I would like to change the text in *.so file.










      share|improve this question
















      When I search text in a folder using bash I can see that text is in binary file. I would like to change the text in *.so file.







      editors dynamic-linking shared-library






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 10 at 4:13









      Rui F Ribeiro

      42k1483142




      42k1483142










      asked Jun 20 '17 at 0:54









      Edip AhmetEdip Ahmet

      813




      813




















          1 Answer
          1






          active

          oldest

          votes


















          1














          • Before this job, you should make a back-up your original .so file.


          • Following command may destroy your files.



            1. open your library with vi editor.

              • Here, the target is not .so file.

              • As .so is a symbolic link in general, you have to find an original destination file.


            2. enter :%!xxd

              • This command changes file display format from binary to hex and ASCII.


            3. modify what you want, that is, text.

              • You must modify on the left, Hex code, not right side, ASCII chars.

              • You must not insert or delete characters, only replace them. You can't make a string longer. You can make a string shorter by putting nul characters (press Ctrl+V Ctrl+@) at the end.


            4. After modification, enter :%!xxd -r

              • It will recover display format into binary.


            5. save your file and exit, by entering :wq.






          share|improve this answer

























          • I don't know how to use vim, I changed the text file directly with gvim. But .so file is broken.I couldn't be successful..

            – Edip Ahmet
            Jun 20 '17 at 20:53







          • 1





            @EdipAhmet You probably changed the length of a string. That won't work: the code looks for each string at a certain position. There's no realistic way to change the length of a string without recompiling the source code.

            – Gilles
            Jun 20 '17 at 23:11











          • @Gilles I see. So there is no way to change closed source shared libraries. I wanted to change text of a closed source binary which the SDK is used to build Android apps. There is a tag named "Developer Use Only" on Android app when I use this SDK. So I won't use the SDK.

            – Edip Ahmet
            Jun 20 '17 at 23:32











          • @EdipAhmet Not really. There's a reason why people edit source code and not binaries. Changing binaries in nontrivial ways can be done but you need to be good at reverse engineering. There's probably another way to solve your problem though.

            – Gilles
            Jun 20 '17 at 23:36












          • @Gilles Yes I think there might be a way for this. I searched on the Internet but I couldn't find anything for cracking Linux shared libraries. It might be easy to find a way to get source code on Windows platforms. Protected Visual Basic binaries can be cracked using hex editor. Executable binary files of .NET can be cracked using third part softwares and can be reached the source code :)

            – Edip Ahmet
            Jun 21 '17 at 0:12












          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "106"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f372111%2fhow-to-change-text-in-shared-libraries-so-files-in-linux%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1














          • Before this job, you should make a back-up your original .so file.


          • Following command may destroy your files.



            1. open your library with vi editor.

              • Here, the target is not .so file.

              • As .so is a symbolic link in general, you have to find an original destination file.


            2. enter :%!xxd

              • This command changes file display format from binary to hex and ASCII.


            3. modify what you want, that is, text.

              • You must modify on the left, Hex code, not right side, ASCII chars.

              • You must not insert or delete characters, only replace them. You can't make a string longer. You can make a string shorter by putting nul characters (press Ctrl+V Ctrl+@) at the end.


            4. After modification, enter :%!xxd -r

              • It will recover display format into binary.


            5. save your file and exit, by entering :wq.






          share|improve this answer

























          • I don't know how to use vim, I changed the text file directly with gvim. But .so file is broken.I couldn't be successful..

            – Edip Ahmet
            Jun 20 '17 at 20:53







          • 1





            @EdipAhmet You probably changed the length of a string. That won't work: the code looks for each string at a certain position. There's no realistic way to change the length of a string without recompiling the source code.

            – Gilles
            Jun 20 '17 at 23:11











          • @Gilles I see. So there is no way to change closed source shared libraries. I wanted to change text of a closed source binary which the SDK is used to build Android apps. There is a tag named "Developer Use Only" on Android app when I use this SDK. So I won't use the SDK.

            – Edip Ahmet
            Jun 20 '17 at 23:32











          • @EdipAhmet Not really. There's a reason why people edit source code and not binaries. Changing binaries in nontrivial ways can be done but you need to be good at reverse engineering. There's probably another way to solve your problem though.

            – Gilles
            Jun 20 '17 at 23:36












          • @Gilles Yes I think there might be a way for this. I searched on the Internet but I couldn't find anything for cracking Linux shared libraries. It might be easy to find a way to get source code on Windows platforms. Protected Visual Basic binaries can be cracked using hex editor. Executable binary files of .NET can be cracked using third part softwares and can be reached the source code :)

            – Edip Ahmet
            Jun 21 '17 at 0:12
















          1














          • Before this job, you should make a back-up your original .so file.


          • Following command may destroy your files.



            1. open your library with vi editor.

              • Here, the target is not .so file.

              • As .so is a symbolic link in general, you have to find an original destination file.


            2. enter :%!xxd

              • This command changes file display format from binary to hex and ASCII.


            3. modify what you want, that is, text.

              • You must modify on the left, Hex code, not right side, ASCII chars.

              • You must not insert or delete characters, only replace them. You can't make a string longer. You can make a string shorter by putting nul characters (press Ctrl+V Ctrl+@) at the end.


            4. After modification, enter :%!xxd -r

              • It will recover display format into binary.


            5. save your file and exit, by entering :wq.






          share|improve this answer

























          • I don't know how to use vim, I changed the text file directly with gvim. But .so file is broken.I couldn't be successful..

            – Edip Ahmet
            Jun 20 '17 at 20:53







          • 1





            @EdipAhmet You probably changed the length of a string. That won't work: the code looks for each string at a certain position. There's no realistic way to change the length of a string without recompiling the source code.

            – Gilles
            Jun 20 '17 at 23:11











          • @Gilles I see. So there is no way to change closed source shared libraries. I wanted to change text of a closed source binary which the SDK is used to build Android apps. There is a tag named "Developer Use Only" on Android app when I use this SDK. So I won't use the SDK.

            – Edip Ahmet
            Jun 20 '17 at 23:32











          • @EdipAhmet Not really. There's a reason why people edit source code and not binaries. Changing binaries in nontrivial ways can be done but you need to be good at reverse engineering. There's probably another way to solve your problem though.

            – Gilles
            Jun 20 '17 at 23:36












          • @Gilles Yes I think there might be a way for this. I searched on the Internet but I couldn't find anything for cracking Linux shared libraries. It might be easy to find a way to get source code on Windows platforms. Protected Visual Basic binaries can be cracked using hex editor. Executable binary files of .NET can be cracked using third part softwares and can be reached the source code :)

            – Edip Ahmet
            Jun 21 '17 at 0:12














          1












          1








          1







          • Before this job, you should make a back-up your original .so file.


          • Following command may destroy your files.



            1. open your library with vi editor.

              • Here, the target is not .so file.

              • As .so is a symbolic link in general, you have to find an original destination file.


            2. enter :%!xxd

              • This command changes file display format from binary to hex and ASCII.


            3. modify what you want, that is, text.

              • You must modify on the left, Hex code, not right side, ASCII chars.

              • You must not insert or delete characters, only replace them. You can't make a string longer. You can make a string shorter by putting nul characters (press Ctrl+V Ctrl+@) at the end.


            4. After modification, enter :%!xxd -r

              • It will recover display format into binary.


            5. save your file and exit, by entering :wq.






          share|improve this answer















          • Before this job, you should make a back-up your original .so file.


          • Following command may destroy your files.



            1. open your library with vi editor.

              • Here, the target is not .so file.

              • As .so is a symbolic link in general, you have to find an original destination file.


            2. enter :%!xxd

              • This command changes file display format from binary to hex and ASCII.


            3. modify what you want, that is, text.

              • You must modify on the left, Hex code, not right side, ASCII chars.

              • You must not insert or delete characters, only replace them. You can't make a string longer. You can make a string shorter by putting nul characters (press Ctrl+V Ctrl+@) at the end.


            4. After modification, enter :%!xxd -r

              • It will recover display format into binary.


            5. save your file and exit, by entering :wq.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Feb 14 '18 at 0:22









          wirefox

          1054




          1054










          answered Jun 20 '17 at 2:18









          yw_in_kyw_in_k

          1586




          1586












          • I don't know how to use vim, I changed the text file directly with gvim. But .so file is broken.I couldn't be successful..

            – Edip Ahmet
            Jun 20 '17 at 20:53







          • 1





            @EdipAhmet You probably changed the length of a string. That won't work: the code looks for each string at a certain position. There's no realistic way to change the length of a string without recompiling the source code.

            – Gilles
            Jun 20 '17 at 23:11











          • @Gilles I see. So there is no way to change closed source shared libraries. I wanted to change text of a closed source binary which the SDK is used to build Android apps. There is a tag named "Developer Use Only" on Android app when I use this SDK. So I won't use the SDK.

            – Edip Ahmet
            Jun 20 '17 at 23:32











          • @EdipAhmet Not really. There's a reason why people edit source code and not binaries. Changing binaries in nontrivial ways can be done but you need to be good at reverse engineering. There's probably another way to solve your problem though.

            – Gilles
            Jun 20 '17 at 23:36












          • @Gilles Yes I think there might be a way for this. I searched on the Internet but I couldn't find anything for cracking Linux shared libraries. It might be easy to find a way to get source code on Windows platforms. Protected Visual Basic binaries can be cracked using hex editor. Executable binary files of .NET can be cracked using third part softwares and can be reached the source code :)

            – Edip Ahmet
            Jun 21 '17 at 0:12


















          • I don't know how to use vim, I changed the text file directly with gvim. But .so file is broken.I couldn't be successful..

            – Edip Ahmet
            Jun 20 '17 at 20:53







          • 1





            @EdipAhmet You probably changed the length of a string. That won't work: the code looks for each string at a certain position. There's no realistic way to change the length of a string without recompiling the source code.

            – Gilles
            Jun 20 '17 at 23:11











          • @Gilles I see. So there is no way to change closed source shared libraries. I wanted to change text of a closed source binary which the SDK is used to build Android apps. There is a tag named "Developer Use Only" on Android app when I use this SDK. So I won't use the SDK.

            – Edip Ahmet
            Jun 20 '17 at 23:32











          • @EdipAhmet Not really. There's a reason why people edit source code and not binaries. Changing binaries in nontrivial ways can be done but you need to be good at reverse engineering. There's probably another way to solve your problem though.

            – Gilles
            Jun 20 '17 at 23:36












          • @Gilles Yes I think there might be a way for this. I searched on the Internet but I couldn't find anything for cracking Linux shared libraries. It might be easy to find a way to get source code on Windows platforms. Protected Visual Basic binaries can be cracked using hex editor. Executable binary files of .NET can be cracked using third part softwares and can be reached the source code :)

            – Edip Ahmet
            Jun 21 '17 at 0:12

















          I don't know how to use vim, I changed the text file directly with gvim. But .so file is broken.I couldn't be successful..

          – Edip Ahmet
          Jun 20 '17 at 20:53






          I don't know how to use vim, I changed the text file directly with gvim. But .so file is broken.I couldn't be successful..

          – Edip Ahmet
          Jun 20 '17 at 20:53





          1




          1





          @EdipAhmet You probably changed the length of a string. That won't work: the code looks for each string at a certain position. There's no realistic way to change the length of a string without recompiling the source code.

          – Gilles
          Jun 20 '17 at 23:11





          @EdipAhmet You probably changed the length of a string. That won't work: the code looks for each string at a certain position. There's no realistic way to change the length of a string without recompiling the source code.

          – Gilles
          Jun 20 '17 at 23:11













          @Gilles I see. So there is no way to change closed source shared libraries. I wanted to change text of a closed source binary which the SDK is used to build Android apps. There is a tag named "Developer Use Only" on Android app when I use this SDK. So I won't use the SDK.

          – Edip Ahmet
          Jun 20 '17 at 23:32





          @Gilles I see. So there is no way to change closed source shared libraries. I wanted to change text of a closed source binary which the SDK is used to build Android apps. There is a tag named "Developer Use Only" on Android app when I use this SDK. So I won't use the SDK.

          – Edip Ahmet
          Jun 20 '17 at 23:32













          @EdipAhmet Not really. There's a reason why people edit source code and not binaries. Changing binaries in nontrivial ways can be done but you need to be good at reverse engineering. There's probably another way to solve your problem though.

          – Gilles
          Jun 20 '17 at 23:36






          @EdipAhmet Not really. There's a reason why people edit source code and not binaries. Changing binaries in nontrivial ways can be done but you need to be good at reverse engineering. There's probably another way to solve your problem though.

          – Gilles
          Jun 20 '17 at 23:36














          @Gilles Yes I think there might be a way for this. I searched on the Internet but I couldn't find anything for cracking Linux shared libraries. It might be easy to find a way to get source code on Windows platforms. Protected Visual Basic binaries can be cracked using hex editor. Executable binary files of .NET can be cracked using third part softwares and can be reached the source code :)

          – Edip Ahmet
          Jun 21 '17 at 0:12






          @Gilles Yes I think there might be a way for this. I searched on the Internet but I couldn't find anything for cracking Linux shared libraries. It might be easy to find a way to get source code on Windows platforms. Protected Visual Basic binaries can be cracked using hex editor. Executable binary files of .NET can be cracked using third part softwares and can be reached the source code :)

          – Edip Ahmet
          Jun 21 '17 at 0:12


















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Unix & Linux Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f372111%2fhow-to-change-text-in-shared-libraries-so-files-in-linux%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown






          Popular posts from this blog

          Peggy Mitchell

          Palaiologos

          The Forum (Inglewood, California)