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

Pages: 1-

Help

Name: Anonymous 2009-04-20 8:35

What does this do in a .bat file?
Is it some sort of assembly?

@debug <%0 >nul
e100 48 e6 61 be 3f 01 31 db 8a 1c 80 fb ff 74 f4 81
e110 c3 d0 00 b0 b6 e6 43 31 d2 66 b8 dd 34 12 00 66
e120 f7 f3 e6 42 88 e0 e6 42 46 8a 0c 46 ba da 03 ec
e130 a8 08 74 fb ec a8 08 75 fb fe c9 74 c9 eb f0 00
e140 0c 19 0c 45 0c 19 0c 8d 24 8d 24 67 48 00 0c 19
e150 0c 45 0c 19 0c 67 24 67 24 45 24 36 0c 19 18 00
e160 0c 19 0c 45 0c 19 0c 45 30 67 18 36 24 19 0c 00
e170 30 00 18 67 18 45 18 45 34 00 0c 19 0c 45 0c 19
e180 0c 8d 30 8d 18 67 48 00 0c 19 0c 45 0c 19 0c cf
e190 30 45 18 45 24 36 0c 19 18 00 0c 19 0c 45 0c 19
e1a0 0c 45 30 67 18 36 24 19 0c 00 30 00 18 67 30 45
e1b0 6b ff
g

Name: Anonymous 2009-04-20 8:48

Yes, it pipes that mess through debug, which compiles it and runs it.

Name: Anonymous 2009-04-20 9:44

>>2
And is there any program that will decode this?
Or preferably a reference document/table of commands?

Name: Anonymous 2009-04-20 10:30

Name: Anonymous 2009-04-20 13:13

-u 100 1b1

0D07:0100 48            DEC    AX                                
0D07:0101 E661          OUT    61,AL                             
0D07:0103 BE3F01        MOV    SI,013F                           
0D07:0106 31DB          XOR    BX,BX                             
0D07:0108 8A1C          MOV    BL,[SI]                           
0D07:010A 80FBFF        CMP    BL,FF                             
0D07:010D 74F4          JZ    0103                              
0D07:010F 81C3D000      ADD    BX,00D0                           
0D07:0113 B0B6          MOV    AL,B6                             
0D07:0115 E643          OUT    43,AL                             
0D07:0117 31D2          XOR    DX,DX                             
0D07:0119 66            DB    66                                
0D07:011A B8DD34        MOV    AX,34DD                           
0D07:011D 1200          ADC    AL,[BX+SI]                        
0D07:011F 66            DB    66                                
0D07:0120 F7F3          DIV    BX                                
0D07:0122 E642          OUT    42,AL                             
0D07:0124 88E0          MOV    AL,AH                             
0D07:0126 E642          OUT    42,AL                             
0D07:0128 46            INC    SI                                
0D07:0129 8A0C          MOV    CL,[SI]                           
0D07:012B 46            INC    SI                                
0D07:012C BADA03        MOV    DX,03DA                           
0D07:012F EC            IN    AL,DX                             
0D07:0130 A808          TEST    AL,08                             
0D07:0132 74FB          JZ    012F                              
0D07:0134 EC            IN    AL,DX                             
0D07:0135 A808          TEST    AL,08                             
0D07:0137 75FB          JNZ    0134                              
0D07:0139 FEC9          DEC    CL                                
0D07:013B 74C9          JZ    0106                              
0D07:013D EBF0          JMP    012F                              
0D07:013F 000C          ADD    [SI],CL                           
0D07:0141 190C          SBB    [SI],CX                           
0D07:0143 45            INC    BP                                
0D07:0144 0C19          OR    AL,19                             
0D07:0146 0C8D          OR    AL,8D                             
0D07:0148 248D          AND    AL,8D                             
0D07:014A 2467          AND    AL,67                             
0D07:014C 48            DEC    AX                                
0D07:014D 000C          ADD    [SI],CL                           
0D07:014F 190C          SBB    [SI],CX                           
0D07:0151 45            INC    BP                                
0D07:0152 0C19          OR    AL,19                             
0D07:0154 0C67          OR    AL,67                             
0D07:0156 2467          AND    AL,67                             
0D07:0158 2445          AND    AL,45                             
0D07:015A 2436          AND    AL,36                             
0D07:015C 0C19          OR    AL,19                             
0D07:015E 1800          SBB    [BX+SI],AL                        
0D07:0160 0C19          OR    AL,19                             
0D07:0162 0C45          OR    AL,45                             
0D07:0164 0C19          OR    AL,19                             
0D07:0166 0C45          OR    AL,45                             
0D07:0168 306718        XOR    [BX+18],AH                        
0D07:016B 36            SS:                                      
0D07:016C 2419          AND    AL,19                             
0D07:016E 0C00          OR    AL,00                             
0D07:0170 3000          XOR    [BX+SI],AL                        
0D07:0172 186718        SBB    [BX+18],AH                        
0D07:0175 45            INC    BP                                
0D07:0176 184534        SBB    [DI+34],AL                        
0D07:0179 000C          ADD    [SI],CL                           
0D07:017B 190C          SBB    [SI],CX                           
0D07:017D 45            INC    BP                                
0D07:017E 0C19          OR    AL,19                             
0D07:0180 0C8D          OR    AL,8D                             
0D07:0182 308D1867      XOR    [DI+6718],CL                      
0D07:0186 48            DEC    AX                                
0D07:0187 000C          ADD    [SI],CL                           
0D07:0189 190C          SBB    [SI],CX                           
0D07:018B 45            INC    BP                                
0D07:018C 0C19          OR    AL,19                             
0D07:018E 0CCF          OR    AL,CF                             
0D07:0190 304518        XOR    [DI+18],AL                        
0D07:0193 45            INC    BP                                
0D07:0194 2436          AND    AL,36                             
0D07:0196 0C19          OR    AL,19                             
0D07:0198 1800          SBB    [BX+SI],AL                        
0D07:019A 0C19          OR    AL,19                             
0D07:019C 0C45          OR    AL,45                             
0D07:019E 0C19          OR    AL,19                             
0D07:01A0 0C45          OR    AL,45                             
0D07:01A2 306718        XOR    [BX+18],AH                        
0D07:01A5 36            SS:                                      
0D07:01A6 2419          AND    AL,19                             
0D07:01A8 0C00          OR    AL,00                             
0D07:01AA 3000          XOR    [BX+SI],AL                        
0D07:01AC 186730        SBB    [BX+30],AH                        
0D07:01AF 45            INC    BP                                
0D07:01B0 6B            DB    6B                                
0D07:01B1 FF20          JMP    [BX+SI]

Name: Anonymous 2009-04-20 13:14

>>5
shit, forgot to [code]

Name: Anonymous 2009-04-20 13:32

>>6
It's OK, we're all reading /prog/ in Vim or Emacs anyway.

Name: Anonymous 2009-04-20 13:41

It seems to be a small audio demo, here's a dumb disassembly:


seg000:0100
seg000:0100                 public start
seg000:0100 start           proc near
seg000:0100                 dec     ax
seg000:0101                 out     61h, al         ; possibly speaker enable, may have side-effects
seg000:0103
seg000:0103 loop1:                                  ; CODE XREF: start+Dj
seg000:0103                 mov     si, offset song
seg000:0106
seg000:0106 next_command:                           ; CODE XREF: start+3Bj
seg000:0106                 xor     bx, bx          ; null bx
seg000:0108                 mov     bl, [si]        ; bl = *song
seg000:010A                 cmp     bl, 0FFh        ; if end, start from the beginning
seg000:010D                 jz      short loop1
seg000:010F                 add     bx, 0D0h
seg000:0113                 mov     al, 10110110b   ; timer: counter 2 select, r/w counter bits 0-7 first then 8-15, mode 3 select - square wave generator(counts down twice by two at a time; latch status and check
seg000:0113                                         ;                   value of OUT pin to determine which half-cycle is active
seg000:0113                                         ;                 divisor factor 3 not allowed!), binary counter 16bits
seg000:0115                 out     43h, al         ; program the speaker
seg000:0117                 xor     dx, dx          ; null dx(prepare for division)
seg000:0119                 mov     eax, 1234DDh
seg000:011F                 div     ebx             ; ax = 0x1234DD/*song, following instructions output these values to speaker, first lower 8bits then higher 8 bits
seg000:0122                 out     42h, al         ; Timer 8253-5 (AT: 8254.2).
seg000:0124                 mov     al, ah
seg000:0126                 out     42h, al         ; Timer 8253-5 (AT: 8254.2).
seg000:0128                 inc     si              ; song++
seg000:0129                 mov     cl, [si]        ; get value
seg000:012B                 inc     si              ; song++
seg000:012C                 mov     dx, 3DAh        ; wait 2 retraces
seg000:012F
seg000:012F wait_for_retrace:                       ; CODE XREF: start+32j
seg000:012F                                         ; start+3Dj
seg000:012F                 in      al, dx          ; 03DA  R-  CGA status register
seg000:012F                                         ;         color EGA/VGA: input status 1 register
seg000:0130                 test    al, 1000b       ; in vertical retrace?
seg000:0132                 jz      short wait_for_retrace
seg000:0134
seg000:0134 wait_for_retrace2:                      ; CODE XREF: start+37j
seg000:0134                 in      al, dx
seg000:0135                 test    al, 1000b
seg000:0137                 jnz     short wait_for_retrace2
seg000:0139                 dec     cl              ; decrement duration and check if it's null yet, if so, process next command
seg000:013B                 jz      short next_command
seg000:013D                 jmp     short wait_for_retrace
seg000:013D start           endp
seg000:013D
seg000:013D ; ---------------------------------------------------------------------------
seg000:013F song            dw  0C00h, 0C19h, 0C45h, 0C19h, 248Dh, 248Dh, 4867h, 0C00h; 0
seg000:013F                                         ; DATA XREF: start:loop1o
seg000:013F                 dw  0C19h, 0C45h, 0C19h, 2467h, 2467h, 2445h, 0C36h, 1819h; 8 ; each word in the song buffer has this format:
seg000:013F                 dw  0C00h, 0C19h, 0C45h, 0C19h, 3045h, 1867h, 2436h, 0C19h; 16 ; byte audio_sample; // 0x1234DD/audio_sample is output to speaker
seg000:013F                 dw  3000h, 1800h, 1867h, 1845h, 3445h, 0C00h, 0C19h, 0C45h; 24 ; byte duration; // it will wait 2*retraces ( a retrace usually happens 60 times per second, 60Hz)
seg000:013F                 dw  0C19h, 308Dh, 188Dh, 4867h, 0C00h, 0C19h, 0C45h, 0C19h; 32 ; audio sample 0xFF marks the end
seg000:013F                 dw  30CFh, 1845h, 2445h, 0C36h, 1819h, 0C00h, 0C19h, 0C45h; 40
seg000:013F                 dw  0C19h, 3045h, 1867h, 2436h, 0C19h, 3000h, 1800h, 3067h; 48
seg000:013F                 dw  6B45h               ; 56
seg000:01B1 end_song        db 0FFh                 ; 0FF = end
seg000:01B1 seg000          ends
seg000:01B1
seg000:01B1
seg000:01B1                 end start

Name: Anonymous 2009-04-20 16:58

>>1
I nearly pissed myself laughing after running that. Brilliant, OP, simply brilliant.

Name: Anonymous 2009-04-20 17:20

>>9
tempted to try it out...

Name: Anonymous 2009-04-20 17:33

>>10
I ran it, all I got was an empty command shell which did nothing.

Name: Anonymous 2009-04-20 17:52

How to setup a virtual machine for this?

>>11
Nothing you saw anyway.

Name: Anonymous 2009-04-20 18:08

>>11
Have you not read >>8 ? It just plays some audio on the speaker

Name: Anonymous 2009-04-20 18:14

10/10

Name: Anonymous 2009-04-20 18:27

>>13
Perhaps I wasn't clear, but when I said "did nothing", I mean it did nothing both in the visual and aural senses of doing something. Do you know what I mean?

Name: Anonymous 2009-04-20 18:29

>>15
Your computer is shit and so are you.

Name: Anonymous 2009-04-20 18:32

>>16
Hey hey hey hey! That is very rude, and that kind of attitude will not win you any friends mister!

Name: Anonymous 2009-04-20 18:59

Name: Anonymous 2009-04-20 20:06

>>17
My apologies, sir.

Name: Anonymous 2009-04-20 20:32

>>9
So you run random code that you find on /prog/?

Name: Anonymous 2009-04-20 20:35

>>20
After disassembling it and finding nothing harmful, yes.

Name: Anonymous 2009-04-20 21:36

>>21
But how do you know you reassembled it correctly?

Name: Anonymous 2009-04-21 7:00

>>22
Frankly, my dear, real men just don't give a damn.

Name: Anonymous 2009-04-21 8:59

>>23
is a manly assembly programmer.

Name: Anonymous 2009-04-21 14:10

Name: Anonymous 2009-04-22 5:02

EXPERT RICKROLL

Name: Anonymous 2009-04-22 5:41

I just ran this, it plays Rick Astley's "Never going to give you down" on the PC speaker. Pretty neat

Name: Anonymous 2009-04-22 9:43

I just ran this, it plays GJS Jay Sussman's "We Conjure the Spirits of the Computer with our Spells (feat. JSB Sebastian Bach)" on the PC speaker. Pretty neat

Name: Anonymous 2009-04-22 11:34

>>28
I would have preferred this.

Name: Anonymous 2009-04-22 11:43

Name: Anonymous 2009-04-22 17:54

Hmm wish I would have read this thread before my speakers went off in class...

Name: Anonymous 2009-04-22 23:03

>>31
At least your classmates know that you will never give them up. If anything they should be thanking you

Name: Anonymous 2011-01-31 21:12

<-- check em dubz

Name: Anonymous 2011-02-02 23:59

Name: tray 2012-03-14 17:02

you better be

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