initial commit
[surgeon.git] / README
blobd09f0216b77ab014dbbc5feeda020176b2882fa0
1 surgeon v 0.2 by gonzoj
4 Installation:
5 -------------
7 Since this is a complete rewrite of my old injector, I'll recommend the debug 
8 build. If it's crashing, you know why / where at least (theoretically).
10 Anyway, to build choose between the standard and the debug build. For the 
11 former run:
13 $ make
15 For the latter run:
17 $ make debug
19 And eventually install:
21 $ make install
23 If you got tired of injecting, type:
25 $ make remove
28 Usage:
29 ------
31 Injecting a shared object OBJECT into a running process PID with surgeon is 
32 easy:
34 $ surgeon [-i] PID OBJECT
36 To unload a shared object from a process, use the toggle -u:
38 $ surgeon [-u] PID OBJECT
40 In order to work properly, surgeon needs some (internal) libc functions. 
41 Although it has built-in several ways to resolve those functions, it may occur 
42 that the injection fails. In such a situation it can be useful, to set the 
43 location of libc as well as the offsets for those function manually. The 
44 options which allow that are --libc, --malloc, --free, --dlopen and --dlclose. 
45 To obtain offsets manually, you could use readelf, for example. Run surgeon -h 
46 to learn more.
49 Note:
50 -----
52 This release contains as well two simple shell scripts, which inject / unload 
53 snoogans into Diablo II. I won't bother to explain how to use them, I think it
54 should be clear enough.