Diff
checker
Testo
Testo
Immagini
Documenti
Excel
Cartelle
Legal
Enterprise
Applicazione per desktop
Prezzi
Accedi
Scarica Diffchecker Desktop
Confronta il testo
Trova la differenza tra due file di testo
Strumenti
Cronologia
Editor live
Comprimi invariate
Senza a capo
Layout
Diviso
Unificato
Livello di dettaglio
Intelligente
Parola
Carattere
Evidenziazione sintassi
Scegli sintassi
Ignora
Trasforma testo
Vai alla prima modifica
Modifica input
Diffchecker Desktop
Il modo più sicuro per usare Diffchecker. Ottieni l'app Diffchecker Desktop: i tuoi diff non lasciano mai il tuo computer!
Ottieni Desktop
15658.mc
Creato
2 anni fa
Il diff non scade mai
Eliminare
Esporta
Condividere
Spiegare
58 rimozioni
Linee
Totale
Rimosso
Caratteri
Totale
Rimosso
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
92 linee
Copia tutti
98 aggiunte
Linee
Totale
Aggiunto
Caratteri
Totale
Aggiunto
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
126 linee
Copia tutti
; Assembly listing for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
; Assembly listing for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
; Emitting BLENDED_CODE for generic ARM64 - Windows
; Emitting BLENDED_CODE for generic ARM64 - Windows
; MinOpts code
; MinOpts code
; fp based frame
; fp based frame
; partially interruptible
; partially interruptible
G_M000_IG01:
G_M000_IG01:
Copia
Copiato
Copia
Copiato
stp fp, lr, [sp, #-0x
5
0]!
stp fp, lr, [sp, #-0x
6
0]!
mov fp, sp
mov fp, sp
Copia
Copiato
Copia
Copiato
str x0, [fp, #0x
4
0] //
str x0, [fp, #0x
5
0] //
str x1, [fp, #0x
4
8] //
str x1, [fp, #0x
5
8] //
str x2, [fp, #0x
3
0] //
str x2, [fp, #0x
4
0] //
str x3, [fp, #0x
3
8] //
str x3, [fp, #0x
4
8] //
G_M000_IG02:
G_M000_IG02:
Copia
Copiato
Copia
Copiato
add x0, fp, #80 //
str x0, [fp, #0x1C] //
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
str x0, [fp, #0x14] //
ldr x0, [fp, #0x1C] //
ldr x1, [fp, #0x14] //
blr x1
str w0, [fp, #0x30] //
add x0, fp, #64 //
add x0, fp, #64 //
Copia
Copiato
Copia
Copiato
movz
x1
, #0xD1FFAB1E
str x0, [fp, #0x14] //
movk
x1
, #0xD1FFAB1E LSL #16
movz
x0
, #0xD1FFAB1E
movk
x1
, #0xD1FFAB1E LSL #32
movk
x0
, #0xD1FFAB1E LSL #16
ldr
x1
, [
x1]
movk
x0
, #0xD1FFAB1E LSL #32
blr x1
ldr
x0
, [
x0]
str
w0
, [fp, #
0x20
] //
str
x0
, [fp, #
0x1C
] //
add
x0,
fp, #
48
//
ldr
x0,
[
fp, #
0x14]
//
movz x1, #0xD1FFAB1E
ldr x1, [
fp, #0x1C] //
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [
x1]
blr x1
blr x1
Copia
Copiato
Copia
Copiato
ldr w1, [fp, #0x2
0
] //
str w0, [fp, #0x28] //
ldr w0, [fp, #0x30] //
str w0, [fp, #0x24] //
ldr w0, [fp, #0x28] //
ldr w1, [fp, #0x2
4
] //
cmp w0, w1
cmp w0, w1
beq G_M000_IG04
beq G_M000_IG04
mov w0, wzr
mov w0, wzr
G_M000_IG03:
G_M000_IG03:
Copia
Copiato
Copia
Copiato
ldp fp, lr, [sp], #0x
5
0
ldp fp, lr, [sp], #0x
6
0
ret lr
ret lr
G_M000_IG04:
G_M000_IG04:
Copia
Copiato
Copia
Copiato
add x0, fp, #
64
//
add x0, fp, #
80 //
movz
x1
, #0xD1FFAB1E
str x0, [fp, #0x1C]
//
movk
x1
, #0xD1FFAB1E LSL #16
movz
x0
, #0xD1FFAB1E
movk
x1
, #0xD1FFAB1E LSL #32
movk
x0
, #0xD1FFAB1E LSL #16
ldr x1, [
x1]
movk
x0
, #0xD1FFAB1E LSL #32
ldr x0, [x0]
str x0, [fp, #0x14] //
ldr x0, [fp, #0x1C] //
ldr x1, [
fp, #0x14] //
blr x1
blr x1
Copia
Copiato
Copia
Copiato
str w0, [fp, #0x
2
C] //
str w0, [fp, #0x
3
C] //
str wzr, [fp, #0x
2
8] //
str wzr, [fp, #0x
3
8] //
str wzr, [fp, #0x
2
4] //
str wzr, [fp, #0x
3
4] //
b G_M000_IG06
b G_M000_IG06
G_M000_IG05:
G_M000_IG05:
Copia
Copiato
Copia
Copiato
add x0, fp, #
64
//
add x0, fp, #
80 //
ldr w1, [fp, #0x
2
4] //
str x0, [fp, #0x14]
//
movz
x2
, #0xD1FFAB1E
ldr w1, [fp, #0x
3
4] //
movk
x2
, #0xD1FFAB1E LSL #16
movz
x0
, #0xD1FFAB1E
movk
x2
, #0xD1FFAB1E LSL #32
movk
x0
, #0xD1FFAB1E LSL #16
ldr
x2, [x2]
movk
x0
, #0xD1FFAB1E LSL #32
ldr
x0, [x0]
str x0, [fp, #0x1C] //
ldr x0, [fp, #0x14] //
ldr x2, [fp, #0x1C] //
blr x2
blr x2
ldrb w0, [x0]
ldrb w0, [x0]
Copia
Copiato
Copia
Copiato
str w0, [fp, #0x
1
C] //
str w0, [fp, #0x
2
C] //
add x0, fp, #
48
//
add x0, fp, #
64 //
ldr w1, [fp, #0x
2
4] //
str x0, [fp, #0x1C]
//
movz
x2
, #0xD1FFAB1E
ldr w1, [fp, #0x
3
4] //
movk
x2
, #0xD1FFAB1E LSL #16
movz
x0
, #0xD1FFAB1E
movk
x2
, #0xD1FFAB1E LSL #32
movk
x0
, #0xD1FFAB1E LSL #16
ldr
x2, [x2]
movk
x0
, #0xD1FFAB1E LSL #32
ldr
x0, [x0]
str x0, [fp, #0x14] //
ldr x0, [fp, #0x1C] //
ldr x2, [fp, #0x14] //
blr x2
blr x2
ldrb w0, [x0]
ldrb w0, [x0]
Copia
Copiato
Copia
Copiato
ldr
w1
, [fp, #0x
1
C] //
str w0, [fp, #0x24] //
sub w0,
w1, w0
ldr
w0
, [fp, #0x
2
C] //
ldr
w1
, [fp, #0x2
8
] //
ldrb w1, [fp, #0x24] //
orr
w0,
w0, w1
sub w0,
w0, w1
str
w0
, [fp, #0x2
4
] //
ldr
w0,
[fp, #0x38] //
str w0, [fp, #0x28] //
str w0, [fp, #0x28] //
ldr w0, [fp, #0x24] //
ldr w0, [fp, #0x24] //
Copia
Copiato
Copia
Copiato
ldr w1, [fp, #0x28] //
orr w0, w0, w1
str w0, [fp, #0x38] //
ldr w0, [fp, #0x34] //
add w0, w0, #1
add w0, w0, #1
Copia
Copiato
Copia
Copiato
str w0, [fp, #0x
2
4] //
str w0, [fp, #0x
3
4] //
G_M000_IG06:
G_M000_IG06:
Copia
Copiato
Copia
Copiato
ldr w0, [fp,
#0x24] //
ldr w0, [fp,
#0x34] //
ldr
w1
, [fp, #0x2
C
] //
str w0, [fp, #0x28] //
ldr w0, [fp, #0x3C] //
str w0, [fp,
#0x24] //
ldr
w0, [fp, #0x28] //
ldr w1
, [fp, #0x2
4
] //
cmp w0, w1
cmp w0, w1
blt G_M000_IG05
blt G_M000_IG05
Copia
Copiato
Copia
Copiato
ldr w0, [fp, #0x
2
8] //
ldr w0, [fp, #0x
3
8] //
cmp w0, #0
cmp w0, #0
cset x0, eq
cset x0, eq
G_M000_IG07:
G_M000_IG07:
Copia
Copiato
Copia
Copiato
ldp fp, lr, [sp], #0x
5
0
ldp fp, lr, [sp], #0x
6
0
ret lr
ret lr
Copia
Copiato
Copia
Copiato
; Total bytes of code
276
; Total bytes of code
412
Diff salvati
Testo originale
Apri file
; Assembly listing for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts) ; Emitting BLENDED_CODE for generic ARM64 - Windows ; MinOpts code ; fp based frame ; partially interruptible G_M000_IG01: stp fp, lr, [sp, #-0x50]! mov fp, sp str x0, [fp, #0x40] // str x1, [fp, #0x48] // str x2, [fp, #0x30] // str x3, [fp, #0x38] // G_M000_IG02: add x0, fp, #64 // movz x1, #0xD1FFAB1E movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 str w0, [fp, #0x20] // add x0, fp, #48 // movz x1, #0xD1FFAB1E movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 ldr w1, [fp, #0x20] // cmp w0, w1 beq G_M000_IG04 mov w0, wzr G_M000_IG03: ldp fp, lr, [sp], #0x50 ret lr G_M000_IG04: add x0, fp, #64 // movz x1, #0xD1FFAB1E movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 str w0, [fp, #0x2C] // str wzr, [fp, #0x28] // str wzr, [fp, #0x24] // b G_M000_IG06 G_M000_IG05: add x0, fp, #64 // ldr w1, [fp, #0x24] // movz x2, #0xD1FFAB1E movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 ldrb w0, [x0] str w0, [fp, #0x1C] // add x0, fp, #48 // ldr w1, [fp, #0x24] // movz x2, #0xD1FFAB1E movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 ldrb w0, [x0] ldr w1, [fp, #0x1C] // sub w0, w1, w0 ldr w1, [fp, #0x28] // orr w0, w0, w1 str w0, [fp, #0x28] // ldr w0, [fp, #0x24] // add w0, w0, #1 str w0, [fp, #0x24] // G_M000_IG06: ldr w0, [fp, #0x24] // ldr w1, [fp, #0x2C] // cmp w0, w1 blt G_M000_IG05 ldr w0, [fp, #0x28] // cmp w0, #0 cset x0, eq G_M000_IG07: ldp fp, lr, [sp], #0x50 ret lr ; Total bytes of code 276
Testo modificato
Apri file
; Assembly listing for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts) ; Emitting BLENDED_CODE for generic ARM64 - Windows ; MinOpts code ; fp based frame ; partially interruptible G_M000_IG01: stp fp, lr, [sp, #-0x60]! mov fp, sp str x0, [fp, #0x50] // str x1, [fp, #0x58] // str x2, [fp, #0x40] // str x3, [fp, #0x48] // G_M000_IG02: add x0, fp, #80 // str x0, [fp, #0x1C] // movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr x0, [x0] str x0, [fp, #0x14] // ldr x0, [fp, #0x1C] // ldr x1, [fp, #0x14] // blr x1 str w0, [fp, #0x30] // add x0, fp, #64 // str x0, [fp, #0x14] // movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr x0, [x0] str x0, [fp, #0x1C] // ldr x0, [fp, #0x14] // ldr x1, [fp, #0x1C] // blr x1 str w0, [fp, #0x28] // ldr w0, [fp, #0x30] // str w0, [fp, #0x24] // ldr w0, [fp, #0x28] // ldr w1, [fp, #0x24] // cmp w0, w1 beq G_M000_IG04 mov w0, wzr G_M000_IG03: ldp fp, lr, [sp], #0x60 ret lr G_M000_IG04: add x0, fp, #80 // str x0, [fp, #0x1C] // movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr x0, [x0] str x0, [fp, #0x14] // ldr x0, [fp, #0x1C] // ldr x1, [fp, #0x14] // blr x1 str w0, [fp, #0x3C] // str wzr, [fp, #0x38] // str wzr, [fp, #0x34] // b G_M000_IG06 G_M000_IG05: add x0, fp, #80 // str x0, [fp, #0x14] // ldr w1, [fp, #0x34] // movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr x0, [x0] str x0, [fp, #0x1C] // ldr x0, [fp, #0x14] // ldr x2, [fp, #0x1C] // blr x2 ldrb w0, [x0] str w0, [fp, #0x2C] // add x0, fp, #64 // str x0, [fp, #0x1C] // ldr w1, [fp, #0x34] // movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr x0, [x0] str x0, [fp, #0x14] // ldr x0, [fp, #0x1C] // ldr x2, [fp, #0x14] // blr x2 ldrb w0, [x0] str w0, [fp, #0x24] // ldr w0, [fp, #0x2C] // ldrb w1, [fp, #0x24] // sub w0, w0, w1 str w0, [fp, #0x24] // ldr w0, [fp, #0x38] // str w0, [fp, #0x28] // ldr w0, [fp, #0x24] // ldr w1, [fp, #0x28] // orr w0, w0, w1 str w0, [fp, #0x38] // ldr w0, [fp, #0x34] // add w0, w0, #1 str w0, [fp, #0x34] // G_M000_IG06: ldr w0, [fp, #0x34] // str w0, [fp, #0x28] // ldr w0, [fp, #0x3C] // str w0, [fp, #0x24] // ldr w0, [fp, #0x28] // ldr w1, [fp, #0x24] // cmp w0, w1 blt G_M000_IG05 ldr w0, [fp, #0x38] // cmp w0, #0 cset x0, eq G_M000_IG07: ldp fp, lr, [sp], #0x60 ret lr ; Total bytes of code 412
Trovare la differenza