From 53f1cb89f6ed0c6b2eddb3849e182e4e48ebdbd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Sat, 3 Aug 2024 18:58:13 +0200 Subject: [PATCH] Fixed: AS1/2 debugger not getting variable details properly Added: AS debugger - DontDelete variable flag (0x2) --- CHANGELOG.md | 2 ++ lib/flashdebugger.jar | Bin 253445 -> 253481 bytes .../decompiler/flash/gui/abc/ABCPanel.java | 10 ++++++++-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 10f08ac8f..1ac063150 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,7 @@ All notable changes to this project will be documented in this file. - Exe export mode can be selected in in Save EXE dialog (select filetype) - wrapper or projectors - Optimized (faster) context menu for large SWF trees - Optimized (faster) deleting items for large SWF trees +- AS debugger - DontDelete variable flag (0x2) ### Fixed - Debugger - getting children of top level variables @@ -92,6 +93,7 @@ All notable changes to this project will be documented in this file. - [#2226] Incorrect decompilation of continue statements in some cases - AS3 Embedded assets export - assets.swf not working, incorrect binary data extension for swfs - Duplicate pack path message on compound scripts +- AS1/2 debugger not getting variable details properly ### Changed - [#2185] MochiCrypt no longer offered for auto decrypt, user needs to choose variant from "Use unpacker" menu diff --git a/lib/flashdebugger.jar b/lib/flashdebugger.jar index 05e7145bd1c0fb79560fa14908f1f886b0ed02cf..20b39957bdae2e08181ca1675516297656d51d89 100644 GIT binary patch delta 3125 zcmY+G3s6+&702)Q9oSu19?L_FBA`)YSOFJ;5d#&mQf*MQ5o<^j#X%xQEf~{@Rm&s9 zXDFiA@n~D);$T1?g2+P@6-9iDprTm?glTHhNQ89gOqi6|bMLpi2s4+x=Xd_+@qOR9 zcXwNZ`|$>Mx5aVb;4DcxN&4?LNZji-#dUx_-{1Oqa*rfQJ$vUY;-TRu_n8>{$9y=a znbkEjR_5lQi0l4jVB@vo_RwgC*4yv^)((QYPGsvf;x;3Y{oPsI`h~L(t=b)tY-ON_ zlB_Ss)9enCq+CIA8y_b({!52`Da_j;SSxW%o5}=AOkwjp^m7-*C#;woyC60pmI5SR z_hkx8WXu!SuVH&}*J_sKJ4OnWG!m1vieEC)e;?}K)Dr!u;Dop&mPN2y)mfbdDnY(-_c$l4D}qp7?_mRaG!zra_ZbFj6i_nG20Zb4F{Mv`RRw4`4pF>4 z*yeS{jmN>ngJ%kF<8g@K@5~ck!*qjuaGndk(he^8s}k_%QE%HlxU+=f4t{0@6FlYa z&ve*VLZ!?*>=5UdLKrW~wF9{?SA!L$q{_S?VD~s3{!&WY{M{V^{98xi>M~MnY!krb z=z$l?Xgi#+zYJ!NSEgu+LwxaljU*{on0@ahsW3a$fIpUjFJ^f#FU%+hPgTEX`KaG6 zp#f1YWkPI!h1t2Ig}!kP)8hluiz(?Xhp~K0fbf}r!(7pH!kX)!K3l(;Om&qj#FmIY z3$vw(LT{MF+%eatx4inls>L)m$`v|7zadcQD?@0YpOIeFW))Q15H5VdaLb(GDW8k}{Cq(AHy$=$x79V#deI@_O+UokP}fX7Z>xr}tO(83kjnpDfE#KcM9%NhVss77Q!b|05FcBva1;Ku zoc7M6ma06gP?b1T!3<*UduwU!2de}=U&TDIx0Z@`)e4ecPX!a|DAaUTkm@>klgH4E zD;1wuwD`vhOoQ`pQcp8ZQ?7(2p=)en4w%tIzAsKw!l7mn;n(SmeW$6%XdGV;%lW-q zVr9qc=`?i~VXSz>oH6zR?Qq~3C1sb2<=M%v;Px}r%fGvAK##o&nEjmyG(TsKxZo_k zC+76pi3U%cCC%J^5tN^*$Mk;c>xG4SHa1X!6F&)YS_3_GAP_An=Ly0^gMN7@f6^Kw+QW$ zMDo-SVYG&DXY6dG+@nHOA_rJ#`aV_-s;$5hFHn7d(808Vdi5AeGr%gYMh84wJ7^7o)Gz;&$h})I!b7yGy?PQ6CSt{o60>l%&Er~eRJV|vdKzr9Am(oq|r$K*PJq+*O|fvLEs ziprKNr00a4IHA`KB7-%8q~CyW{z1Jkvg&EYPi|1fBNtU7`!99DmW#9mdSe*y-J8^X z`%NJ}a+BU0w_AnL-%63{d*iiRw9mUS<`#YZI$MOd5exYKV6LEGVGUYSq&3l{^QU@tv(;1ijwMpR__a)VW%%*=;bJ z?Z@mkNP-wID|EXHaiASzwTxrH8T0Q_j#Iu?6zvC&*n1aDu*%y4_Ss2}0K#O>VG({HDIAjUDD2GDnJJ-a|Y*$DSc5Md_OnpQLzhjpmjgKhL++1Pg z=Ys>T%cUswTld?%5z89Nv#Ye2|CqiZ&fvwzkixg@7mg$Q>3otp=p5D@vhLf^->9?m k9i)xIz79x+fiG202 delta 2953 zcmY+G4OG-s7Qp}SywIlI7;ohC`&3 zQNaE;?x{@lEFd7lAjmf&;zuIN5TGE6cyiM^Xt3+<(ax%S-#k8qbN=w|@7{OsefPc( zN}8N^G&$>|o?{9pNm5JF>Uwi@u708JDg2xKZfoX{BuPWLPyUevSIQ!+VKO2a*N({f9MPO_g#>OTWMD`Z+oD`E!2Y;-Pu4ARYrI<9ty&O&CSzY$oxm@WXXB4#9uV6=#N z$VaDXVGEbH*kv%)P#v7)poW8Z>aIWs-tsM@Gwj&UOtj1anVJ~*`uU6#rnPY2 z@{txDEGok)T<=8LUG}ogfG@bbrOPgleC`51Wo#zgEyGD_3K12|9ZUz=0@z#36dnr| zk;OeqN#fs<@de}Gg7ggrZo2?>xezC)zQAUBWWPCM?K+ht@y|HL_KR7jxcATd-=Qcx2mD(+#d``|Eob5O$?jWk z&h_xb`1}i)V&x3s6>NnFkzRoz{u0VVctT?ZmOu3+h_Etm&{?rP6%cM^FVK%(Ix@wq@Y`vfdiy%B6zo!t)SXQ zVU^lA)=#)yiwmFABD@Xtt6+54a{=ze-V68CmajIg;LD^bzG z1s^zD&w}W+J|Xxwu;tV=D1?Bk*o>hoL{zx8so>itbotUfVK;IggM841c5cmRw-fK37VNiW z$N&!rRYGbPM$6!;Y}L3*4Yp=nM!m)kAm9iKp<08`?(KJkGy_glpT~*Ur_qP|aCn+9 zYH@Xh2S>2#rC@4dv3P&wwy+p73r1VmR+{D`tU@nnVE0kX^{D_6=wJXffT|TQf>Dz& z@$Oeb>|&%17cklTVfX|2h zwCvbDrAzB}i%P|q9YAv$XI$Dh4)C((AgmZj2j2Su?YN$bV$3Y8mv{R#Ce>U%p$nnC zhlLPcL!DqxJLVHoFUX!|s)l>*=tJuw#BSj!w}UOEKlcgY$VFV{-41k{KOo4tK@1&x7Q6E`!oe3id)Rygj8*|M|Bth`o(1v+ws0J2Ca% zI|7H_Mcm$rZV%rR#QQ#Vft5{IswZt|XjDK~FP0Ip2KFlO!Y;F+^>rtKSr;x$)(PRh z4l9F)(MVHpXYg4A2Id3 zj8q>Yh;=z8kl%|bjjZG(juu8hWgj;7t@HRuc&!n_muuK`u(V;G!{;%=8_x^u{~{X; z{A@IP_#$zO76v<`*=&A1jWlz;Ag+CQr{>2AA!Y+p!uCEM-ONcMz45-#e6^LSAhI7d z@u`B8_hUXo+l3HmVS3T1A9hX&oVOFw2k?DJyU2oR{O3Zrei0kxjsMjQFcait;hEr% zKWMV?mwm(bgJl4BY+f!m@rUV`FjVy4c_=^Fb_s9o)!*>q_=5Etrh^-oa6NAL?r}2m oJtq3}WlYqzXM!l;iF|(YE~DY6_$H1SD!^%w%~pmLFns3!4@Bk{zyJUM diff --git a/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java b/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java index 623249c5d..6e822f91b 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java @@ -364,7 +364,9 @@ public class ABCPanel extends JPanel implements ItemListener, SearchListener 0) { flagsStr.add("dontEnumerate"); } + + if ((flags & VariableFlags.DONT_DELETE) > 0) { + flagsStr.add("dontDelete"); + } + for (Integer f : unknownFlags) { if ((flags & f) > 0) { flagsStr.add("unk" + f);