From 80b5c9f069f73ad6ac94630d4704e583c5929d30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ole=20Andr=C3=A9=20Vadla=20Ravn=C3=A5s?= Date: Fri, 17 Jul 2026 16:50:09 +0200 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#75267=20frida-?= =?UTF-8?q?gum:=20Add=20MOVK,=20PACIA=20and=20AVX-512=20emitters=20by=20@o?= =?UTF-8?q?leavr?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- types/frida-gum/frida-gum-tests.ts | 14 +++++++++ types/frida-gum/index.d.ts | 50 ++++++++++++++++++++++++++++++ types/frida-gum/package.json | 2 +- 3 files changed, 65 insertions(+), 1 deletion(-) diff --git a/types/frida-gum/frida-gum-tests.ts b/types/frida-gum/frida-gum-tests.ts index f1760bf46f2642..6212c60843aa39 100644 --- a/types/frida-gum/frida-gum-tests.ts +++ b/types/frida-gum/frida-gum-tests.ts @@ -556,3 +556,17 @@ for (const e of Process.getModuleByName("libc.so").enumerateExports()) { // $ExpectType number | undefined e.size; } + +const x86Writer = new X86Writer(Memory.alloc(Process.pageSize)); +x86Writer.putVmovdqu64RegOffsetPtrZmm("rax", 0, 0); +x86Writer.putVmovdqu64ZmmRegOffsetPtr(0, "rax", 0); +x86Writer.putVextracti64x4RegOffsetPtrZmm("rax", 0, 0, 1); +x86Writer.putVinserti64x4ZmmRegOffsetPtr(0, "rax", 0, 1); +x86Writer.putKmovqRegOffsetPtrKreg("rax", 0, 0); +x86Writer.putKmovqKregRegOffsetPtr(0, "rax", 0); +x86Writer.flush(); + +const arm64Writer = new Arm64Writer(Memory.alloc(Process.pageSize)); +arm64Writer.putMovkRegImm("x0", 0x1234, 16); +arm64Writer.putPaciaRegReg("x0", "x1"); +arm64Writer.flush(); diff --git a/types/frida-gum/index.d.ts b/types/frida-gum/index.d.ts index b7e532fbced5bb..2dd6bfe3ad4d1a 100644 --- a/types/frida-gum/index.d.ts +++ b/types/frida-gum/index.d.ts @@ -5758,6 +5758,46 @@ declare class X86Writer { */ putFxrstorRegPtr(reg: X86Register): void; + /** + * Puts a VMOVDQU64 ZMM instruction. + */ + putVmovdqu64RegOffsetPtrZmm(dstBase: X86Register, dstOffset: number | Int64 | UInt64, srcZmm: number): void; + + /** + * Puts a VMOVDQU64 ZMM instruction. + */ + putVmovdqu64ZmmRegOffsetPtr(dstZmm: number, srcBase: X86Register, srcOffset: number | Int64 | UInt64): void; + + /** + * Puts a VEXTRACTI64X4 ZMM instruction. + */ + putVextracti64x4RegOffsetPtrZmm( + dstBase: X86Register, + dstOffset: number | Int64 | UInt64, + srcZmm: number, + imm: number, + ): void; + + /** + * Puts a VINSERTI64X4 ZMM instruction. + */ + putVinserti64x4ZmmRegOffsetPtr( + dstZmm: number, + srcBase: X86Register, + srcOffset: number | Int64 | UInt64, + imm: number, + ): void; + + /** + * Puts a KMOVQ KREG instruction. + */ + putKmovqRegOffsetPtrKreg(dstBase: X86Register, dstOffset: number | Int64 | UInt64, srcKreg: number): void; + + /** + * Puts a KMOVQ KREG instruction. + */ + putKmovqKregRegOffsetPtr(dstKreg: number, srcBase: X86Register, srcOffset: number | Int64 | UInt64): void; + /** * Puts a uint8. */ @@ -7325,6 +7365,11 @@ declare class Arm64Writer { */ putMovNzcvReg(reg: Arm64Register): void; + /** + * Puts a MOVK instruction. + */ + putMovkRegImm(reg: Arm64Register, imm: number, shift: number): void; + /** * Puts an UXTW instruction. */ @@ -7390,6 +7435,11 @@ declare class Arm64Writer { */ putXpaciReg(reg: Arm64Register): void; + /** + * Puts a PACIA instruction. + */ + putPaciaRegReg(dstReg: Arm64Register, modReg: Arm64Register): void; + /** * Puts a NOP instruction. */ diff --git a/types/frida-gum/package.json b/types/frida-gum/package.json index 7d41f716c1fd42..d7c71e950646b1 100644 --- a/types/frida-gum/package.json +++ b/types/frida-gum/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@types/frida-gum", - "version": "19.9.9999", + "version": "19.10.9999", "nonNpm": true, "nonNpmDescription": "frida-gum", "projects": [ From e4cc2a868514f55ee6c8d838cc3e62cacd955229 Mon Sep 17 00:00:00 2001 From: Sam Ramon <15154970+samantharamon@users.noreply.github.com> Date: Fri, 17 Jul 2026 14:26:51 -0700 Subject: [PATCH 2/2] [office-js][office-js-preview] (Outlook) Fix note format (#75269) --- types/office-js-preview/index.d.ts | 8 ++++---- types/office-js/index.d.ts | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/types/office-js-preview/index.d.ts b/types/office-js-preview/index.d.ts index b2e877112b4f3f..6f468f67b256dc 100644 --- a/types/office-js-preview/index.d.ts +++ b/types/office-js-preview/index.d.ts @@ -11926,7 +11926,7 @@ declare namespace Office { * * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Appointment Organizer * - * *Important**: The `removeAttachmentAsync` method doesn't remove inline attachments from a mail item. + * **Important**: The `removeAttachmentAsync` method doesn't remove inline attachments from a mail item. * To remove an inline attachment, first get the item's body, then remove any references of the attachment from its contents. * Use the {@link https://learn.microsoft.com/javascript/api/outlook/office.body | Office.Body} APIs to get and set the body of an item. * @@ -11960,7 +11960,7 @@ declare namespace Office { * * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Appointment Organizer * - * *Important**: The `removeAttachmentAsync` method doesn't remove inline attachments from a mail item. + * **Important**: The `removeAttachmentAsync` method doesn't remove inline attachments from a mail item. * To remove an inline attachment, first get the item's body, then remove any references of the attachment from its contents. * Use the {@link https://learn.microsoft.com/javascript/api/outlook/office.body | Office.Body} APIs to get and set the body of an item. * @@ -21154,7 +21154,7 @@ declare namespace Office { * * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose * - * *Important**: The `removeAttachmentAsync` method doesn't remove inline attachments from a mail item. + * **Important**: The `removeAttachmentAsync` method doesn't remove inline attachments from a mail item. * To remove an inline attachment, first get the item's body, then remove any references of the attachment from its contents. * Use the {@link https://learn.microsoft.com/javascript/api/outlook/office.body | Office.Body} APIs to get and set the body of an item. * @@ -21188,7 +21188,7 @@ declare namespace Office { * * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose * - * *Important**: The `removeAttachmentAsync` method doesn't remove inline attachments from a mail item. + * **Important**: The `removeAttachmentAsync` method doesn't remove inline attachments from a mail item. * To remove an inline attachment, first get the item's body, then remove any references of the attachment from its contents. * Use the {@link https://learn.microsoft.com/javascript/api/outlook/office.body | Office.Body} APIs to get and set the body of an item. * diff --git a/types/office-js/index.d.ts b/types/office-js/index.d.ts index 5147dc5d6facde..8ecea99b7a9ce4 100644 --- a/types/office-js/index.d.ts +++ b/types/office-js/index.d.ts @@ -11905,7 +11905,7 @@ declare namespace Office { * * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Appointment Organizer * - * *Important**: The `removeAttachmentAsync` method doesn't remove inline attachments from a mail item. + * **Important**: The `removeAttachmentAsync` method doesn't remove inline attachments from a mail item. * To remove an inline attachment, first get the item's body, then remove any references of the attachment from its contents. * Use the {@link https://learn.microsoft.com/javascript/api/outlook/office.body | Office.Body} APIs to get and set the body of an item. * @@ -11939,7 +11939,7 @@ declare namespace Office { * * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Appointment Organizer * - * *Important**: The `removeAttachmentAsync` method doesn't remove inline attachments from a mail item. + * **Important**: The `removeAttachmentAsync` method doesn't remove inline attachments from a mail item. * To remove an inline attachment, first get the item's body, then remove any references of the attachment from its contents. * Use the {@link https://learn.microsoft.com/javascript/api/outlook/office.body | Office.Body} APIs to get and set the body of an item. * @@ -20907,7 +20907,7 @@ declare namespace Office { * * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose * - * *Important**: The `removeAttachmentAsync` method doesn't remove inline attachments from a mail item. + * **Important**: The `removeAttachmentAsync` method doesn't remove inline attachments from a mail item. * To remove an inline attachment, first get the item's body, then remove any references of the attachment from its contents. * Use the {@link https://learn.microsoft.com/javascript/api/outlook/office.body | Office.Body} APIs to get and set the body of an item. * @@ -20941,7 +20941,7 @@ declare namespace Office { * * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose * - * *Important**: The `removeAttachmentAsync` method doesn't remove inline attachments from a mail item. + * **Important**: The `removeAttachmentAsync` method doesn't remove inline attachments from a mail item. * To remove an inline attachment, first get the item's body, then remove any references of the attachment from its contents. * Use the {@link https://learn.microsoft.com/javascript/api/outlook/office.body | Office.Body} APIs to get and set the body of an item. *