Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

crackgen.cbl

Name: Anonymous 2012-11-16 21:32

       IDENTIFICATION DIVISION.
       PROGRAM-ID. CRACK-SHIP-GENERATOR.
       AUTHOR. YOU-KNOW-WHO.

       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT CHARACTER-FILE ASSIGN TO 'CHARACTERS.DAT'
               ORGANIZATION IS LINE SEQUENTIAL.

       DATA DIVISION.
       FILE SECTION.
       FD CHARACTER-FILE.
       01 IN-CHARACTER.
           05 IN-CHAR-GROUP     PIC 99.
           05 FILLER            PIC X   VALUE SPACE.
           05 IN-CHAR-NAME      PIC X(40).

       01 CF-SWITCH             PIC X   VALUE 'N'.
               88 CF-END-OF-FILE        VALUE 'Y'.

       WORKING-STORAGE SECTION.
       01 RANDOM-STORAGE.
           05 RANDOM-SEED       PIC 9(8).
           05 RANDOM-TEMP       PIC 9(9).

       01 CHARACTER-TABLE.
           05 CHAR-IDX          PIC 999 VALUE 1.
           05 NUM-CHARS         PIC 999 VALUE 0.
           05 CHAR-DATA
           OCCURS 0 TO 500 TIMES DEPENDING ON NUM-CHARS.
               10 CHARACTER-GROUP       PIC 99.
               10 FILLER                PIC X VALUE SPACE.
               10 CHARACTER-NAME        PIC X(30).

       01 SHIP-TABLE.
           05 SHIP-IDX          PIC 9   VALUE 1.
           05 SHIP-TYPE         PIC XXX VALUE SPACES.
                   88 FLUSHED           VALUE '<3 '.
                   88 PALE              VALUE '<> '.
                   88 ASHEN             VALUE 'c3<'.
                   88 CALIGINOUS        VALUE '<3<'.
           05 SHIP-ARITY        PIC 9   VALUE 2.
           05 SHIP-CHAR-IDX     PIC 999
           OCCURS 2 TO 3 TIMES DEPENDING ON SHIP-ARITY.

       01 SHIP-WORK.
           05 SHIP-NAME1        PIC X(30) VALUE SPACES.
           05 SHIP-TYPE1        PIC XXX VALUE SPACES.
           05 SHIP-NAME2        PIC X(30) VALUE SPACES.
           05 SHIP-TYPE2        PIC XXX VALUE SPACES.
           05 SHIP-NAME3        PIC X(30) VALUE SPACES.

       01 OUT-TEXT              PIC X(80) VALUE SPACES.
       01 LINE-POS              PIC 99  VALUE 1.
       01 NUM-SHIPS-PRINTED     PIC 99  VALUE 0.

       PROCEDURE DIVISION.
           ACCEPT RANDOM-SEED FROM TIME.
           COMPUTE RANDOM-TEMP = FUNCTION RANDOM (RANDOM-SEED).
           PERFORM LOAD-TABLE.
           PERFORM SELECT-SHIP THROUGH DISPLAY-SHIP
           VARYING NUM-SHIPS-PRINTED FROM 1 BY 1
           UNTIL NUM-SHIPS-PRINTED > 10.
           STOP RUN.

       LOAD-TABLE.
           OPEN INPUT CHARACTER-FILE.
           PERFORM UNTIL CF-END-OF-FILE
               READ CHARACTER-FILE
                   AT END SET CF-END-OF-FILE TO TRUE
                   NOT AT END PERFORM LOAD-CHARACTER
               END-READ
           END-PERFORM
           CLOSE CHARACTER-FILE.

       LOAD-CHARACTER.
           ADD 1 TO NUM-CHARS.
           MOVE IN-CHARACTER TO CHAR-DATA (NUM-CHARS).

       SELECT-CHARACTER.
      * The value returned by ``FUNCTION RANDOM'' is actually a
      * fraction between 0 and 1. Multiply it by a large number
      * to get a useful value.
           COMPUTE RANDOM-TEMP = FUNCTION RANDOM * 1025.
           COMPUTE SHIP-CHAR-IDX (SHIP-IDX) =
           FUNCTION MOD (RANDOM-TEMP, NUM-CHARS) + 1.

       SELECT-SHIP.
           SET SHIP-ARITY TO 2
           COMPUTE RANDOM-TEMP = FUNCTION RANDOM * 4 + 1.
           IF RANDOM-TEMP = 1 SET FLUSHED TO TRUE.
           IF RANDOM-TEMP = 2 SET PALE TO TRUE.
           IF RANDOM-TEMP = 4 SET CALIGINOUS TO TRUE.
           IF RANDOM-TEMP = 3 THEN
               SET ASHEN TO TRUE
               SET SHIP-ARITY TO 3
           END-IF.
           PERFORM SELECT-CHARACTER
           VARYING SHIP-IDX FROM 1 BY 1
           UNTIL SHIP-IDX > SHIP-ARITY.

       DISPLAY-SHIP.
           SET LINE-POS TO 1.
           MOVE SPACES TO SHIP-WORK.
           MOVE SPACES TO OUT-TEXT.
           MOVE CHARACTER-NAME (SHIP-CHAR-IDX (1)) TO SHIP-NAME1.
           MOVE SHIP-TYPE TO SHIP-TYPE1.
           MOVE CHARACTER-NAME (SHIP-CHAR-IDX (2)) TO SHIP-NAME2.
           IF ASHEN THEN
               MOVE SHIP-TYPE TO SHIP-TYPE2
               MOVE CHARACTER-NAME (SHIP-CHAR-IDX (3)) TO SHIP-NAME3
           END-IF.
           STRING SHIP-NAME1 DELIMITED BY '  '
           SPACE DELIMITED BY SIZE
           SHIP-TYPE1 DELIMITED BY SPACE
           SPACE DELIMITED BY SIZE
           SHIP-NAME2 DELIMITED BY '  '
           SPACE DELIMITED BY SIZE
           SHIP-TYPE2 DELIMITED BY SPACE
           SPACE DELIMITED BY SIZE
           SHIP-NAME3 DELIMITED BY '  '
           INTO OUT-TEXT
           WITH POINTER LINE-POS.
           DISPLAY OUT-TEXT.

Name: Anonymous 2012-11-16 21:34

CHARACTERS.DAT should contain a bunch of lines formatted as follows:
01 Character Name 1
01 Character Name 2
...


where the leading numerals indicate the universe a character hails from. (This information isn't used yet.)

Name: Anonymous 2012-11-16 22:14

fuck off kike

Name: Anonymous 2012-11-17 1:00

is this cobal?

Name: Anonymous 2012-11-17 1:05

>>4
No. It's COBOL.
Can you really not tell? Shameful!

Name: Anonymous 2012-11-17 1:42

AWWHAWWHAWW

IT CAWBOL!

Name: Anonymous 2012-11-17 1:43

AWWHAWWWHAWWWWHAWWWWHAWWWWHAWWWW!

Name: Anonymous 2012-11-17 5:07

how do you mak it get the [k]

Name: Cudder !MhMRSATORI!fR8duoqGZdD/iE5 2012-11-17 5:59

Cracking groups should start using COBOL for their keygens/patches/whatever.

Name: Anonymous 2012-11-18 16:12

>>8
It's not that kind of "crack."

>>9
Using it for keygens would certainly be interesting. It's not like it's any more brain damaged than the VB6 shit they usually write.

I'm not sure there's a way to use it for patching binaries without invoking extensions (at which point you're not really doing it in COBOL). You could theoretically allocate a really huge table and read bytes into memory as if they're regular ASCII characters, but the native string handling functions have a lot of implementation-dependent magic going on, and I wouldn't trust them not to mangle the data.

I would test this to see if it's possible, but I only have Open-Cobol at the moment and I don't feel like tracking down a compiler, rebooting into Win7, and wasting hours discovering all the subtle compatibility issues with a dialect I've never used. If this sounds like a fun project, feel free to do it yourself.

Name: Anonymous 2012-11-19 15:17

dubsgen.cbl

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List