New answers tagged

0

When in doubt, use brute force: #!/bin/bash # $1 -- target library IFS=: find $PATH -maxdepth 1 -executable -type f -o -type l 2>/dev/null | while read b; do ldd "$b" 2>/dev/null | grep -q -F "$1" && echo "$b" done It takes about a minute to go through all my PATH executables (~ 4K ) on my system.


1

As long as you stick to binaries provided by your distribution, it keeps track of this through package dependencies. Determine the package containing that library file. List the packages that depend on this library package. List executables in those packages. Of course this won't tell you about programs that are not installed through your distribution's ...


2

OP did not clarify; however if you want to know which currently running processes are using given libraries, lsof is useful, because (using the file-descriptors from the shared libraries), it is able to list all shared libraries currently in use along with the names of the programs which loaded them. For instance, here is a listing (removing the first few ...


2

This isn't quite what you're asking for, but it will allow you to find the list of binaries using a given library. binstats generates a report on the binaries and libraries in your system, primarily to find out which binaries are missing libraries, and which libraries are no longer used at all. In debug mode, it leaves its temporary files behind, and one of ...


0

The problem is that null bytes cannot be passed through command line arguments as they are internally used as argument terminators. All other bytes seem to be fine. So a somewhat more space-efficient (typically) alternative to using base64 would be to escape the null bytes and then use printf to convert the data to original form: pngString="$(sed ...


3

That is actually not executable code. It's simply the binary string content "Hello World" in 8bit ASCII. Since you ask for a program, you could do something like this in C: #include <stdio.h> #include <string.h> #include <stdlib.h> char *bin2str(char *binStr) { int len; int i = 0; // input cursor int j = 0; // ...


2

If you're asking for a way to decode that binary encoding, you could use perl -ape '$_=pack "(B8)*", @F'


3

Assuming the eleven sequences of eight zeros and ones are bytes, those bytes have the values: 72 101 108 108 111 32 87 111 114 108 100 This could easily represent a program, e.g., for an 8-bit processor like the MOS Technology 6502 or a 32-bit processor like the Inmos T800, but AFAIK not for any processor running Debian (the T800 can run a Unix alike). ...


20

That's just the binary representation of the ascii encoding of "Hello World", not an executable, there's no way to execute that.


0

The Linux strings command prints the strings of printable characters in files, e.g.: $ strings /usr/bin/gnome-open /lib64/ld-linux-x86-64.so.2 3;o:) libgnome-2.so.0 _ITM_deregisterTMCloneTable g_object_unref gmon_start__ g_dgettext _Jv_RegisterClasses g_strdup _ITM_registerTMCloneTable g_error_free gnome_program_init libgnome_module_info_get ...


2

bvi is a Binary VIsual editor with vim keybindings. It's available on most linux systems.


3

An important part about which you still seem confused: Hexadecimal values are just a different representation of binary values. Most hex editors or hexdumps will display values in the hexadecimal base, because it's more readable than in the binary base. E.g.: Binary: xxd -b README.md ...


8

At low level, a file is encoded as a sequence of 0's and 1's. But even programmers rarely go there in practice. First (and more important than this story of 0's and 1's), you have to understand that anything that the computer manipulates is encoded with numbers. A character is coded with a number, using character set tables. For example, the letter 'A' ...


2

You can view the file in binary in vim, by: Opening the file in vim Entering :% !xxd -b The xxd command can be tweaked further, for example: By adding -g4, which will group the bits in 32-bit packs By adding -c4, which will format the output, to have 4 bytes per line Adding both of the flags above, will give you one 32-bit integer per line.


34

Various people have answered some aspects of the query, but not all. All files on computers are stored as 1's and 0's. Images, text files, music, executable applications, object files, etc. They are all 0's and 1's. The only difference is that they are interpreted differently depending upon what opens them. When you view a text file using cat, the ...


0

You can do it with e.g., this ruby one-liner: $ ruby -e 'while c=STDIN.read(1); printf "%08b" % c.bytes.first; end' Traditional C based system have lousy support for outputting stuff in binary, AFAIK. It's usually not very useful as it's quite hard to read unlike hexadecimal dumps.


4

You could open it in a hex editor which shows it as a series of hexadecimal values. xxd file What are you trying to accomplish?


9

I would start with od (octal dump), and depending on the system, may find tools such as objdump useful.


1

Here is the link for your binary blobs. Quote from the link: Binary firmware blobs from the Debian non-free archive are installed when no good Free Software alternative exists.



Top 50 recent answers are included