From d6404016211029b5328c3ecd1aaa63d2785e6b5f Mon Sep 17 00:00:00 2001 From: JamieRWright <jwright8@sheffield.ac.uk> Date: Tue, 20 Jun 2023 17:07:04 +0100 Subject: [PATCH] new dll --- BCB/Paul Kocher/Example 2/msvc/ex02.cod | 91 ++++++++++++------------ BCB/Paul Kocher/Example 2/msvc/ex02.dll | Bin 32768 -> 32768 bytes 2 files changed, 44 insertions(+), 47 deletions(-) diff --git a/BCB/Paul Kocher/Example 2/msvc/ex02.cod b/BCB/Paul Kocher/Example 2/msvc/ex02.cod index c955fff..ed5ea0d 100644 --- a/BCB/Paul Kocher/Example 2/msvc/ex02.cod +++ b/BCB/Paul Kocher/Example 2/msvc/ex02.cod @@ -1,75 +1,72 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.35.32216.1 +; Listing generated by Microsoft (R) Optimizing Compiler Version 19.32.31332.0 include listing.inc INCLUDELIB MSVCRT INCLUDELIB OLDNAMES +PUBLIC leakByteLocalFunction_v02 PUBLIC victim_function_v02 EXTRN array1_size:QWORD EXTRN array1:BYTE EXTRN array2:BYTE EXTRN temp:BYTE -pdata SEGMENT -$pdata$victim_function_v02 DD imagerel $LN6 - DD imagerel $LN6+90 - DD imagerel $unwind$victim_function_v02 -pdata ENDS -xdata SEGMENT -$unwind$victim_function_v02 DD 010901H - DD 02209H -xdata ENDS -; Function compile flags: /Odtp -; File B:\Users\Matt\Documents\scratch\spectre-db\BCB\Paul Kocher\Example 2\ex02.c +EXTRN __ImageBase:BYTE +; Function compile flags: /Ogtpy +; File C:\Users\piano\Documents\PhD\hyperproperties\spectre-db\BCB\Paul Kocher\Example 2\ex02.c +; COMDAT victim_function_v02 _TEXT SEGMENT -k$ = 0 -x$ = 32 -victim_function_v02 PROC - -; 8 : void victim_function_v02(size_t x) { - -$LN6: - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 48 83 ec 18 sub rsp, 24 +x$ = 8 +victim_function_v02 PROC ; COMDAT ; 9 : if (x < array1_size) { - 00009 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR array1_size - 00010 48 39 44 24 20 cmp QWORD PTR x$[rsp], rax - 00015 73 3e jae SHORT $LN2@victim_fun + 00000 48 3b 0d 00 00 + 00 00 cmp rcx, QWORD PTR array1_size + 00007 73 21 jae SHORT $LN4@victim_fun ; 10 : leakByteLocalFunction_v02(array1[x]); - 00017 0f ae e8 lfence - 0001a 48 8d 05 00 00 - 00 00 lea rax, OFFSET FLAT:array1 - 00021 48 8b 4c 24 20 mov rcx, QWORD PTR x$[rsp] - 00026 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx] - 0002a 88 04 24 mov BYTE PTR k$[rsp], al + 00009 48 8d 15 00 00 + 00 00 lea rdx, OFFSET FLAT:__ImageBase ; 4 : temp &= array2[(k)* 512]; - 0002d 0f b6 04 24 movzx eax, BYTE PTR k$[rsp] - 00031 69 c0 00 02 00 - 00 imul eax, eax, 512 ; 00000200H - 00037 48 98 cdqe - 00039 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:array2 - 00040 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00044 0f b6 0d 00 00 - 00 00 movzx ecx, BYTE PTR temp - 0004b 23 c8 and ecx, eax - 0004d 8b c1 mov eax, ecx - 0004f 88 05 00 00 00 - 00 mov BYTE PTR temp, al -$LN2@victim_fun: + 00010 0f b6 84 0a 00 + 00 00 00 movzx eax, BYTE PTR array1[rdx+rcx] + 00018 48 c1 e0 09 shl rax, 9 + 0001c 0f b6 84 10 00 + 00 00 00 movzx eax, BYTE PTR array2[rax+rdx] + 00024 20 05 00 00 00 + 00 and BYTE PTR temp, al +$LN4@victim_fun: ; 11 : } ; 12 : } - 00055 48 83 c4 18 add rsp, 24 - 00059 c3 ret 0 + 0002a c3 ret 0 victim_function_v02 ENDP _TEXT ENDS +; Function compile flags: /Ogtpy +; File C:\Users\piano\Documents\PhD\hyperproperties\spectre-db\BCB\Paul Kocher\Example 2\ex02.c +; COMDAT leakByteLocalFunction_v02 +_TEXT SEGMENT +k$ = 8 +leakByteLocalFunction_v02 PROC ; COMDAT + +; 4 : temp &= array2[(k)* 512]; + + 00000 0f b6 c9 movzx ecx, cl + 00003 48 8d 05 00 00 + 00 00 lea rax, OFFSET FLAT:array2 + 0000a c1 e1 09 shl ecx, 9 + 0000d 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] + 00011 20 05 00 00 00 + 00 and BYTE PTR temp, al + +; 5 : } + + 00017 c3 ret 0 +leakByteLocalFunction_v02 ENDP +_TEXT ENDS END diff --git a/BCB/Paul Kocher/Example 2/msvc/ex02.dll b/BCB/Paul Kocher/Example 2/msvc/ex02.dll index 3d5e15906cf4d06f453ff71fc521e05642c02eb3..ca4d6cb717c2c21ab28be7472631c604270c871a 100644 GIT binary patch delta 3864 zcmZ8k4OCQR8vgDu7Y3MN2ABbcA02E!5FrFTiNuPE>m|WJvrwlc70e$LN=B$t0XvYu zI4<<1dphc7Za?d(U0vx&O1o!_5-dz4&xXe`)K)J+rIkdQ-F@DRnC+bNKJWAXeBXV) z-+QOFR#RK6X{oKroz&=Kn0L8gT(p_a0we5=8CMEPTNADn2C4BY1yfc3r9xj-Un~qz z^?%j8br~0L>&u0D_}688sp`e+R<EVL+5i0t<}+6Eyq|@wIN4e<9=pmW*#b2|Hf|Qm zgvWTD5TzLv_+Nzef|>hkCJX=O(==T|Qrk}&gHZFFA7g`c!GH>Xz}67JNC03XnR~+l zRpi@FY!87s5imOl5J@R@<m(LuoJ#<#Co^9UC?l3cJx?OYFaxGjR~^*sLj#~RtOnRi z*(<2SW(^>j+UY297nzgDj3qD;7%6Xy4q%~Y>d6-#2Kb!`FpZw{B}F$A+eyC9Df$_~ zDS}AyohDX<q1OyXQ8$OkzD^}MsPUWR3kd}H(^R}j(G3(hPbtf&ws)z2H;tr^%72zx z^icF3@=YPwLn(WWfKck?Ji#*Z<&f_ZrQFboz>SEswTe50g~r1tB#-#ZCdQ6k@HZaT z3O4ZqjLx3hKPl62q>Qo6v69Dfa9B}{hwB4U|HznhYyj!?rUY=C_z!BrSNPqlJAX@2 zhD7;U{(@goO*xEuud%)x8%16Oqq)B^$DW<tF1WJxY=qO;@By$(^uQ1(Y49essC-a< z>1RceeFz2tc=+W-c&Nv4Dj!)17<+@)nJ8aC4Cyw+U(ZwHe_DvR2JtR&=0fy}1!dW3 zO7ll@2XeFP73XaEY3kA4FS%y2O1tFlmM@MyH6qV_{3tcZb$=|mee&FfRl69QqnuX6 z{rqiRf>6vq*DbG!!+bP&YYgdL$?dRbORo1*i#wI>CQ*-od=-7E!?d}w=E9+I-Y5Ix zfpRMX@=|~+ZVLPiB^`v7-k05cN<M!>QAYZs&bclL@{{noJBRii!ERylPFO81<I4ff zcZ-p{*FV8pvH`ovFWo!%4e~s571yXxHD7Xz4jvp}7OwF4fEmIA+z}8JpMu_{h7seA zWAeUVXzb#pLd;f!w=xJrPVd8b6-x!*6A&M>e=Oki_Y?_D4twg585!<R)r@355U@Ga zdOO4S9a^zYNr`)duL-<Yc$n`DoSQVY5gohdM@UWcO^PK9mfI^$Bd!_ao_yPw{S|*r zKbcR_rwIr7qxzVn=B;<Ptb{e*^06^~r=^6JvrNg4Q@+D4Nk8^VO=3L%RzIgE^Fh?) z^i?dMJkOX~AeJZL&Tj6(4zjLAJ0<QY62@i~J`ujb0mGOF=fMD5Z3G^Chr5Oo<n<$% zKbOufSBw$OZ~Es4489s=gtr@xYpz}AH9@h0p1%@g58i)WQ83+p@>(<-vdUlZ{{+nt zGP&Mp4Ua~w-s{w+d51#ebz_E~ynx?tjPZR6rflcM#%aQN-fFZ8tN5G7xsi20sNI=R z`un9A4#qg>!R;YOa6gm1a09}s?-0oN*2!KXxrS}V!{P?CXgJY9t7pvVY!p|(miv(@ zAO8MMC1&}r@SrUJ^b>MBf5wzhV?rKtpLIU&`bnr-FLxjrLrQ2k=d`1a8+aSY9k^F; zFsUvL_4=l2SEgWS>1&MT;trfn$<?iVZ>$kdpaIsc4~k6EFwa397heMk2L+75wxaWh zi08^yAJoHJvCetH#^BbAisG!6RvX?2!RfE#Wx@NSmVHO(2}K3gpL6<2TP@G8RwoCY z@D`IftQ;n5K3l1+?{n(q24v$9p5@C!CPvIf2nXY=(@!?xo*Xht?oTj^sk}90N`3?d zjrILH^yWSdw+@cMc9^#(7c-k6FSv$Me(aC({@AZ{|GF)(g%XjjZYNjV^;KLK8Xp>8 zM-x@4b$@g+@rVzN?{hvUG*URm9idj?0N)atEo|ZKp-Y4*JkV^5w$|d&o;-WDV(|sV z9P2Seok#MKKjjO|TZQNNDf1Nbt#8!zPWN{9P)X@06iWd&SXSvSAb?H(F|V?0x0b6{ zX;uZ!%1{U{I=TpOWUhMngs^n$JiPNIPgV|&`Q6c1DH_jP!i>rJxs)Lue*h}!Ln-M! zDYLsu=(+opSrW%`_C3JA4!7~)u)xIY64Kqruvi<=FgMAYo75|1zE@?zb(H8q3|07p z$8cNt#GqT-e)U}2#$&@njd)}e^^w$#K9pQu9zG%Jiv{F(PjY!{b2GhLA`!`>9FO<` z|66!s)UMygZHVi};&psDd`8y7-^QoqdBk_fMXM~PU<@b{rAnE-YMsMw#BSF);6_#9 z{AJNEiDtnge)W5*r5mpW*D+MnZTvHqLH$W?Lq4_iSeElQBAy6}T7mr(cXhU6l)6M8 z9&gRCyyC!{#?>w4G>JPwhx~HfqK8*n(^8hh>=G-NkG&ytnhZ~X8joHv8(po~IB+=N z=<o$^ido9fSd&vG!{O@Ib%|jhw7Z%_GuWJwPFv+nSGTQ8ytRxmI#x~M&1L-F$mp2Q z;K*)@>4Tz6HGy7kmG)F@V^eV_j$K*a*md92lkUwB%aCT=F+RMW9wqKZH4W)!6@O8Y zJw+akidq$YRn!6b)ySzU8&$Je#ce8XSFuIKNl#PrA5=b~;;4!@RQy@R6g7vbs8La? zqOXcN{`aV8Z8|dBPDjlT=6gjg4@;h^{cwxw(V6(7tPtTeUzrsaeY6X2S-Nf>?d-{3 zN*AT%{z|n6t2ocf5E|P~X0=7~mZEB{t(MjDe->HVVwZ&qY2)9)^xZHE5?u}{2ElJU zrU%EzC@Vs&sJJb7(P8bZ#Y=LQ6ddSCUi{6bdAm=qf4BV+XDeOF^JY1gZZ3Utv!i0& z%1z~tobswoW#ubNHakkIQ`1r^N>;J9O~ucNvCAiqecYJQu?zACY*zYR2ERr&f1)%z zKR7_k0;cO&z+&GDYN16&xrMRqkf(3AC;@*R!f)FLz>nS)C%c2<=<z-a^+I)8@QHd8 zatN(%@_&`Cz7ts;!`Ro5>xg{aHe=0fpVm|zW=<PN^}T@gp!VZJyMR`oR(&tNly|l5 zS+`olQ+-S?l-W#a`@TqiDT%R@kJ|dyoKcjv)UsZorW)UO-H>W0W1m5Phw*wV8JmeJ z--YPmAAk<Vw|XsjBlHK5x53Xq&yHZMAKU@0v!XBX>Clfr2Ecbiw?kxbFZ3D6ZtR-I zNPH$ovKlrOMlTF)6l0a(X6Qsn8F(sm5o8;93G`Et7r|?x2OtlDk3uIzGxiMlbZ7}u z4_*NM66AjHx1jICH0FUjpnrfc@aPHn3zIzo4PoR#J0UsXwa`Z)qo{fq+GiqTSHW%2 z8*CUoa=g$tAg_X(V;L)jyaoOu^tX_1aNQ*I2k8fY2)YF#gR^_E!y&Au3KfH_fs7(x zw=-4+(ZSyXT^-Mu2|P7}u{1~mcmedokW_Hms!oU&#nC3Djkgw@^c#>0aN1Tf<SlU8 hNCvz!>{JAPZMuq4p*2;1=*h<dgiqU6KJ&8A{{U#>GO7Ro delta 3939 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 -- GitLab