From eb6742a3091d9ea61c42f1e7995c871a546efa90 Mon Sep 17 00:00:00 2001 From: JamieRWright <jwright8@sheffield.ac.uk> Date: Tue, 11 Jul 2023 09:59:10 +0100 Subject: [PATCH] dll --- BCB/Cheang et al/Figure 3b/Figure_3b.c | 10 +++++ BCB/Cheang et al/Figure 3b/Figure_3b.cod | 46 +++++++++++++---------- BCB/Cheang et al/Figure 3b/Figure_3b.dll | Bin 32256 -> 32256 bytes 3 files changed, 37 insertions(+), 19 deletions(-) create mode 100644 BCB/Cheang et al/Figure 3b/Figure_3b.c diff --git a/BCB/Cheang et al/Figure 3b/Figure_3b.c b/BCB/Cheang et al/Figure 3b/Figure_3b.c new file mode 100644 index 0000000..212d778 --- /dev/null +++ b/BCB/Cheang et al/Figure 3b/Figure_3b.c @@ -0,0 +1,10 @@ +#include "../ex_main.h" + +__declspec(dllexport) +uint8_t foo(unsigned i) { + if (i < N) { + _mm_lfence(); + return array2[array1[i]*S]; + } + return 0; +} \ No newline at end of file diff --git a/BCB/Cheang et al/Figure 3b/Figure_3b.cod b/BCB/Cheang et al/Figure 3b/Figure_3b.cod index 56e3d6f..12bf769 100644 --- a/BCB/Cheang et al/Figure 3b/Figure_3b.cod +++ b/BCB/Cheang et al/Figure 3b/Figure_3b.cod @@ -6,9 +6,11 @@ INCLUDELIB MSVCRT INCLUDELIB OLDNAMES PUBLIC foo -EXTRN array1_size:QWORD EXTRN array1:BYTE EXTRN array2:BYTE +EXTRN N:BYTE +EXTRN S:BYTE +EXTRN __ImageBase:BYTE ; Function compile flags: /Ogtpy ; File C:\Users\piano\Documents\PhD\hyperproperties\IsabelleScripts\Relative_Security_Spectre\Kevin Cheang\3b\Figure_3b.c ; COMDAT foo @@ -16,37 +18,43 @@ _TEXT SEGMENT i$ = 8 foo PROC ; COMDAT -; 5 : if (i < array1_size) { +; 5 : if (i < N) { - 00000 8b c1 mov eax, ecx - 00002 48 3b 05 00 00 - 00 00 cmp rax, QWORD PTR array1_size - 00009 73 18 jae SHORT $LN2@foo + 00000 0f b6 05 00 00 + 00 00 movzx eax, BYTE PTR N + 00007 3b c8 cmp ecx, eax + 00009 73 27 jae SHORT $LN2@foo -; 6 : uint8_t v = array1[0]; -; 7 : return array2[v*512]+i; +; 6 : _mm_lfence(); - 0000b 0f b6 15 00 00 - 00 00 movzx edx, BYTE PTR array1 - 00012 48 8d 05 00 00 - 00 00 lea rax, OFFSET FLAT:array2 - 00019 c1 e2 09 shl edx, 9 - 0001c 02 0c 02 add cl, BYTE PTR [rdx+rax] - 0001f 0f b6 c1 movzx eax, cl + 0000b 0f ae e8 lfence + +; 7 : return array2[array1[i]*S]; + + 0000e 8b c1 mov eax, ecx + 00010 48 8d 15 00 00 + 00 00 lea rdx, OFFSET FLAT:__ImageBase + 00017 0f b6 8c 10 00 + 00 00 00 movzx ecx, BYTE PTR array1[rax+rdx] + 0001f 0f b6 05 00 00 + 00 00 movzx eax, BYTE PTR S + 00026 0f af c8 imul ecx, eax + 00029 0f b6 84 11 00 + 00 00 00 movzx eax, BYTE PTR array2[rcx+rdx] ; 10 : } - 00022 c3 ret 0 + 00031 c3 ret 0 $LN2@foo: -; 8 : } +; 8 : } ; 9 : return 0; - 00023 32 c0 xor al, al + 00032 32 c0 xor al, al ; 10 : } - 00025 c3 ret 0 + 00034 c3 ret 0 foo ENDP _TEXT ENDS END diff --git a/BCB/Cheang et al/Figure 3b/Figure_3b.dll b/BCB/Cheang et al/Figure 3b/Figure_3b.dll index 104015525759aa2eb1f482b20b5eb565c8c913e3..bda191a3e975afd508e2843b47d94bd933b8b3f5 100644 GIT binary patch delta 4015 zcmZ8k3sh9)7XA;+afZh*JZ4~csDloONrs?>B01Pt2Lw`3dx)15C&36&XEePlKnD{T zDfQQ~d+lYq>b9`(Qs$$(8YN@MEHo=j*Uj6tbq`|eVj5VI=YIQ)xaiJWd+%>Q{{8R$ zpMCzBsT&mP28Gv!fPJw%K&TPCe1ouAxXyzD#sx&gx1|T16>1;XGS;&w0xUlWtSl1j zOfXn3sdX`6#bm1@^enOKDPZwoVEsC<#bj%V0y|2MJW|Jpg5?v^QszAYV84cgg&V;_ zDBpHU|AxL6e0nt4TeKvdvg&EwC0eH?G=kVK6w;>$dxZAvrwmugcEbcVno>v7iWB6W zM`$hCj#J1nV($~XX#hJ&XexC*h%B`|FOmKYrOu|sTd0$3bO4vB!gb`$C&$MWGL1HV zh4NRDw~dPa6Rp@!UJcnoh}BTY2HNgAsUK6mX=F<x+b3i@FM<^Y!qavjzDby3I4Fj$ zU@XhGdYs{1*>g;4Hl4eoD29Vu!qYY~2KNtD5bya62kRqJU};bHw(|pqC~nt|(*6Fs zqV$ULZoXXmXzlY*>b-_~A7e~@8cI`lgWYPgeJHrIk39{eVbcll4)FjKfr9jdw8HtY zd<Z}uM@)xxs3G`a#-wKbwE{$?qSH-Y*Laz!8#pcSf0nQM+h)T*0{#xMWHz$mi8EWe z(sWY(4#{lwife}aGLYoymfV@lX_Y)aIRpmmYR>n3dW06_dcKf6f%zW&bAM$lM>(yC zr}!3KidciVt^8lX5+50@)27*)e)WjCJUqy}AgvPH8sJttw79dMgdxCnpPT}l+<Ftt z3Fb~Jgq@+9FQH|eu{C`uYk~T^<IlVQEy&w|J?*`F4r45s`~j~CDiRv_>7bbCx+1iP zo`XB=)-*b*UZY|P;kSaO%&hngi@F<OcPoPHUIeA1k&H9wLN0($+SG5@c}(7Oi@FxI z{zT5Op%}%qgS�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 I`qu*g2Orm>@&Et; delta 3775 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 E4^Vz86aWAK -- GitLab