-
公开(公告)号:US20140115292A1
公开(公告)日:2014-04-24
申请号:US13659878
申请日:2012-10-24
Applicant: APPLE INC.
Inventor: JONATHAN G. MCLACHLAN , Julien Lerouge , Daniel F. Reynaud
IPC: G06F12/02
CPC classification number: G06F12/02 , G06F9/50 , G06F9/5016 , G06F21/14 , G06F2221/2125
Abstract: Techniques, methods, systems, and computer-readable media for allocating and managing dynamically obfuscated heap memory allocations are described. In one embodiment a memory manager in a data processing system contains an addressor, to determine a first address of a program object in a first memory address space, and one or more encoders, to abstract memory access to the program object using the first address such that layout of the object data in the first address space differs from the layout of the object in a second address space. In one embodiment, a runtime system modifies object code of an executable file to include encoder routines to abstract memory accesses to data in an obfuscated heap. In one embodiment, a compiler system using an intermediate representation of a high level program generates an intermediate representation of a high level program capable of performing memory writes and memory reads using obfuscation encoder routines.
Abstract translation: 描述了用于分配和管理动态混淆堆存储器分配的技术,方法,系统和计算机可读介质。 在一个实施例中,数据处理系统中的存储器管理器包含寻址器,用于确定第一存储器地址空间中的程序对象的第一地址和一个或多个编码器,以使用第一地址抽象存储器访问程序对象 第一地址空间中的对象数据的布局与第二地址空间中对象的布局不同。 在一个实施例中,运行时系统修改可执行文件的目标代码以包括编码器例程以抽象对混淆堆中的数据的存储器访问。 在一个实施例中,使用高级程序的中间表示的编译器系统生成能够使用模糊编码器例程执行存储器写入和存储器读取的高级程序的中间表示。