| 95 | return re.findall(b"([a-zA-Z0-9]*)\.java", self.__raw)[0].decode() |
| 96 | |
| 97 | def inject(self, payload: Union[str, bytes]): |
| 98 | if isinstance(payload, str): |
| 99 | payload = payload.encode() |
| 100 | |
| 101 | if not INJECTION_TAG.encode() in self.__raw: |
| 102 | raise Exception(f"No `{INJECTION_TAG}` tag to inject payload into.") |
| 103 | |
| 104 | index = self.__raw.index(INJECTION_TAG.encode()) |
| 105 | |
| 106 | self.__raw = self.__raw[:index-3] + self.str_size(payload) + payload + self.__raw[index+3:] |
| 107 | |
| 108 | def __repr__(self) -> str: |
| 109 | return f"JavaClass({self.__raw})" |