123456789101112131415161718192021222324252627282930313233343536 |
- #include <fcntl.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <dlfcn.h>
- #include <stdint.h>
- #include <unistd.h>
- #include <errno.h>
- #include <string.h>
- #define LIBNAME "libafk.so"
- #define LIBAFK "libafk-temp.so"
- #define LIBAFK_BAK ".libafk-temp.so.temp"
- int main(int argc, char **argv)
- {
- void *handle;
- if (rename(LIBAFK, LIBAFK_BAK)) {
- fprintf(stderr, "Unable to rename %s: %s\n", LIBAFK, strerror(errno));
- return EXIT_FAILURE;
- }
- handle = dlopen(LIBNAME, RTLD_NOW);
- if (!handle) {
- fprintf(stderr, "Could not open ./%s: %s\n", LIBNAME, dlerror());
- return EXIT_FAILURE;
- }
- if (rename(LIBAFK_BAK, LIBAFK)) {
- fprintf(stderr, "Unable to rename %s: %s\n", LIBAFK_BAK, strerror(errno));
- return EXIT_FAILURE;
- }
- return EXIT_SUCCESS;
- }
|