Skip to content

Commit

Permalink
remove incomplete sharedcache processing
Browse files Browse the repository at this point in the history
  • Loading branch information
0cyn committed Nov 8, 2023
1 parent 8178e78 commit 0d0a9c9
Show file tree
Hide file tree
Showing 11 changed files with 5 additions and 1,667 deletions.
1 change: 0 additions & 1 deletion .legacy_setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
packages = ['ktool_macho', 'ktool', 'ktool_swift'],
package_dir = {
'ktool_macho': 'src/ktool_macho',
'ktool_dsc': 'src/ktool_dsc',
'lib0cyn': 'src/ktool_macho',
'ktool': 'src/ktool',
'ktool_swift': 'src/ktool_swift'
Expand Down
3 changes: 1 addition & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ packages = [
{ include = "ktool", from="src" },
{ include = "ktool_macho", from="src" },
{ include = "ktool_swift", from="src" },
{ include = "lib0cyn", from="src" },
{ include = "ktool_dsc", from="src" }
{ include = "lib0cyn", from="src" }
]

[tool.isort]
Expand Down
2 changes: 1 addition & 1 deletion src/ktool/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from ktool.ktool import load_image, load_objc_metadata, generate_headers, generate_text_based_stub, load_macho_file, \
macho_verify, reload_image, macho_combine, load_image_from_dsc, load_dsc
macho_verify, reload_image, macho_combine

from ktool.objc import ObjCImage
from ktool.loader import MachOImageLoader
Expand Down
19 changes: 0 additions & 19 deletions src/ktool/ktool.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
from typing import Dict, Union, BinaryIO, List
from io import BytesIO

from ktool_dsc.loader import DyldSharedCacheLoader
from ktool.loader import MachOImageLoader, Image
from ktool.generator import TBDGenerator, FatMachOGenerator

Expand Down Expand Up @@ -105,24 +104,6 @@ def load_image(fp: Union[BinaryIO, MachOFile, Slice, BytesIO, SlicedBackingFile]
load_exports=load_exports, force_misaligned_vm=force_misaligned_vm)


def load_dsc(dsc_path):
return DyldSharedCacheLoader.load_dsc(dsc_path)


def load_image_from_dsc(dsc, filename, slice_index=0, load_symtab=True, load_imports=True, load_exports=True,
use_mmaped_io=True, force_misaligned_vm=False):
lib_objc = DyldSharedCacheLoader.load_image_from_basename(dsc, "libobjc.A.dylib")
if "__objc_scoffs" in lib_objc.segments['__DATA_CONST'].sections:
scoffs = lib_objc.segments['__DATA_CONST'].sections['__objc_scoffs']
if scoffs.size == 0x20:
start = lib_objc.read_uint(scoffs.vm_address, 8, vm=True)
else:
start = lib_objc.read_uint(scoffs.vm_address + 8, 8, vm=True)
MethodList.CUSTOM_RMS_BASE = start & 0xFFFFFFFFF
image = DyldSharedCacheLoader.load_image_from_basename(dsc, filename)
return image


def macho_verify(fp: Union[BinaryIO, MachOFile, Slice, Image]) -> None:
"""
This function takes a variety of MachO-based objects, and loads them with malformation exceptions fully enabled.
Expand Down
Loading

0 comments on commit 0d0a9c9

Please sign in to comment.