************ Sub: Blitz! and Deblitz! Questions (and hopefully answers) on protecting Blitzed programs from Deblitz ------------ Category 4, Topic 3 FINNER [Tom Sawyer] I have seen a few programs out that Deblitz won't decomplie. Does anyone know what techniques these programs use that protect them from Deblitz? When I write a program, usually Blitz is my only protection from people getting a listing, but Deblitz always gets me. ------------ CHARRINGTON [Courtney] To keep a program from deblitzing, try this: Use one of the old simple tricks that people used to use to keep people from LISTING a basic program...like a shifted "L" in the REM statement. The de-blitzer will hit this and generally bomb out. ------------ FINNER [Tom Sawyer] Courtney: That doesn't work. Blitz doesn't compile REM statements, so that isn't included in the final output. Any other ideas? ------------ TIGLON.G [Gayle][SysOp] Tom, (pardon the question ...but) are you using a 'cracked' version of Blitz!? ------------ FINNER [Tom Sawyer] Tiglon: No, I am using a purchased copy of Blitz. I also (should I mention this?) have a cracked copy, but I figure as long as I paid for it, I might as well use the legit copy. What does this have to do with De-Blitzing? ------------ TIGLON.G [Gayle][SysOp] Tom, a few people I know who compiled the programs using a 'non-legit' copy of Blitz found the ending code undeblitzable. I doubt that is the problem in most cases, but was just wondering!! What type of programs are those that will not deBlitz!? ------------ GRAFIX.M [Mike Hooper] There are also a couple of BLITZ clones. One of which I have seen that came from Germany. Altho these clones have the same general appearance as BLITZ, it really is different code. None of these will deblitz. Austrocompiler is the only one I have really taken a close look at. And, while it is a tad faster than BLITZ and can produce it's p-code a little tighter, it does have trouble with a few routines. RS-232 in particular. You might want to try one of the other compilers available. BASIC-64 does some nice work (altho the code ends up larger than BLITZ) and has a couple of super features like defaulting to integers in place of floating point variables (if you select it.) It does make for more compact code and they claim it WILL run faster than floating point routines. ------------ FINNER [Tom Sawyer] One program I recall in particular was 6485 BBS (lousy program, byt the way). I tried Deblitzing this with two different deblitzers. Both of them got about 10 lines into the program and stopped as if that was the end. The line they both stopped at read: PRINT"This program will not Deblitz!" What I want to know is how did he do that? I tried calling the author's BBS, but it is for registered sysops only (who registers for that?!?!?), and promptly disconnected me at the expense of a long distance call. I have never seen any of these Blitz look-alikes though. Also, I do have BASIC64 and hate it! BASIC 128 is ok, but I have had nothing but problems with BASIC64. It seens to scramble a lot of the disk accessing routines. I know there must be a way to disable Deblitz, since the program I mentioned, and a couple others I don't remember, have intentionally foiled it's attempts. I would just like to know how. ------------ DEB [*deb!*] When Chris Kaiser wrote XMOBUF, we found out that the source code was so long it would NOT Deblitz properly. ------------ CKAISER [Chris] Apparently the deblitzer thingies get lost if there are too many variables, or if the subroutines are nested deeply enough. They seemed to work fine on short files, but the compiled version of XMOBUF I remember trying it on went almost a 100 blocks. The code the deblitzer made looked *sorta* like the original, but stuff like C5oyON X GOTO 210,220,230,240,250,260,270,280,290 seemed to blow it away. ------------ FINNER [Tom Sawyer] I have deblitzed a few programs (other BBS files) which came out VERY long (200+ blocks). Although these cannot be edited on the 64's limited memory capacity, they are easily done in 128 mode, and usually recompile to about the same size. I usually try to deblitz everything I find, just out of curiousity, and have been successful every time except where the program was deliberately written to disable blitz. I hve 3 different deblitzers, so if 1 doesn't work, 1 of the others most likely will. But on the program I mentiond, and 1 or 2 others I have forgotten, none of my programs would work, and always stopped at a place that made it obvious that the programmer had done it deliberately. ------------ CKAISER [Chris] Hmmmm! Very interesting! Care to try it on XMOBUF and see if you can bust it out right? I made *no* effort to defeat BLITZ or DEBLITZ in it at all. It would be interesting to see if it does come apart correctly with 1 of those. ------------ SURVIVOR [S. Gutknecht] I used to ALWAYS put "DEBLITZ! killers" in BBS programs... and the ones I found that worked, not sure if the "new deblitzers" will do them, Put a line like this: 10 print"deblitz killer": then after the ":" type a quote (") & enter a WHOLE bunch of control characters in reverse and all sorts... these will be illegal tokens, and the sort...one thing... NEVER let your program jump to this line: 10 goto100 20 print"deblitz killer:^z^t^y^w^e^l^e^w^a^b^n^h^l^r^f^47575753jgkj 100 start program And another way to do kill them (this 1 works good) is to load the BLITZED! program into memory and then SAVE it with a ML monitor with the 1-2 pges of ML plus the program... then the DEBLITZER gets all that "ML" it will just throw trash out.... And a form of "BLITZ!" protection is to have a ML program check to see if the quote "BLITZ" is in memory at the start of basic (List a BLITZED program, & you will see "BLITZ").... and then make a call to that in your program... if the program is DEBLITZED the "BLITZ" string will not be there... there are MANY other ways to go about this... hope I helped. ------------ FINNER [Tom Sawyer] Thanx Stephen. Your "BLITZ Killer" line sounds like what I saw. Maybe that's what I need to do. Worth a try anyway. As to your ML program, checking for the string "BLITZ!", that wouldn't work for me, cuzz I always change that to the name of the program, so it shows the program name rather than "BLITZ", but but maybe I could check for that. ------------ FINNER [Tom Sawyer] The control character idea worked perfectly! I tried decompiling with 3 different deblitzers, one of which just released a few weeks ago, and nothing made it past that line.