> For the complete documentation index, see [llms.txt](https://ret2basic.gitbook.io/ctfnote/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ret2basic.gitbook.io/ctfnote/pwn/linux-exploitation/appendix-tools/libcsearcher-ng.md).

# LibcSearcher-ng

{% embed url="<https://github.com/IZAY01/LibcSearcher>" %}
LibcSearcher-ng
{% endembed %}

LibcSearcher-ng is an API for querying <https://libc.rip/>, which is a lot more convenient since the online version of Libc Database is alawys up to date.

Installing via `pip`:

```bash
pip3 install LibcSearcher
```

Usage:

```python
from LibcSearcher import *

# Query a function name together with its address
obj = LibcSearcher("fgets", 0x7ff39014bd90)
# Add another constraint
obj.add_condition("atoi", 218528)
# Get the address of the target function in libc
obj.dump("printf")
```

New features:

```python
# Return # of possible libc's
len(obj)
# Print info
print(obj)
# Print all possible libc's
for libc in obj :
    print(libc)
# Print all possible libc's and let the user choose
obj.select_libc()
# Assign the 2nd libc as the correct libc
obj.select_libc(2)
```
