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

Clash Royale CLAN TAG#URR8PPP
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom: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.
editors dynamic-linking shared-library
add a comment |
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
add a comment |
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
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
editors dynamic-linking shared-library
edited Mar 10 at 4:13
Rui F Ribeiro
42k1483142
42k1483142
asked Jun 20 '17 at 0:54
Edip AhmetEdip Ahmet
813
813
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
- Before this job, you should make a back-up your original .so file.
Following command may destroy your files.
- open your library with vi editor.
- Here, the target is not
.sofile. - As
.sois a symbolic link in general, you have to find an original destination file.
- Here, the target is not
- enter
:%!xxd- This command changes file display format from binary to hex and ASCII.
- 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.
- After modification, enter
:%!xxd -r- It will recover display format into binary.
- save your file and exit, by entering
:wq.
- open your library with vi editor.
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
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
- Before this job, you should make a back-up your original .so file.
Following command may destroy your files.
- open your library with vi editor.
- Here, the target is not
.sofile. - As
.sois a symbolic link in general, you have to find an original destination file.
- Here, the target is not
- enter
:%!xxd- This command changes file display format from binary to hex and ASCII.
- 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.
- After modification, enter
:%!xxd -r- It will recover display format into binary.
- save your file and exit, by entering
:wq.
- open your library with vi editor.
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
add a comment |
- Before this job, you should make a back-up your original .so file.
Following command may destroy your files.
- open your library with vi editor.
- Here, the target is not
.sofile. - As
.sois a symbolic link in general, you have to find an original destination file.
- Here, the target is not
- enter
:%!xxd- This command changes file display format from binary to hex and ASCII.
- 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.
- After modification, enter
:%!xxd -r- It will recover display format into binary.
- save your file and exit, by entering
:wq.
- open your library with vi editor.
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
add a comment |
- Before this job, you should make a back-up your original .so file.
Following command may destroy your files.
- open your library with vi editor.
- Here, the target is not
.sofile. - As
.sois a symbolic link in general, you have to find an original destination file.
- Here, the target is not
- enter
:%!xxd- This command changes file display format from binary to hex and ASCII.
- 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.
- After modification, enter
:%!xxd -r- It will recover display format into binary.
- save your file and exit, by entering
:wq.
- open your library with vi editor.
- Before this job, you should make a back-up your original .so file.
Following command may destroy your files.
- open your library with vi editor.
- Here, the target is not
.sofile. - As
.sois a symbolic link in general, you have to find an original destination file.
- Here, the target is not
- enter
:%!xxd- This command changes file display format from binary to hex and ASCII.
- 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.
- After modification, enter
:%!xxd -r- It will recover display format into binary.
- save your file and exit, by entering
:wq.
- open your library with vi editor.
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
add a comment |
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
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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