From c9cbeced5b3f2bdd7407e29c0811e65954132540 Mon Sep 17 00:00:00 2001 From: Root THC Date: Tue, 24 Feb 2026 12:42:47 +0000 Subject: initial --- .../doc/API_doc/html/DevMemPatt_8hpp-source.html | 51 ++ .../Kermit/doc/API_doc/html/Patch_8hpp-source.html | 119 ++++ .../doc/API_doc/html/SymbolFingp_8hpp-source.html | 75 +++ .../doc/API_doc/html/SymbolTable_8hpp-source.html | 82 +++ .../doc/API_doc/html/SystemMap_8hpp-source.html | 49 ++ .../doc/API_doc/html/addresses_8h-source.html | 45 ++ other/Kermit/doc/API_doc/html/annotated.html | 23 + .../Kermit/doc/API_doc/html/arch_8hpp-source.html | 47 ++ .../doc/API_doc/html/classDevMemPatt-members.html | 22 + other/Kermit/doc/API_doc/html/classDevMemPatt.html | 266 ++++++++ .../doc/API_doc/html/classPatch-members.html | 41 ++ other/Kermit/doc/API_doc/html/classPatch.html | 670 +++++++++++++++++++++ .../doc/API_doc/html/classSymbolFingp-members.html | 21 + .../Kermit/doc/API_doc/html/classSymbolFingp.html | 40 ++ .../doc/API_doc/html/classSymbolTable-members.html | 28 + .../Kermit/doc/API_doc/html/classSymbolTable.html | 220 +++++++ .../doc/API_doc/html/classSystemMap-members.html | 23 + other/Kermit/doc/API_doc/html/classSystemMap.html | 178 ++++++ .../doc/API_doc/html/classrwKernel-members.html | 24 + other/Kermit/doc/API_doc/html/classrwKernel.html | 301 +++++++++ other/Kermit/doc/API_doc/html/doxygen.css | 22 + other/Kermit/doc/API_doc/html/doxygen.gif | Bin 0 -> 2378 bytes other/Kermit/doc/API_doc/html/files.html | 17 + other/Kermit/doc/API_doc/html/functions.html | 59 ++ other/Kermit/doc/API_doc/html/index.html | 17 + .../doc/API_doc/html/itos16_8hpp-source.html | 24 + .../doc/API_doc/html/name2add_8h-source.html | 31 + .../doc/API_doc/html/pseudo__link_8h-source.html | 73 +++ .../doc/API_doc/html/rwKernel_8hpp-source.html | 70 +++ .../doc/API_doc/html/stoi16_8hpp-source.html | 25 + 30 files changed, 2663 insertions(+) create mode 100644 other/Kermit/doc/API_doc/html/DevMemPatt_8hpp-source.html create mode 100644 other/Kermit/doc/API_doc/html/Patch_8hpp-source.html create mode 100644 other/Kermit/doc/API_doc/html/SymbolFingp_8hpp-source.html create mode 100644 other/Kermit/doc/API_doc/html/SymbolTable_8hpp-source.html create mode 100644 other/Kermit/doc/API_doc/html/SystemMap_8hpp-source.html create mode 100644 other/Kermit/doc/API_doc/html/addresses_8h-source.html create mode 100644 other/Kermit/doc/API_doc/html/annotated.html create mode 100644 other/Kermit/doc/API_doc/html/arch_8hpp-source.html create mode 100644 other/Kermit/doc/API_doc/html/classDevMemPatt-members.html create mode 100644 other/Kermit/doc/API_doc/html/classDevMemPatt.html create mode 100644 other/Kermit/doc/API_doc/html/classPatch-members.html create mode 100644 other/Kermit/doc/API_doc/html/classPatch.html create mode 100644 other/Kermit/doc/API_doc/html/classSymbolFingp-members.html create mode 100644 other/Kermit/doc/API_doc/html/classSymbolFingp.html create mode 100644 other/Kermit/doc/API_doc/html/classSymbolTable-members.html create mode 100644 other/Kermit/doc/API_doc/html/classSymbolTable.html create mode 100644 other/Kermit/doc/API_doc/html/classSystemMap-members.html create mode 100644 other/Kermit/doc/API_doc/html/classSystemMap.html create mode 100644 other/Kermit/doc/API_doc/html/classrwKernel-members.html create mode 100644 other/Kermit/doc/API_doc/html/classrwKernel.html create mode 100644 other/Kermit/doc/API_doc/html/doxygen.css create mode 100644 other/Kermit/doc/API_doc/html/doxygen.gif create mode 100644 other/Kermit/doc/API_doc/html/files.html create mode 100644 other/Kermit/doc/API_doc/html/functions.html create mode 100644 other/Kermit/doc/API_doc/html/index.html create mode 100644 other/Kermit/doc/API_doc/html/itos16_8hpp-source.html create mode 100644 other/Kermit/doc/API_doc/html/name2add_8h-source.html create mode 100644 other/Kermit/doc/API_doc/html/pseudo__link_8h-source.html create mode 100644 other/Kermit/doc/API_doc/html/rwKernel_8hpp-source.html create mode 100644 other/Kermit/doc/API_doc/html/stoi16_8hpp-source.html (limited to 'other/Kermit/doc/API_doc/html') diff --git a/other/Kermit/doc/API_doc/html/DevMemPatt_8hpp-source.html b/other/Kermit/doc/API_doc/html/DevMemPatt_8hpp-source.html new file mode 100644 index 0000000..d11791f --- /dev/null +++ b/other/Kermit/doc/API_doc/html/DevMemPatt_8hpp-source.html @@ -0,0 +1,51 @@ + +
+00001 /* +00002 * DevMemPatt.hpp: +00003 * search the kernel... +00004 * written by palmers / teso +00005 * +00006 * ahh, btw. fuck. now you can grep for it :) +00007 */ +00008 #ifndef __DEVMEMPATT_C +00009 #define __DEVMEMPATT_C +00010 +00011 #define READ_BUFF_SIZE 4096 +00012 +00013 #include <string> +00014 #include <rwKernel.hpp> +00015 #include <SymbolFingp.hpp> +00016 +00017 +00025 class DevMemPatt +00026 { +00027 private: +00028 rwKernel *rw; +00029 int compare_data_snippet (unsigned char *, struct sfp *); +00030 +00031 public: +00036 DevMemPatt (rwKernel *); +00037 +00041 DevMemPatt (); +00042 +00046 ~DevMemPatt (); +00047 +00057 unsigned int find_patt (unsigned int start, unsigned int end, \ +00058 unsigned short len, unsigned char *data); +00059 +00067 unsigned int find_patt (struct sfp *a); +00068 }; +00069 #endif /* __DEVMEMPATT_C */ +
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/Patch_8hpp-source.html b/other/Kermit/doc/API_doc/html/Patch_8hpp-source.html
new file mode 100644
index 0000000..66340bd
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/Patch_8hpp-source.html
@@ -0,0 +1,119 @@
+
+
+00001 /* +00002 * Patch.hpp: +00003 * representation of a kernel patch. +00004 * written by palmers / teso +00005 */ +00006 #ifndef __PATCH_C +00007 #define __PATCH_C +00008 +00009 #include <rwKernel.hpp> +00010 #include <SymbolTable.hpp> +00011 #include <SystemMap.hpp> +00012 #include <stoi16.hpp> +00013 #include <itos16.hpp> +00014 #include <utility> +00015 #include <functional> +00016 #include <algorithm> +00017 #include <list> +00018 #include <fstream> +00019 #include <string> +00020 #include <name2add.h> +00021 +00022 +00023 typedef pair<unsigned int, unsigned int> Addr2Addr; +00024 typedef list<Addr2Addr *> Addr2AddrList; +00025 +00026 Addr2AddrList *genReplaceValMap (SymbolTable *st); +00027 void genDummyValMap (); +00028 extern SystemMap DummyValMap; +00029 +00030 +00031 #define CLEAN 1 +00032 #define LINKED 2 +00033 #define APPLIED 4 +00034 #define LFAILED 8 +00035 #define AFAILED 16 +00036 +00037 +00050 class Patch +00051 { +00052 private: +00053 int state; +00054 unsigned short len; +00055 unsigned char *back_data, *data, *overwr; +00056 unsigned int address; +00057 rwKernel *local_rw; +00058 +00059 bool initObjects (unsigned char *, unsigned short, unsigned int, rwKernel *); +00060 string state2string (); +00061 void string2state (string); +00062 string data2string (unsigned char *); +00063 void string2data (string, unsigned char *); +00064 void parse (string); +00065 +00066 public: +00070 Patch (); +00071 +00078 Patch (unsigned char *data, unsigned short len, unsigned int addr); +00079 +00085 Patch (unsigned char *data, unsigned short len, unsigned int addr, rwKernel *x); +00086 +00091 Patch (string); +00092 +00097 Patch (string, rwKernel *); +00098 +00102 ~Patch (); +00103 +00104 +00108 void initFromString (string); +00109 +00113 string getPatchAsString (); +00114 +00119 bool wasChanged (); +00120 +00124 bool isLinked (); +00125 +00129 bool isApplied (); +00130 +00134 bool isFailed (); +00135 +00139 bool isClean (); +00140 +00144 int getState (); +00145 +00149 void restore (); +00150 +00154 bool remove (); +00155 +00159 bool remove (rwKernel *); +00160 +00164 unsigned char *getData (); +00165 +00171 void apply (rwKernel *); +00172 +00177 void apply (); +00178 +00182 void link (Addr2AddrList *); +00183 +00192 void dump (string file); +00193 +00197 friend istream& operator>> (istream&, Patch&); +00198 +00202 friend ostream& operator<< (ostream&, Patch&); +00203 }; +00204 #endif /* __PATCH_C */ +
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/SymbolFingp_8hpp-source.html b/other/Kermit/doc/API_doc/html/SymbolFingp_8hpp-source.html
new file mode 100644
index 0000000..05b43a0
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/SymbolFingp_8hpp-source.html
@@ -0,0 +1,75 @@
+
+
+00001 /*
+00002 * SymbolFingp.hpp:
+00003 * some fingerprint
+00004 * written by palmers / teso
+00005 */
+00006 #ifndef __SymbolFingp_H
+00007 #define __SymbolFingp_H
+00008 #include <map>
+00009 #include <fstream>
+00010 #include <string>
+00011 #include <iostream>
+00012
+00013 /* default file to open */
+00014 #define DEFAULT_FILE "SymbolFind.conf"
+00015
+00016 /* defines used for the type field in struct cell */
+00017 #define WWCARD 1
+00018 #define NOCARD 0
+00019
+00020
+00021 struct cell
+00022 {
+00023 unsigned char type;
+00024 unsigned char val;
+00025 };
+00026
+00027
+00028 struct sfp
+00029 {
+00030 char *name;
+00031 unsigned long start_addr;
+00032 unsigned long stop_addr;
+00033 long offset;
+00034 unsigned short length;
+00035 struct cell *fp;
+00036 };
+00037
+00038
+00042 class SymbolFingp
+00043 {
+00044 private:
+00045
+00046 typedef map<string, struct sfp> FingerThing;
+00047 FingerThing Fingers;
+00048
+00049 void readFingers (ifstream);
+00050 bool addFinger (struct sfp *);
+00051
+00052 public:
+00053
+00057 SymbolFingp ();
+00058
+00062 SymbolFingp (string);
+00063
+00067 ~SymbolFingp ();
+00068
+00072 struct sfp *getFinger (string);
+00073 };
+00074
+00075 #endif /* __SymbolFingp_H */
+
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/SymbolTable_8hpp-source.html b/other/Kermit/doc/API_doc/html/SymbolTable_8hpp-source.html
new file mode 100644
index 0000000..04dadd8
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/SymbolTable_8hpp-source.html
@@ -0,0 +1,82 @@
+
+
+00001 /*
+00002 * SymbolTable.hpp:
+00003 * a container for "on-demand" symbol address fetching
+00004 * written by palmers / teso
+00005 */
+00006 #ifndef __SYMBOL_TABLE_C
+00007 #define __SYMBOL_TABLE_C
+00008
+00009 #include <SymbolFingp.hpp>
+00010 #include <SystemMap.hpp>
+00011 #include <DevMemPatt.hpp>
+00012 #include <rwKernel.hpp>
+00013 #include <list>
+00014 #include <string>
+00015 #include <iostream>
+00016 #include <fstream>
+00017 #include <algorithm>
+00018 #include <iterator>
+00019
+00020 #define DEFAULTDUMP "SymbolTableDump"
+00021 #define DEFAULTSYSTEMMAP "System.map"
+00022
+00023 typedef struct
+00024 {
+00025 string Name;
+00026 unsigned int Address;
+00027 } zzSym;
+00028 typedef list<zzSym *> zzSymList;
+00029
+00030
+00034 class SymbolTable
+00035 {
+00036 private:
+00037 SymbolFingp *fing;
+00038 DevMemPatt *patt;
+00039 SystemMap exported;
+00040 SystemMap mapp;
+00041 SystemMap rest;
+00042 string dump_file;
+00043
+00044 bool createObjects (rwKernel *);
+00045 bool loadFiles (string, string);
+00046
+00047 public:
+00051 zzSymList symList;
+00052
+00056 SymbolTable ();
+00057
+00063 SymbolTable (string res, string sys);
+00064
+00069 SymbolTable (rwKernel *);
+00070
+00074 ~SymbolTable ();
+00075
+00080 void setSaveFile (string);
+00081
+00088 unsigned int getSymbol (string);
+00089
+00096 bool findSymbol (string);
+00097
+00101 void addSymbolToCache (string, unsigned int);
+00102
+00106 void clearCache ();
+00107
+00111 bool saveCache ();
+00112 };
+00113 #endif /* __SYMBOL_TABLE_C */
+
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/SystemMap_8hpp-source.html b/other/Kermit/doc/API_doc/html/SystemMap_8hpp-source.html
new file mode 100644
index 0000000..4055733
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/SystemMap_8hpp-source.html
@@ -0,0 +1,49 @@
+
+
+00001 /* +00002 * SystemMap.hpp: +00003 * representation if a system map file (and alike). +00004 * written by palmers / teso +00005 */ +00006 #ifndef SYSTEM_MAP_C +00007 #define SYSTEM_MAP_C +00008 +00009 #include <map> +00010 #include <string> +00011 #include <fstream> +00012 +00016 class SystemMap +00017 { +00018 private: +00019 typedef map<string, unsigned int> blamap; +00020 typedef blamap::value_type bla_val; +00021 +00022 blamap add_map; +00023 +00024 public: +00028 SystemMap (string file); +00029 +00033 SystemMap (); +00034 +00038 ~SystemMap (); +00039 +00044 bool contains (string); +00045 +00052 void add (string name, unsigned int address); +00053 +00059 unsigned int operator[] (string name); +00060 }; +00061 #endif /* SYSTEM_MAP_C */ +
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/addresses_8h-source.html b/other/Kermit/doc/API_doc/html/addresses_8h-source.html
new file mode 100644
index 0000000..f532b9b
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/addresses_8h-source.html
@@ -0,0 +1,45 @@
+
+
+00001 /* +00002 * addresses.h: +00003 * this file was automaticly generated by gen_defines +00004 */ +00005 #define SYS_FORK_ADD 0xf8f8f8f8 +00006 #define SYS_READ_ADD 0xf8f8f7f7 +00007 #define SYS_WRITE_ADD 0xf8f8f6f6 +00008 #define SYS_EXIT_ADD 0xf8f8f5f5 +00009 #define SYS_SETUID_ADD 0xf8f8f4f4 +00010 #define SYS_SETGID_ADD 0xf8f8f3f3 +00011 #define SYS_GETUID_ADD 0xf8f8f2f2 +00012 #define SYS_GETGID_ADD 0xf8f8f1f1 +00013 #define SYS_OPEN_ADD 0xf8f8f0f0 +00014 #define SYS_CLOSE_ADD 0xf8f8efef +00015 #define KMALLOC_ADD 0xf8f8eeee +00016 /* +00017 * addresses.h: +00018 * this file was automaticly generated by gen_defines +00019 */ +00020 #define SYS_FORK_ADD 0xf8f8f8f8 +00021 #define SYS_READ_ADD 0xf8f8f7f7 +00022 #define SYS_WRITE_ADD 0xf8f8f6f6 +00023 #define SYS_EXIT_ADD 0xf8f8f5f5 +00024 #define SYS_SETUID_ADD 0xf8f8f4f4 +00025 #define SYS_SETGID_ADD 0xf8f8f3f3 +00026 #define SYS_GETUID_ADD 0xf8f8f2f2 +00027 #define SYS_GETGID_ADD 0xf8f8f1f1 +00028 #define SYS_OPEN_ADD 0xf8f8f0f0 +00029 #define SYS_CLOSE_ADD 0xf8f8efef +00030 #define KMALLOC_ADD 0xf8f8eeee +
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/annotated.html b/other/Kermit/doc/API_doc/html/annotated.html
new file mode 100644
index 0000000..b624436
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/annotated.html
@@ -0,0 +1,23 @@
+
+
+
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/arch_8hpp-source.html b/other/Kermit/doc/API_doc/html/arch_8hpp-source.html
new file mode 100644
index 0000000..dc30330
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/arch_8hpp-source.html
@@ -0,0 +1,47 @@
+
+
+00001 /*
+00002 * maybe used for porting ...
+00003 * (ignore this file.)
+00004 */
+00005 #ifdef __ALWAYS_UNDEFINED
+00006 template <class Ad_t, bool BE, unsigned short A>
+00007 class Architecture
+00008 {
+00009 private:
+00010 le_replace (unsigned char *, AddressType);
+00011 be_replace (unsigned char *, AddressType);
+00012
+00013 public:
+00014 typedef Ad_t AddressType; /* type capable for holding a memory address as integer */
+00015 bool BigEndian; /* true if machine uses big endian */
+00016 unsigned short Align; /* data alignment - needed? (sanity checks) */
+00017
+00018 Architecture ()
+00019 {
+00020 BigEndian = BE;
+00021 Align = A;
+00022 }
+00023
+00024 replaceAddress (unsigned char *, AddressType);
+00025 };
+00026
+00027
+00028 Architecture<unsigned int, false, 4> x86;
+00029 // ...
+00030
+00031 #define x86 this_arch;
+00032 #endif
+
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/classDevMemPatt-members.html b/other/Kermit/doc/API_doc/html/classDevMemPatt-members.html
new file mode 100644
index 0000000..7b377bd
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/classDevMemPatt-members.html
@@ -0,0 +1,22 @@
+
+
+ [private] [private]
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/classDevMemPatt.html b/other/Kermit/doc/API_doc/html/classDevMemPatt.html
new file mode 100644
index 0000000..5dfc733
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/classDevMemPatt.html
@@ -0,0 +1,266 @@
+
+
+
+#include <DevMemPatt.hpp>
+
Public Methods | |
| DevMemPatt (rwKernel *) | |
| This constructor will initialize the object with a reference to a rwKernel object. More... | |
| DevMemPatt () | |
| Another constructor. More... | |
| ~DevMemPatt () | |
| Destruct DevMemPatt object. More... | |
| unsigned int | find_patt (unsigned int start, unsigned int end,\unsigned short len, unsigned char *data) |
| Find a data string in kernel memory. More... | |
| unsigned int | find_patt (struct sfp *a) |
| Find a data pattern in kernel memory. More... | |
+This class helps you by seaching for patterns in kernel memory. Each function has a, more or less, unique structure. There is nothing to wonder about this: each function is for solving a different task. If the function, or parts of it, are know it can be found without any further knowledge about it. +
+
+
+
|
+
| + + | +
+
+ +This constructor will initialize the object with a reference to a rwKernel object. + +
|
+
+
+
|
+
| + + | +
+
+ +Another constructor. + +This one will generate a new rwKernel object. |
+
+
+
|
+
| + + | +
+
+ +Destruct DevMemPatt object. + +Local rwKernel object will not be deleted. |
+
+
+
|
+
| + + | +
+
+ +Find a data pattern in kernel memory. + +
|
+
+
+
|
+ |||||||||||||||||||||||||||||
| + + | +
+
+ +Find a data string in kernel memory. + +
|
+
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/classPatch-members.html b/other/Kermit/doc/API_doc/html/classPatch-members.html
new file mode 100644
index 0000000..90e8aed
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/classPatch-members.html
@@ -0,0 +1,41 @@
+
+
+ [private] [private] [private] [private] [private] [private] [private] [friend] [friend] [private] [private] [private] [private] [private] [private]
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/classPatch.html b/other/Kermit/doc/API_doc/html/classPatch.html
new file mode 100644
index 0000000..2a00c9e
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/classPatch.html
@@ -0,0 +1,670 @@
+
+
+
+#include <Patch.hpp>
+
Public Methods | |
| + | Patch () |
| Create, but init nothing. | |
| Patch (unsigned char *data, unsigned short len, unsigned int addr) | |
| Create a patch with supplied data. More... | |
| Patch (unsigned char *data, unsigned short len, unsigned int addr, rwKernel *x) | |
| Create a patch with supplied data. More... | |
| Patch (string) | |
| Initialize the object from a string as created by dump (). More... | |
| Patch (string, rwKernel *) | |
| Initialize the object from a string as created by dump (). More... | |
| + | ~Patch () |
| Foo. | |
| +void | initFromString (string) |
| init object from a string. | |
| +string | getPatchAsString () |
| Foo. | |
| bool | wasChanged () |
| tells you if the patch data was modified. More... | |
| bool | isLinked () |
| bool | isApplied () |
| bool | isFailed () |
| bool | isClean () |
| int | getState () |
| void | restore () |
| Restore patch data. More... | |
| +bool | remove () |
| Remove applied Patch (Undo changes done to memory). | |
| +bool | remove (rwKernel *) |
| Remove applied Patch (Undo changes done to memory). | |
| +unsigned char * | getData () |
| Get a pointer to patch data. | |
| void | apply (rwKernel *) |
| Apply the patch to the kernel. More... | |
| void | apply () |
| Apply the patch to the kernel. More... | |
| void | link (Addr2AddrList *) |
| link the patch with the kernel. More... | |
| void | dump (string file) |
| Dump patch information into a file. More... | |
Friends | |
| +istream & | operator>> (istream &, Patch &) |
| Foo. | |
| +ostream & | operator<< (ostream &, Patch &) |
| Foo. | |
+A Patch is a amount of data, which is to be written to a given address. Patching means modification of kernel memory. Therefore, the data, which will be overwritten, is saved (before writting). Additionally the status of the Patch is tracked. Thus, you are able to undo, reapply and debug patches. The states a Patch must be in are: CLEAN (the patch was never touched) LINKED (it was linked without an error) APPLIED (it was applied without an error) LFAILED (linking failed) AFAILED (applying failed) +
+
+
+
|
+ ||||||||||||||||||||||
| + + | +
+
+ +Create a patch with supplied data. + +
|
+
+
+
|
+ |||||||||||||||||||||||||||||
| + + | +
+
+ +Create a patch with supplied data. + +This constructor, compared with the above, will set a local reference to a rwKernel object.
|
+
+
+
|
+
| + + | +
+
+ +Initialize the object from a string as created by dump (). + +
|
+
+
+
|
+ |||||||||||||||
| + + | +
+
+ +Initialize the object from a string as created by dump (). + +
|
+
+
+
|
+
| + + | +
+
+ +Apply the patch to the kernel. + +Use this apply method if you supplied a reference to a rwKernel object at creation time. |
+
+
+
|
+
| + + | +
+
+ +Apply the patch to the kernel. + +Effectivly write the patch data to the supplied address. The method allows you to supply a a reference to a rwKernel object. you can supply on construction of the patch. However, there might be none at that time. |
+
+
+
|
+
| + + | +
+
+ +Dump patch information into a file. + +This will produce human readable output. It can be used e.g. for restoring and debugging. Because the output is line based and can be used to initialize a Patch object you are effecitvely able to reproduce patching sessions.
|
+
+
+
|
+
| + + | +
+
+ +
|
+
+
+
|
+
| + + | +
+
+ +
|
+
+
+
|
+
| + + | +
+
+ +
|
+
+
+
|
+
| + + | +
+
+ +
|
+
+
+
|
+
| + + | +
+
+ +
|
+
+
+
|
+
| + + | +
+
+ +link the patch with the kernel. + +Replace all placeholders with real addresses. |
+
+
+
|
+
| + + | +
+
+ +Restore patch data. + +Might be helpful if linking failed. |
+
+
+
|
+
| + + | +
+
+ +tells you if the patch data was modified. + +(e.g. by linking).
|
+
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/classSymbolFingp-members.html b/other/Kermit/doc/API_doc/html/classSymbolFingp-members.html
new file mode 100644
index 0000000..c4c6fea
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/classSymbolFingp-members.html
@@ -0,0 +1,21 @@
+
+
+ [private] [private] [private] [private]
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/classSymbolFingp.html b/other/Kermit/doc/API_doc/html/classSymbolFingp.html
new file mode 100644
index 0000000..7b2a4de
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/classSymbolFingp.html
@@ -0,0 +1,40 @@
+
+
+
+#include <SymbolFingp.hpp>
+
Public Methods | |
| + | SymbolFingp () |
| Reads configuration from default file. | |
| + | SymbolFingp (string) |
| Reads configuration from specified file. | |
| + | ~SymbolFingp () |
| Foo. | |
| +sfp * | getFinger (string) |
| Return the Fingerprint matching the supplied name. | |
+
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/classSymbolTable-members.html b/other/Kermit/doc/API_doc/html/classSymbolTable-members.html
new file mode 100644
index 0000000..0f9438e
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/classSymbolTable-members.html
@@ -0,0 +1,28 @@
+
+
+ [private] [private] [private] [private] [private] [private] [private] [private]
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/classSymbolTable.html b/other/Kermit/doc/API_doc/html/classSymbolTable.html
new file mode 100644
index 0000000..3acabae
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/classSymbolTable.html
@@ -0,0 +1,220 @@
+
+
+
+#include <SymbolTable.hpp>
+
Public Methods | |
| + | SymbolTable () |
| Construct a SymbolTable object and load configuration from default files. | |
| SymbolTable (string res, string sys) | |
| Construct a SymbolTable object and load configuration from defined files. More... | |
| + | SymbolTable (rwKernel *) |
| Construct a SymbolTable object and use the referenced rwKernel object in all member attributes and methods. | |
| + | ~SymbolTable () |
| Foo. | |
| void | setSaveFile (string) |
| Define the file written to on saveCache (). More... | |
| unsigned int | getSymbol (string) |
| get the address of a known symbol. More... | |
| bool | findSymbol (string) |
| Find a symbol. More... | |
| +void | addSymbolToCache (string, unsigned int) |
| add a symbol, address pair to the cache. | |
| +void | clearCache () |
| flush the address cache. | |
| +bool | saveCache () |
| save the cache to a file (human readable, System.map style). | |
Public Attributes | |
| +zzSymList | symList |
| List of name, address pairs. | |
+
+
+
|
+ |||||||||||||||
| + + | +
+
+ +Construct a SymbolTable object and load configuration from defined files. + +
|
+
+
+
|
+
| + + | +
+
+ +Find a symbol. + +This will try all available methods to find a symbol and cache the address, name pair (zero if search was not successfull).
|
+
+
+
|
+
| + + | +
+
+ +get the address of a known symbol. + +
|
+
+
+
|
+
| + + | +
+
+ +Define the file written to on saveCache (). + +
|
+
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/classSystemMap-members.html b/other/Kermit/doc/API_doc/html/classSystemMap-members.html
new file mode 100644
index 0000000..088a4de
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/classSystemMap-members.html
@@ -0,0 +1,23 @@
+
+
+ [private] [private] [private]
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/classSystemMap.html b/other/Kermit/doc/API_doc/html/classSystemMap.html
new file mode 100644
index 0000000..1442b5d
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/classSystemMap.html
@@ -0,0 +1,178 @@
+
+
+
+#include <SystemMap.hpp>
+
Public Methods | |
| + | SystemMap (string file) |
| Create a SystemMap object and read symbol names and addresses from a file. | |
| + | SystemMap () |
| Create a SystemMap object and leave it empty. | |
| + | ~SystemMap () |
| Foo. | |
| bool | contains (string) |
| Check if a symbol (by name) is part of the object. More... | |
| void | add (string name, unsigned int address) |
| Add a name, address pair to the object. More... | |
| unsigned int | operator[] (string name) |
| Random access operator for accessing elements in the form x = <name>[<symbol>]. More... | |
+It maps names to addresses. +
+
+
+
|
+ |||||||||||||||
| + + | +
+
+ +Add a name, address pair to the object. + +
|
+
+
+
|
+
| + + | +
+
+ +Check if a symbol (by name) is part of the object. + +
|
+
+
+
|
+
| + + | +
+
+ +Random access operator for accessing elements in the form x = <name>[<symbol>]. + +
|
+
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/classrwKernel-members.html b/other/Kermit/doc/API_doc/html/classrwKernel-members.html
new file mode 100644
index 0000000..f6abd81
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/classrwKernel-members.html
@@ -0,0 +1,24 @@
+
+
+ [private] [private] [private] [private] [inline] [private] [private] [inline]
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/classrwKernel.html b/other/Kermit/doc/API_doc/html/classrwKernel.html
new file mode 100644
index 0000000..193536a
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/classrwKernel.html
@@ -0,0 +1,301 @@
+
+
+
+#include <rwKernel.hpp>
+
Public Methods | |
| rwKernel () | |
| Create the object with a fairly standard configuration. More... | |
| rwKernel (int file, int offset) | |
| Create a rwKernel object with the defined parameters. More... | |
| ~rwKernel () | |
| Destructor. More... | |
| void | read (unsigned char *dest, unsigned int len, unsigned int addr) |
| read from kernel. More... | |
| void | write (unsigned char *src, unsigned int len, unsigned int addr) |
| write to kernel. More... | |
| +void | read (char *a, unsigned int b, unsigned int c) |
| Foo. | |
| +void | write (char *a, unsigned int b, unsigned int c) |
| Foo. | |
+It lets you read from and write to the kernel without taking care of offsets or file access. +
+
+
+
|
+
| + + | +
+
+ +Create the object with a fairly standard configuration. + +This constructor will assume that you want to use /dev/mem and a standard offset (as used by any 2.4.x and any 2.2.x kernel not defined to use more than 1GB of ram). |
+
+
+
|
+ |||||||||||||||
| + + | +
+
+ +Create a rwKernel object with the defined parameters. + +
|
+
+
+
|
+
| + + | +
+
+ +Destructor. + +Will unmap the used device. |
+
+
+
|
+ ||||||||||||||||||||||
| + + | +
+
+ +read from kernel. + +
|
+
+
+
|
+ ||||||||||||||||||||||
| + + | +
+
+ +write to kernel. + +
|
+
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/doxygen.css b/other/Kermit/doc/API_doc/html/doxygen.css
new file mode 100644
index 0000000..aee2f34
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/doxygen.css
@@ -0,0 +1,22 @@
+H1 { text-align: center; }
+A.qindex {}
+A.qindexRef {}
+A.el { text-decoration: none; font-weight: bold }
+A.elRef { font-weight: bold }
+A.code { text-decoration: none; font-weight: normal; color: #4444ee }
+A.codeRef { font-weight: normal; color: #4444ee }
+A:hover { text-decoration: none; background-color: #f2f2ff }
+DL.el { margin-left: -1cm }
+DIV.fragment { width: 100%; border: none; background-color: #eeeeee }
+DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
+TD.md { background-color: #f2f2ff; font-weight: bold; }
+TD.mdname { background-color: #f2f2ff; font-weight: bold; font-style: italic }
+DIV.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold }
+DIV.groupText { margin-left: 16px; font-style: italic; font-size: smaller }
+FONT.keyword { color: #008000 }
+FONT.keywordtype { color: #604020 }
+FONT.keywordflow { color: #e08000 }
+FONT.comment { color: #800000 }
+FONT.preprocessor { color: #806020 }
+FONT.stringliteral { color: #002080 }
+FONT.charliteral { color: #008080 }
diff --git a/other/Kermit/doc/API_doc/html/doxygen.gif b/other/Kermit/doc/API_doc/html/doxygen.gif
new file mode 100644
index 0000000..192c83c
Binary files /dev/null and b/other/Kermit/doc/API_doc/html/doxygen.gif differ
diff --git a/other/Kermit/doc/API_doc/html/files.html b/other/Kermit/doc/API_doc/html/files.html
new file mode 100644
index 0000000..6077f8e
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/files.html
@@ -0,0 +1,17 @@
+
+
+
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/functions.html b/other/Kermit/doc/API_doc/html/functions.html
new file mode 100644
index 0000000..f24832a
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/functions.html
@@ -0,0 +1,59 @@
+
+
+
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/index.html b/other/Kermit/doc/API_doc/html/index.html
new file mode 100644
index 0000000..cb43fe6
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/index.html
@@ -0,0 +1,17 @@
+
+
++
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/itos16_8hpp-source.html b/other/Kermit/doc/API_doc/html/itos16_8hpp-source.html
new file mode 100644
index 0000000..117f765
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/itos16_8hpp-source.html
@@ -0,0 +1,24 @@
+
+
+00001 /* +00002 * itos16.hpp: +00003 * written by palmers / teso +00004 */ +00005 #ifndef __ITOS16_C +00006 #define __ITOS16_C +00007 #include <string> +00008 string itos16 (unsigned int); +00009 #endif /* __ITOS16_C */ +
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/name2add_8h-source.html b/other/Kermit/doc/API_doc/html/name2add_8h-source.html
new file mode 100644
index 0000000..5491a44
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/name2add_8h-source.html
@@ -0,0 +1,31 @@
+
+
+00001 /*
+00002 * name2add.h:
+00003 * written by palmers / teso
+00004 */
+00005 #ifndef __NAME2ADD
+00006 #define __NAME2ADD
+00007
+00008 typedef struct
+00009 {
+00010 char *name;
+00011 unsigned int add;
+00012 } __name2add;
+00013
+00014 extern __name2add __n2a[];
+00015
+00016 #endif /* __NAME2ADD*/
+
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/pseudo__link_8h-source.html b/other/Kermit/doc/API_doc/html/pseudo__link_8h-source.html
new file mode 100644
index 0000000..97cab4d
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/pseudo__link_8h-source.html
@@ -0,0 +1,73 @@
+
+
+00001 /* +00002 * pseudo_link.h: +00003 * file for pseudolinking. +00004 * put all your pointer to function prototypes here. +00005 * written by palmers / teso +00006 */ +00007 #include <glob.h> +00008 #include <linux/types.h> +00009 #include <sys/stat.h> +00010 #include <sys/types.h> +00011 #include <asm/ptrace.h> +00012 #include <addresses.h> +00013 +00014 #define USE_SYS_FORK \ +00015 int (*sys_fork)(struct pt_regs) = \ +00016 (int (*)(struct pt_regs))SYS_FORK_ADD; /* arch dependant! */ +00017 +00018 #define USE_SYS_READ \ +00019 size_t (*sys_read)(unsigned int, char *, size_t) = \ +00020 (size_t (*)(unsigned int, char *, size_t))SYS_READ_ADD; +00021 +00022 #define USE_SYS_WRITE \ +00023 size_t (*sys_write)(unsigned int, char *, size_t) = \ +00024 (size_t (*)(unsigned int, char *, size_t))SYS_WRITE_ADD; +00025 +00026 #define USE_SYS_EXIT \ +00027 int (*sys_exit)(int) = \ +00028 (int (*)(int))SYS_EXIT_ADD; +00029 +00030 #define USE_SYS_SETUID \ +00031 int (*sys_setuid)(uid_t) = \ +00032 (int (*)(uid_t))SYS_SETUID_ADD; +00033 +00034 #define USE_SYS_SETGID \ +00035 int (*sys_setgid)(gid_t) = \ +00036 (int (*)(gid_t))SYS_SETGID_ADD; +00037 +00038 #define USE_SYS_GETUID \ +00039 int (*sys_getuid)(void) = \ +00040 (int (*)(void))SYS_GETUID_ADD; +00041 +00042 #define USE_SYS_GETGID \ +00043 int (*sys_getgid)(void) = \ +00044 (int (*)(void))SYS_GETGID_ADD; +00045 +00046 #define USE_SYS_OPEN \ +00047 int (*sys_open)(const char *, int, int) = \ +00048 (int (*)(const char *, int, int))SYS_OPEN_ADD; +00049 +00050 #define USE_SYS_CLOSE \ +00051 int (*sys_close)(int) = \ +00052 (int (*)(int))SYS_CLOSE_ADD; +00053 +00054 #define USE_KMALLOC \ +00055 void *(*kmalloc)(size_t, int) = \ +00056 (void *(*)(size_t, int)) KMALLOC_ADD; +00057 +00058 +
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/rwKernel_8hpp-source.html b/other/Kermit/doc/API_doc/html/rwKernel_8hpp-source.html
new file mode 100644
index 0000000..4c70fd4
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/rwKernel_8hpp-source.html
@@ -0,0 +1,70 @@
+
+
+00001 /* +00002 * rwKernel.hpp: +00003 * access to kernel memory. +00004 * written by palmers / teso +00005 */ +00006 #ifndef __RW_KERNEL_C +00007 #define __RW_KERNEL_C +00008 +00009 #include <algorithm> +00010 +00011 #define PROCKCORE 213 +00012 #define DEVMEM 23846 +00013 +00014 #define CONF_1GB 34 +00015 #define CONF_2GB 33 +00016 #define CONF_3GB 32 +00017 #define IGNORE 31 +00018 +00023 class rwKernel +00024 { +00025 private: +00026 +00027 char *fd; +00028 int which; +00029 unsigned int mem_conf; +00030 +00031 bool openFile (int); +00032 void closeFile (); +00033 void setOffset (int); +00034 +00035 +00036 public: +00037 +00043 rwKernel (); +00044 +00054 rwKernel (int file, int offset); +00055 +00059 ~rwKernel (); +00060 +00067 void read (unsigned char *dest, unsigned int len, unsigned int addr); +00068 +00075 void write (unsigned char *src, unsigned int len, unsigned int addr); +00076 +00080 void read (char *a, unsigned int b, unsigned int c) +00081 { +00082 read ((unsigned char *) a, b, c); +00083 } +00084 +00088 void write (char *a, unsigned int b, unsigned int c) +00089 { +00090 write ((unsigned char *) a, b, c); +00091 } +00092 }; +00093 +00094 #endif /* __RW_KERNEL_C */ +
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
diff --git a/other/Kermit/doc/API_doc/html/stoi16_8hpp-source.html b/other/Kermit/doc/API_doc/html/stoi16_8hpp-source.html
new file mode 100644
index 0000000..6c7e153
--- /dev/null
+++ b/other/Kermit/doc/API_doc/html/stoi16_8hpp-source.html
@@ -0,0 +1,25 @@
+
+
+00001 /* +00002 * stoi16.hpp: +00003 * written by palmers / teso +00004 */ +00005 #ifndef __STOI16_C +00006 #define __STOI16_C +00007 #include <string> +00008 +00012 unsigned int stoi16 (string); +00013 #endif /* __STOI16_C */ +
1.2.9.1 written by Dimitri van Heesch,
+ © 1997-2001
+
+
--
cgit v1.3