EPSファイルの修復

最終更新日

Comments: 0

先週ぼそぼそっとやっていたヤツの続きです。サルベージです。ある特定の方は頭の「サル」に反応します。ピポっ…古いです。まあそんなのはどうでも良い事です。データ拾います。でも壊れています。今回のはEPSファイルです。
まあ、良くある話です。数年前のMOとかから取り出そうとすると良く見受けます。色々とディスク修復作業をやった挙げ句読み出したデータが壊れていたとか、全く笑えないわけです。でも、嘆いてばかりではいられません。前へ進む為には血の滲む様な努力が必要な場合もあります。さあ、みなさん、わたしの屍を乗り越えて前へと進んで下さい。

ヘッダが壊れています。しかしながら本体が正常に残っているケースです。

^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C%%BeginSetup
%%EndSetup
%ImageData: 3796 5526 8 4 0 1 6 "beginimage"
%BeginPhotoshop: 15892
% 3842494D04040000000000071C020000020000003842494D0425000000000010
% E8F15CF32FC118A1A27B67ADC564D5BA3842494D03EA0000000017FF3C3F786D
 ・
 ・
 ・
M&mSu;Z0;%./s9/lp%K&s4I‾>
%%EndBinary
grestore end % Image Trailer grestore
grestore % EPS grestore
[{nextImage} 1 dict begin /Metadata {photoshop_metadata_stream} def currentdict end /PUT pdfmark
[/NamespacePop pdfmark

こういった場合は他のEPSファイルよりヘッダ部分をコピペして修復します。

%!PS-Adobe-3.0 EPSF-3.0
%%Creator: Adobe Photoshop Version 10.0x001
%%Title: dummy.eps
%%CreationDate: 10.8.16 10:08 AM
%%BoundingBox: 0 0 683 995
%%HiResBoundingBox: 0 0 682.74 995.22
%%SuppressDotGainCompensation
%%DocumentProcessColors: Cyan Magenta Yellow Black
%ADO_ContainsXMP: MainFirst
%%EndComments
%%BeginProlog
%%EndProlog
%%BeginSetup
%%EndSetup

この様なのをコピーして来て破壊された部分を差し替えてあげます。データ本体は%ImageData:〜%%EndBinaryまでの部分です。データの仕様は頭のImageData:で記述されています。この部分とBase64でエンコーディングされた本体部分の整合性が取れていれば問題なく開くはずです。なお、フッタが壊れているのはそのまま開く事が可能です。エンコーディングのかかった本体部分の破壊は…あきらめましょう(^-^;)/

もう一つ例を挙げておきましょう。

ÿÿ © %!PS-Adobe-3.0 EPSF-3.0
%%Creator: Adobe Photoshop Version 14.2.1 20140207.r.570 2014/02/07:23:00:00
%%Title: ì¬qÇàcï.eps
%%CreationDate: 2014/03/25 14:00
%%BoundingBox: 0 0 425 284
%%HiResBoundingBox: 0 0 424.8 283.5
%%SuppressDotGainCompensation
%%DocumentProcessColors: Cyan Magenta Yellow Black
%ADO_ContainsXMP: MainFirst
%%EndComments
%%BeginProlog
%%EndProlog
%%BeginSetup
%%EndSetup
%ImageData: 2360 1575 8 4 0 1 6 "beginimage"
%BeginPhotoshop: 10426
% 3842494D040400000000002C1C015A00031B25471C0200000200001C02370008
% 32303133303833301C023C000B3039353733362B303030303842494D04250000
% 00000010A217CB9E071F9D1A8C414D9CD22C22503842494D043A0000000000E3
% 000000100000000100000000000B7072696E744F757470757400000005000000
% 0050737453626F6F6C0100000000496E7465656E756D00000000496E74650000
% 0000496D67200000000F7072696E745369787465656E426974626F6F6C000000
% 000B7072696E7465724E616D6554455854000000070037003000300044004300
% 5000000000000F7072696E7450726F6F6653657475704F626A63000000056821
% 6B638A2D5B9A00000000000A70726F6F6653657475700000000100000000426C
% 746E656E756D0000000C6275696C74696E50726F6F660000000970726F6F6643
% 4D594B003842494D043B00000000022D00000010000000010000000000127072
 ・
 ・
 ・
% FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
% FFFFFFFFFFFFFFFFFFFFFFFFFF000000
%%EndICCProfile
%begin_xml_code
/pdfmark where {pop true} {false} ifelse
/currentdistillerparams where {pop currentdistillerparams
/CoreDistVersion get 5000 ge } {false} ifelse
and not {userdict /pdfmark /cleartomark load put} if
[/NamespacePush pdfmark
[/_objdef {photoshop_metadata_stream} /type /stream /OBJ pdfmark
/MetadataString 15868 string def % exact length of metadata
/TempString 100 string def
/ConsumeMetadata {
currentfile TempString readline pop pop
currentfile MetadataString readstring pop pop
} bind def
ConsumeMetadata
%begin_xml_packet: 15868
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151805, 2013/04/09-12:08:21        ">
 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <rdf:Description rdf:about=""
    xmlns:xmp="http://ns.adobe.com/xap/1.0/"
    xmlns:aux="http://ns.adobe.com/exif/1.0/aux/"
    xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"
    xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
    xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
    xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmp:CreatorTool="Ver.1.00 "
   xmp:ModifyDate="2014-03-25T14:00:13+09:00"
   xmp:CreateDate="2013-08-30T09:57:36"
   xmp:MetadataDate="2014-08-22T09:38:36+09:00"
   aux:SerialNumber="2004310"
   aux:LensInfo="180/10 1050/10 35/10 56/10"
   aux:Lens="18.0-105.0 mm f/3.5-5.6"
   aux:LensID="158"
   aux:ImageNumber="3574"
   aux:ApproximateFocusDistance="282/100"
   photoshop:DateCreated="2013-08-30T09:57:36.008"
   photoshop:ColorMode="4"
   photoshop:ICCProfile="Japan Color 2001 Coated"
   xmpMM:DocumentID="97E2D477F9329CF9037852CBBD3A51A6"
   xmpMM:InstanceID="xmp.iid:e864fd57-c50e-47a1-b4f7-e12759b8bd32"
   xmpMM:OriginalDocumentID="97E2D477F9329CF9037852CBBD3A51A6"
   dc:format="image/epsf">
   <xmpMM:History>
    <rdf:Seq>
     <rdf:li
      stEvt:action="saved"
      stEvt:instanceID="xmp.iid:957d69d5-ada1-4c1b-a3c7-3092740c7d99"
      stEvt:when="2014-03-25T14:00:13+09:00"
      stEvt:softwareAgent="Adobe Photoshop CC (Macintosh)"
      stEvt:changed="/"/>
     <rdf:li
      stEvt:action="converted"
      stEvt:parameters="from image/jpeg to image/epsf"/>
     <rdf:li
      stEvt:action="derived"
      stEvt:parameters="converted from image/jpeg to image/epsf"/>
     <rdf:li
      stEvt:action="saved"
      stEvt:instanceID="xmp.iid:3c3995fd-aaf0-40e1-b9c3-ed11d759c68c"
      stEvt:when="2014-03-25T14:00:13+09:00"
      stEvt:softwareAgent="Adobe Photoshop CC (Macintosh)"
      stEvt:changed="/"/>
     <rdf:li
      stEvt:action="saved"
      stEvt:instanceID="xmp.iid:bfdd0d44-752f-44ec-ba8b-fd8542884dc1"
      stEvt:when="2014-08-22T09:37:36+09:00"
      stEvt:softwareAgent="Adobe Bridge CC (Macintosh)"
      stEvt:changed="/metadata"/>
     <rdf:li
      stEvt:action="saved"
      stEvt:instanceID="xmp.iid:e864fd57-c50e-47a1-b4f7-e12759b8bd32"
      stEvt:when="2014-08-22T09:38:36+09:00"
      stEvt:softwareAgent="Adobe Bridge CC (Macintosh)"
      stEvt:changed="/metadata"/>
    </rdf:Seq>
   </xmpMM:History>
   <xmpMM:DerivedFrom
    stRef:instanceID="xmp.iid:957d69d5-ada1-4c1b-a3c7-3092740c7d99"
    stRef:documentID="97E2D477F9329CF9037852CBBD3A51A6"
    stRef:originalDocumentID="97E2D477F9329CF9037852CBBD3A51A6"/>
   <dc:rights>
    <rdf:Alt>
     <rdf:li xml:lang="x-default">                                                      </rdf:li>
    </rdf:Alt>
   </dc:rights>
  </rdf:Description>
 </rdf:RDF>
</x:xmpmeta>
 ・
 ・
 ・
<?xpacket end="w"?>
%end_xml_packet
[{photoshop_metadata_stream} 2 dict begin /Type /Metadata def /Subtype /XML def currentdict end /PUT pdfmark
[{photoshop_metadata_stream} MetadataString  /PUT pdfmark
[/_objdef {nextImage} /NI pdfmark
%end_xml_code
gsave % EPS gsave
/hascolor
/deviceinfo where
{pop deviceinfo /Colors known
{deviceinfo /Colors get exec 1 gt}
{false} ifelse}
{/statusdict where
{pop statusdict /processcolors known
{statusdict /processcolors get exec 1 gt}
{false} ifelse}
{false} ifelse}
ifelse
def
40 dict begin
/_image systemdict /image get def
/_setgray systemdict /setgray get def
/_currentgray systemdict /currentgray get def
/_settransfer systemdict /settransfer get def
/_currenttransfer systemdict /currenttransfer get def
/blank 0 _currenttransfer exec
1 _currenttransfer exec eq def
/negative blank
{0 _currenttransfer exec 0.5 lt}
{0 _currenttransfer exec 1 _currenttransfer exec gt}
ifelse def
/inverted? negative def
/level2 systemdict /languagelevel known
{languagelevel 2 ge} {false} ifelse def
/level3 systemdict /languagelevel known
{languagelevel 3 ge} {false} ifelse def
level2 {/band 0 def} {/band 5 def} ifelse
gsave % Image Header gsave
gsave
newpath 0 0 moveto
0 1 lineto 1 1 lineto 1 0 lineto 0 0 lineto
clip newpath 1 setlinewidth
/setcmykcolor where {pop
1 1 1 1 setcmykcolor
100 100 moveto 101 101 lineto stroke
} if
grestore
/rows 1575 def
/cols 2360 def
424.8 283.5 scale
level2 {
/DeviceCMYK
setcolorspace currentdict /PhotoshopDuotoneColorSpace undef currentdict /PhotoshopDuotoneAltColorSpace undef } if
/beginimage level2
{/image load def}
{{pop .9 setgray 0 0 moveto 0 1 lineto
1 1 lineto 1 0 lineto fill 0 setgray
0 1 translate 1 cols div 1 rows div scale
/ratio {cols 400 div mul} def
/Helvetica findfont 15 ratio scalefont setfont
5 ratio -20 ratio moveto
(JPEG \211\346\221\234\202\311\202\315\203|\203X\203g\203X\203N\203\212\203v\203g \203\214\203x\203\213 2 \202\252\225K\227v) show
/x 128 string def
{currentfile x readline {} {pop exit} ifelse
(~>) search {pop pop pop exit} {pop} ifelse
} loop } def}
ifelse
12 dict begin
/ImageType 1 def
/Width cols def
/Height rows def
/ImageMatrix [cols 0 0 rows neg 0 rows] def
/BitsPerComponent 8 def
/Decode [0 1 0 1 0 1 0 1] def
/DataSource currentfile /ASCII85Decode filter
/DCTDecode filter def
currentdict end
%%BeginBinary:    3652448
beginimage
s4IA>!"M;*Ddm8XA,lT0!!*&R!(-_f!WiH*!sAZ,"9eo1"9eu5"U,&6#R:S>#6tMB
#mgnE#mgtI$O[=M$O[@O$k*OQ$k*OQ$k*OQ$k*OQ$k*RE^]5&S"t'^:"9B)7!YGD7
&HDqG!<:jT"9BnM_uS3c!!!6)!<E3%zz"9el/"p"]/#RLhG&-)b4!s8T-!X8l3"9Jc/
Erc=E&Hi(;+VHLq;$I\B,&r/J16J78'sU(M_,A\>1DXHh,]\M,,ssLfP+o6lF2Be&
-^1=32A]>'FMlPd#UY01$5aY6PXS';ZrYXU-lV[:o>K/>oOW0!Q)1n-e`HI9G(u<[
[`6n\p,>KCB6T,tVmj^ukP$r,=D2r8R&IO9f]`)Z3D!@fH&7rg\]NOhq'nEt>&&A@
R]<sAg?SP7g&MTc!<<0$!rrH(!'^JZfB'Cm)B_g"N3qqmk22KcjB590)eY)AM&3:n
PZFTM9bd?V5<nsF%cci<odMrRg`<W9q@Q7FO6n3m:WjCB`%s7>9ctF(8eO5;__uWH
*Qu\Q<N:RQLLHAG!%^YRmErDGj64DLb?NXBe3:%<=o!:@>hCOg7HVZ#5nt7[]G.lB
O**PFj3:-D?<epglH%5bb.gD^.@t-r/Qh@?@PRt)3*X2BGP.=CoB"^g6Q:`Q=]c>3
ZY*2,lP!gE0eB0A+)L7L8<T:e.WcYaCYQ`i+8J-?mqjj`ZO%=$nK51*F'q^2\QEZs
`2ZV<`H=&8SB<mLP_7q"B:.\Eo#a@cK"P"`;o+"/MeI.7e/fq(dLO$q!dRa,/?s:!
T(VU1Hia%kG`[ab_"sRg.g&$:lX(Xa%$3#G8Zq]hL)`K^XX&o&mQ[jsfO9M/$M!HJ
"'%"^7=V1N%<"6FE[l1nebTaffT(8bVZ-Y&.3C#ZL&!e!8*0W8D*a1J.HD"YVl9GJ
@N)V*9/tbL58M%Eof"6l.\KdGA(Ls$L.t$$oc/^?A.B;r"D5o!i(7i@hs?r(iF]%(
>MDeC\&2**mua4sbns_Ikb?/Jpq@EaJs>0-d@2H]?$D4O#XP-VU22[8IrXTNBuHD`
2=!uO?:O?Uh"dX[XP0B)5F1<BHY+/aD^F3k`M2..j2eOKTncHY>kW)tDM(9==-"\=
RZ%Do48h2)T?8[KL>l=V5947!6Oqqlh0njBjLN3-d>8//!!JO$D3>:FKrY?6+-7``
l!!lUq.0A0\W;lY]8P2jKS*'Un,6`Drb6.kR4V_lA20Z.^]<c[8a\V]*0b`+8:<d>
/7lXb`Q6](T8;][r&aJ.OGBD_)5oINDD^!n_8UeR@u>Qb'rs^?)L\&rq2a'\T9fKW
</%-)(oo0*63&P6^H^\4rrA=i>JkS@H.2r#?n/P\2*JeQ`ZI"O)'KI3Vk\G2AC>^7
R3a/)"_r\EjhCQS9fn#U]e<3G+>"h,WfLP/YH1YbG7&nmOp3PnWr.F`.r;qlW+mY[
glDsJo>"5?nu-o8qT@=jTVouI%FqRLq?O9:&OJLDMM/29ii)]hJL%I8a@,H11el0P
m\?^2hqJ3=-e?<GLLR0!5I3uTrjZXhqU'^tjh3r+!<cG]g7QD/Fr&P3,H0U4%*DBu
$!R;#III<maaFh,gqTdn\28SZ-Y<U_pD>BqI8NZr`2%$d[FgMX@pu^QJ.Z=?2'"q,
M>(?ZK2&SS\m();V"Ao_iY`T=*l3uM!\e2fS/QI'dfW)D.l;)8N/iIa4e(X*_"Z-@
]Ih^2WX*2W&!,+gmmpD[i,Qr%Tl%fiooB]?P$+U<=!"H'*%S'IGQV7;:?-coC6?Ot
gVF$:m-LgZ8R<NlhO@Ml&V9AR@tnBF>##-X"\Td.VbA_Q^JT6[7]2+q)"1C%f>=/?
'P^Q>@<ku*mX7Or_+Kg^kg\i_dr"T<;q2Z8;%Z3U0LYQcW?f0'2*+\+_^7(5Bf3*H
;*YXl_j$4I(+(Ma;Liklo_NSsD[iNe\@Pem;0]kC&LDc$L.bs,fVC:@<?V[f^]]mJ
rUd6?kT/_b5jkAMrGq;"9/`(a;-I[K3O_jZ(T=CU!kZJ"duf_Ec.EYUcshuMoi@A<
N))"H;_]$Od+?:.qdj!f/2@KCPl5!hhdESW^q3"U,q"fZTE.FNaM*_0qR=Wubb<pX
.S/G"PWaN<p?dMOIBph7+4b&"m&YI(8L`G>*t/L2.lfb;=,_e*NqKS\W!#"6I<n0#
+>p?4?FB=F6>3E:0;;U4G\QF::+a!Zq"S9WV6.1eE,Q#,Y+d&>F]'1GEpHZ_M[P8L
bcs<W%esOU"8Z(7XJS%`,*XrK!u8AqD>9U4)jaSOPa)s`No88ch[Ju4MGI#Ee#02Z
-Rpe:;lJH#Q;P8_BM;;9cFlanD[KudGo.fSeAurWW8$Ef95AP?=QS#oMFljj,ik1:
]m\5M!Que=QI/2:nNF\K)q73^;qdf.Pd//=',;KiGb5Uf1pR^6,UphM3&+aP]5R)q
9W\Y;]fPE@O=Wp6L(!^CO,6"iiS+H;b1>9s]:(VLQ7ku-+,QVt8aGs3gBL(pO-B+3
)UKRB<!].8<^j$=:YkDmG8c1\U!EK<5f0%Apdt3)^YRWQc-O>[Wt5:tgS*8B/%p,B
;7pc]q9V[?:^';u=I%nPNYG$X^njIaV@c+*Ch/dqLtpVr$BL$=h,nn1ID)2QW^Y*q
1WRcU$dD5?m<B,Na]9U?gb7A''h(--@,!1;<C+)$A0[&'[]e0Nl%KYb3RkYg*fXJ!
?Cj<g#8mu9WYJ&aE[-7ma4dEKf;DB!"/0C;0gl=8[0LLXP6bICdf%ciY<WVGQR!2$
]1?UE,EYtF\H8GU^gQpTmGaEd%;eY0$+4QY2=MG+/cm]!kW&,1ECaRH$k/i&l:lX!
gED_M1<Pp%""U#hL`A\bWdg"IWZ^gRW(Rc9%&(BJ3:d$3r-e)`i`M8EA7dT?4W!3R
D7uGD7k@cITfeCQ^FE[iqHE+B43perT&amV8>&9YILhd"(abA^Vms?aAXZ32mhO(_
1Ks\jnF47mh5jRd;UsL7LX.Gp"gJ[inl@*=3Y-<!JtpjK[/dFs%2pq[=9,DWPCb0o
O;)54;BjWRYZ1@7o^Tk,Q.#gip]W'Fp&</9F#2,tMj>d'E8h*%!)J>AXi%eGHDD_d
Ko/\_(&<%=MU+E:nuVSG@YbcY@K72hg^]^A<h_%3=O<X>2$UEOis_\LUp3;8Vh#l$
8+amqf"20d4B?XD$3("=E5_5gp`A)8FW=?)kZYIa<j'i`Ga7$'gjH?G>B;QTOSgs&
hs%rn$6tL"-m0'17b`:K*&btqns2aG'e8$,(AVhuj-ja@BNOLn:f&iSq`pTnhfF?B
Ys?KMG2,oVLbVoh;M:2meC=Ec<08cEY)fMLT3#Y8W(dRGp4:s2Pf%2)l*JBa-?Wj"
44O8V4'/;)C\&d.l^+D++<0hqU!GTF@El\j\mD.u8l-P>rr?Xurr=onQ7*l=Z7Ok$
`WK'8/1\L2f0$84U7sf"oi.,H.F8R!]sEOPb0f!"E?(MUgS_c)*Ek6FirCPH2U<<;
NY\qM*md:^8JuMF7B_.2Q+3O/I\A>9>+.LW#B%'cPTQq@>0mm3HfS7!A<t?qM1fIg
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: Adobe Photoshop Version 10.0x001
%%Title: test.eps
%%CreationDate: 10.8.16 10:08 AM
%%BoundingBox: 0 0 683 995
%%HiResBoundingBox: 0 0 682.74 995.22
%%SuppressDotGainCompensation
%%DocumentProcessColors: Cyan Magenta Yellow Black
%ADO_ContainsXMP: MainFirst
%%EndComments
%%BeginProlog
%%EndProlog
%%BeginSetup
%%EndSetup
%ImageData: 3796 5526 8 4 0 1 6 "beginimage"
%BeginPhotoshop: 15892
% 3842494D04040000000000071C020000020000003842494D0425000000000010
% E8F15CF32FC118A1A27B67ADC564D5BA3842494D03EA0000000017FF3C3F786D
 ・
 ・
 ・
M&mSu;Z0;%./s9/lp%K&s4I‾>
%%EndBinary
grestore end % Image Trailer grestore
grestore % EPS grestore
[{nextImage} 1 dict begin /Metadata {photoshop_metadata_stream} def currentdict end /PUT pdfmark
[/NamespacePop pdfmark<sag?sp7g&mtc!<<0$!rrh(!'^jzfb'cm)b_g"n3qqmk22kcjb590)ey)am&3:n pzftm9bd?v5<nsf%cci<odmrrg`<n:rqllhag!%^yrmerdgj64dlb?nxbe3:%<t:e.wcyacyq`i+8j-?mqjj`zo%=$nk51*f'q^2\qezs `2zv<`h="&8SB<mLP_7q"B:.\Eo#a@cK"P"`;o+"/MeI.7e/fq(dLO$q!dRa,/?s:!" t(vu1hia%kg`[ab_"srg.g&$:lx(xa%$3#g8zq]hl)`k^xx&o&mq[jsfo9m="" $m!hj="" "'%"^7="V1N%<c[8a\v]*0b`+8:<gllr0!5i3utrjzxhqu'^tjh3r+!<cg]g7qd fr&p3,h0u4%*dbu="" $!r;#iii<maafh,gqtdn\28sz-y<ku*mx7or_+kg^kg\i_dr"t<;q2z8;%z3u0lyqcw?f0'2*+\+_^7(5bf3*h ;*yxl_j$4i(+(ma;liklo_nssd[ine\@pem;0]kc&ldc$l.bs,fvc:@<?v[f^]]mj="" rud6?kt="" _b5jkamrgq;"9="" `(a;-i[k3o_jz(t="CU!kZJ"duf_Ec.EYUcshuMoi@A<" n))"h;_]$od+?:.qdj!f="" 2@kcpl5!hhdesw^q3"u,q"fzte.fnam*_0qr="Wubb<pX" .s="
" g"pwan

<b,na]9u?gb7a''h(--@,!1;<c+)$a0[&'[]e0nl%kyb3rkyg*fxj! ?cj<g#8mu9wyj&ae[-7ma4dekf;db!"="" 0c;0gl="8[0LLXP6bICdf%ciY<WVGQR!2$" ]1?ue,eytf\h8gu^gqptmgaed%;ey0$+4qy2="MG+/cm]!kW&,1ECaRH$k/i&l:lX!" ged_m1<h_%3=o</h_%3=o</b,na]9u?gb7a''h(--@,!1;</ku*mx7or_+kg^kg\i_dr"t</gllr0!5i3utrjzxhqu'^tjh3r+!</c[8a\v]*0b`+8:</n:rqllhag!%^yrmerdgj64dlb?nxbe3:%</sag?sp7g&mtc!<

頭の部分に正常なヘッダが見受けられます。しかし、下へスクロールして行くとデータ領域途中に再びヘッダが現れる例です。
このケースでは、ほとんどの場合2番目のヘッダ以降が最終的に書き込まれたファイルです。2番目のヘッダ以降のデータ構造をチェックしながらフッタまで確認し、構造が正常であれば2番目のヘッダ以前の部分を削除して保存するだけでファイルを抽出する事が出来ます。

ten_a

Graphic Designer, Scripter and Coder. Adobe Community Professional.

シェアする

コメントを残す