1. un-binding and exe...
- Posted by Michael Packard <lgp at EXO.COM> May 10, 1997
- 938 views
I just had a major catastrophe and I need one of you guruses to help me out. My current source code was just corrupted in the worst way (I accidentally downloaded an old version of it on top of it - I count gross stupidity as the "worst way" to corrupt something) but I have a bound exe from a minute or two before the hollocaust. Does anyone know of a way to un-bind the source code from the exe and get it back in a usable format? Once I get there I suppose I can replace the variable and procedure names one by one... =( ish and double ish. Anyone who can help me out on this can freely kick me for being an idiot. Michael Packard Lord Generic Productions lgp at exo.com http://exo.com/~lgp A Crash Course in Game Design and Production http://exo.com/~lgp/euphoria
2. Re: un-binding and exe...
- Posted by James Powell <Wizard at DJO.COM> May 15, 1997
- 970 views
--=====================_863656513==_ >I just had a major catastrophe and I need one of you guruses to help me >out. My current source code was just corrupted in the worst way (I >accidentally downloaded an old version of it on top of it - I count gross >stupidity as the "worst way" to corrupt something) but I have a bound exe >from a minute or two before the hollocaust. Does anyone know of a way to >un-bind the source code from the exe and get it back in a usable format? >Once I get there I suppose I can replace the variable and procedure names >one by one... =( ish and double ish. Anyone who can help me out on this >can freely kick me for being an idiot. > >Michael Packard >Lord Generic Productions >lgp at exo.com http://exo.com/~lgp >A Crash Course in Game Design and Production >http://exo.com/~lgp/euphoria Sorry it took so long to respond (4 days) but I have been busy. Anyways, as to your post, I have the solution and have attached it here for everyone who wants it. ----- WARNING, DISCLAIMER FOLLOWS!!!!!------- However, be aware that the use of this program may violate copyright laws if used improperly or illegally. (The program itself is not illegal, just certain uses, ie. if you RIP'ed one of LGP's games you could find yourself in a very tangled situation. However, since the code is sitting right at the end of the exe in open view to any good hex editor/viewer, it's debatable whether LGP would have any specific legal grounds to sue.) ------ END DISCLAIMER --------- RIP is a nice little program and if you like it, watch for UnShroud, the next little proggy that I'll be releasing. UnShroud will decode the output of RIP and Shroud (included with Euphoria). (However, refering the the disclaimer, the use of UnShroud on one of LGP's games would most definately be illegal). --=====================_863656513==_ Content-Transfer-Encoding: quoted-printable =97warning =8CB=3D19, C=3D20, D=3D22, E=3D23, F=3D42, G=3D43 =8BH(=ADI) =87I>=3D0 =82=8B =8BI(=ADJ) =87J>=3D-1 =82=8B =8BJ(=ADK) =87K=3D0=8FK=3D1 =82=8B =91K(H L,I M) =87=CF(B,{L,M}) =82=91 =91L(H M) =87=CF(C,M) =82=91 =8C M=3D1, N=3D2, O=3D3, P=3D4, Q=3D5, R=3D6, S=3D7, T=3D8, U=3D9 =91V(=AEW) =87=CF(D,W) =82=91 =91W() =87=CF(E,0) =82=91 =84X(J Y) =D0(F,Y) =82=84 =91Y() =87=CF(G,0) =82=91 =8CZ=3D26 =8Ca=3D{ 48,49,50,51,52,53,54,55,56,57}, b=3Da&{ 65,66,67,68,69,70}, c=3Da&{ 45,43,46,35} =91d() =87=CF(Z,0) =82=91 =8Ce=3D0, f=3D-1, g=3D1 =8Ch=3D-2 =8Ci=3D1 =8Bj(=ADk) =87k>=3D0 =82=8B =8Bk(=ADl) =87l>=3Dh=8El<=3D255 =82=8B j l=20 =B0m=20 j n k o=20 =91p() k q =81o=3Dh=83 =81=AE(m)=83 =81n<=3D=AB(m)=83 q=3Dm[n] n=3Dn+1 =87q =85 =87f =82=81 =85 =87=B7(l) =82=81 =85 q=3Do o=3Dh =87q =82=81 =82=91 =84q(k r) o=3Dr =82=84 =84r() k s =8Ai=88 s=3Dp() =81=94=BE(s,{ 32,9,10})=83 =90 =82=81 =82=8A q(s) =82=84 =8Cs=3D{ 110,116,39,34,92,114}, t=3D{ 10,9,39,34,92,13} =91u(k v) j w w=3D=BE(v,s) =81w=3D0=83 =87g =85 =87t[w] =82=81 =82=91 =91v() k w w=3Dp() =81w=3D92=83 w=3Du(p()) =81w=3Dg=83 =87{g,0} =82=81 =82=81 =81p()!=3D39=83 =87{g,0} =85 =87{e,w} =82=81 =82=91 =91w() =AEx k y x=3D{} =8Ai=88 y=3Dp() =81y=3Df=8Fy=3D10=83 =87{g,0} =82=81 =81y=3D34=83 =90 =89y=3D92=83 y=3Du(p()) =81y=3Dg=83 =87{g,0} =82=81 =82=81 x=3Dx&y =82=8A =87{e,x} =82=91 =8Bx(=ADy) =87y=3D-1=8Fy=3D+1 =82=8B =91y() k z x BA,BB j BC =ADBD =BCBE,BF,BG,BH BA=3D+1 BE=3D0 BB=3D+1 BG=3D0 BC=3D0 z=3Dp() =81z=3D45=83 BA=3D-1 =89z !=3D43=83 q(z) =82=81 z=3Dp() =81z=3D35=83 =8Ai=88 z=3Dp() BD=3D=BE(z,b)-1 =81BD>=3D0=83 BC=3DBC+1 BE=3DBE*16+BD =85 q(z) =81BC>0=83 =87{e,BA*BE} =85 =87{g,0} =82=81 =82=81 =82=8A =82=81 =8Az>=3D48=8Ez<=3D57=88 BC=3DBC+1 BE=3DBE*10+(z-48) z=3Dp() =82=8A =81z=3D46=83 z=3Dp() BF=3D10 =8Az>=3D48=8Ez<=3D57=88 BC=3DBC+1 BE=3DBE+(z-48)/BF BF=3DBF*10 z=3Dp() =82=8A =82=81 =81BC=3D0=83 =87{g,0} =82=81 =81z=3D101=8Fz=3D69=83 z=3Dp() =81z=3D45=83 BB=3D-1 =89z !=3D43=83 q(z) =82=81 z=3Dp() =81z>=3D48=8Ez<=3D57=83 BG=3Dz-48 z=3Dp() =8Az>=3D48=8Ez<=3D57=88 BG=3DBG*10+z-48 z=3Dp() =82=8A q(z) =85 =87{g,0} =82=81 =85 q(z) =82=81 BH=3D1 =81BB>=3D0=83 =86BI=3D1=8DBG=88 BH=3DBH*10 =82=86 =85 =86BI=3D1=8DBG=88 BH=3DBH*0.1 =82=86 =82=81 =87{e,BA*BE*BH} =82=91 =91z() k BA =AEBB,BC r() BA=3Dp() =81=BE(BA,c)=83 q(BA) =87y() =89BA=3D123=83 BB=3D{} =8Ai=88 r() BA=3Dp() =81BA=3D125=83 =87{e,BB} =85 q(BA) =82=81 BC=3Dz() =81BC[1]!=3De=83 =87BC =82=81 BB=3D=B1(BB,BC[2]) r() BA=3Dp() =81BA=3D125=83 =87{e,BB} =89BA !=3D44=83 =87{g,0} =82=81 =82=8A =89BA=3D34=83 =87w() =89BA=3D39=83 =87v() =89BA=3D-1=83 =87{f,0} =85 =87{g,0} =82=81 =82=91 =91BD(=ADBE) l=3DBE m=3D0 o=3Dh =87z() =82=91 =91BF(=AEBG) m=3DBG n=3D1 o=3Dh =87z() =82=91 =8CBH=3D97-65=20 =91BI(=B0BA) =87BA+(BA>=3D65=8EBA<=3D90)*BH =82=91 =91BB(=B0BC) =87BC-(BC>=3D97=8EBC<=3D122)*BH =82=91 =91BE(=AEBG,=AEBA) =ADBC =81=94=BE(63,BG)=83 =87=BF(BG,BA) =82=81 =86BJ=3D1=8D=AB(BA)-=AB(BG)+1=88 BC=3DBJ =86BK=3D1=8D=AB(BG)=88 =81BG[BK]!=3DBA[BC]=8EBG[BK]!=3D63=83 BC=3D0 =90 =82=81 BC=3DBC+1 =82=86 =81BC !=3D0=83 =87BJ =82=81 =82=86 =870 =82=91 =8CBG=3D-1 =91BA(=AEBC,=AEBJ) =ADBK,BL,BM=20 =AEBN BC=3DBC&BG BJ=3DBJ&BG BK=3D1 BL=3D1 =8ABL<=3D=AB(BJ)=88 =81=94=BE(BC[BK],{BJ[BL],63})=83 =81BC[BK]=3D42=83 =8ABC[BK]=3D42=88 BK=3DBK+1 =82=8A =81BC[BK]=3DBG=83 =871 =82=81 BN=3D{} =8ABC[BK]!=3D42=88 BN=3DBN&BC[BK] =81BC[BK]=3DBG=83 =90 =82=81 BK=3DBK+1 =82=8A =81BC[BK]=3D42=83 BK=3DBK-1 =82=81 BM=3DBE(BN,BJ[BL..=AB(BJ)]) =81BM=3D0=83 =870 =85 BL=3DBL+BM+=AB(BN)-2 =82=81 =85 =870 =82=81 =82=81 BK=3DBK+1 BL=3DBL+1 =81BK>=AB(BC)=83 =87BL>=AB(BJ) =82=81 =82=8A =870 =82=91 =91BC(=AEBJ,=AEBK) BJ=3DBB(BJ) BK=3DBB(BK) =81=94=BE(46,BJ)=83 BJ=3DBJ&46 =82=81 =81=94=BE(46,BK)=83 BK=3DBK&46 =82=81 =87BA(BJ,BK) =82=91 =8CBL=3D1 =8CBM=3D2 =84BN(=AEBJ,=AEBK) =BCBO,BP =B0BQ BO=3D=C2(BJ,{ 114,98}) BP=3D=C2(BK,{ 119,98}) =81BO=3D-1=83 =B4(BM,{ =D1(1) =89BP=3D-1=83 =B4(BM,{ =D1(1) =82=81 =81K(BO,171549)=83 =B4(BM,{ =D1(1) =82=81 =81=BF({ 66,73,78,79},=B8(BO))=83 =AC(BP,{ 10}) =8A1=88 BQ=3D=B8(BO) =81=BC(BQ)=83 =90 =82=81 =B4(BP,{ 37,115},{BQ}) =82=8A =85 =AC(BM,{ 66,111,117,110,100,32,80,114,111,103,114,97,109,33,10}) =D1(1) =82=81 =C3(BO) =C3(BP) =82=84 =AEBJ,BK,BO BJ=3D=C1() =81=AB(BJ)>3=83 BO=3DBB(BJ[4]) BK=3DBB(BJ[3]) =89=AB(BJ)>2=83 BK=3DBB(BJ[3]) BO=3D{-1} =85 =AC(BL,{ =AC(BL,{ 119,105,122,97,114,100,64,100,106,111,46,99,111,109,62,10}) =AC(BL,{ =AC(BL,{ =AC(BL,{ 105,108,101,32,40,114,101,113,117,105,114,101,100,41,46,10}) =AC(BL,{ =AC(BL,{ =AC(BL,{ 116,104,32,116,104,101,32,115,97,109,101,32,110,97,109,101,32,97,115,32, 105,70,105,108,101,78,97,109,101,44,32,98,117,116,32,119,105,116,104,10}) =AC(BL,{ 88,69,10}) =AC(BL,{ =AC(BL,{ =D1(1) =82=81 =81=94(=BF({ 46},BK))=83 =81BO[1]=3D-1=83 BO=3DBK&{ 46,82,73,80} =82=81 BK=3DBK&{ 46,69,88,69} =85 =81BO[1]=3D-1=83 BO=3DBK[1..=BF({ 46},BK)-1]&{ 46,82,73,80} =82=81 =82=81 =81=94(=BF({ 46},BO))=83 BO=3DBO&{ 46,82,73,80} =82=81 =81(=AB(BK)>11)=8F(=AB(BO)>11)=83 =B4(BL,{ 37,115,10,37,115,10},{BK,BO}) =AC(BM,{ 10}) =D1(1) =82=81 BN(BK,BO) =B4(BL,{ 32,37,115,46,10},{BK}) =AC(BL,{ 110,115,32,110,101,120,116,10}) =AC(BL,{ 32,116,104,101,10}) =AC(BL,{ =AC(BL,{ 111,107,32,97,116,41,10}) =AC(BL,{ 69,88,33,32,32,41,10}) --=====================_863656513==_ --=====================_863656513==_--
3. Re: un-binding and exe...
- Posted by James Powell <Wizard at DJO.COM> May 15, 1997
- 960 views
oops! I forgot to run that through PKZIP before I sent it. WARNING! DO NOT CUT AND PASTE THE CODE IN MY LAST MESSAGE! EUPHORIA WILL CHOKE ON IT!!!! You will need to run it through a MIME decoder first, just as you would any zipped binary files sent through email. I am truly sorry if this has caused any problems for people. James A. Powell P.S. RIP is currently at version .99b so if something weird happens while using it, please send me reports. I am currently adding a user interface that will make it work a little more like BIND.EX. I have also thought about a RAR 2.0 type of interface to allow selection of multiple bound programs for automatic RIP'ing. Any other ideas anyone? (Please don't mention decoding, that will be done by a seperate program. Eventually, they will be joined together, but not in the near future).
4. Re: un-binding and exe...
- Posted by Robert Craig <robert_craig at COMPUSERVE.COM> May 15, 1997
- 945 views
James Powell writes: > ie. if you RIP'ed one of LGP's games you could find yourself in a very = tangled > situation. However, since the code is sitting right at the end of the = exe > in open > view to any good hex editor/viewer, it's debatable whether LGP would ha= ve any > specific legal grounds to sue.) They would have very clear grounds to sue. Does the fact that a book is written in clear text give you the right to copy and distribute it? Do you have the right to use pictures from a magazine or Web page just because they aren't encrypted well enough? Ask Bill Gates if you can modify and distribute Windows 95, since, after all, the executables and .DLLs are in clear, non-encrypted = machine code? It's my understanding that everyone who creates something like a program, a book, or a work of art, has an implied copyright on it. You don't even have to say: "(c) 1997 James Powell" In the specific case of LGP, Michael has repeatedly asked for = a feature that would let him bind the full, clear source to his = games, so if a bug happens he can get a more understandable = ex.err file. As it stands now, no one can recover the full source = to a (non-trivial) program that has been shrouded or bound. The necessary information just isn't there. Regards, Rob Craig Rapid Deployment Software
5. Re: un-binding and exe...
- Posted by Michael Packard <lgp at EXO.COM> May 15, 1997
- 912 views
On Thu, 15 May 1997, Robert Craig wrote: > It's my understanding that everyone who creates something > like a program, a book, or a work of art, has an implied > copyright on it. You don't even have to say: > "(c) 1997 James Powell" And of course, all of our games have unencrypted copyright notices in the bound executables, as well as in the data files and art in the games... If you want license to use our game code you need to buy the book... =) any open source we post here or on our euphoria web site is free game though. I DO plan on posting some usefull examples of what we do on the site soon. Any code you'd rip from an exe would be tough at least to use if you didn't write it. Michael Packard Lord Generic Productions lgp at exo.com http://exo.com/~lgp A Crash Course in Game Design and Production http://exo.com/~lgp/euphoria