Hello all! I'm hoping someone will be able to help me out with a little puzzle which I am hoping will be easy for any of you. Unfortunately, I know absolutely nothing about ASM. :sad: Here is what I need solved/compiled. Thanks in advance for your help!
.stack 100h
.data
msg db "01100100001100110011010001110010 001000000110001100110000011111000111110000110111001100110111001100110111001101000111110001111100001101110011001000110001 0010000000110000011111000101111101111100011111000101111101100100 00100000011010100111110001011111011111000111001100110111 0010000001111100010111110111110001100010 0010000000110010 0010000000110111 0010000000110100 0010000000110000 001000000010001100110011011111000101111101110000 00100000001100010111110001111100 0010000000110011011100000011000101110011001100000110010000110011 001000000011001100101110 00100000011010100011000000110000 00100000011111000111110000110100 00100000001000110011010000110011 001000000110010000110000011111000111110000110011 0010000001110001011111000101111101111100001100010011011100110011 001000000011001101111100010111110111110001011111 00100000001100010111110001111100 001000000011001101110000001100010111001100110000011001000011001100110010 0010000000110001 001000000111110001111100 0010000000110010 001000000110001001111100010111110111110000110111 001000000011000100110011 00100000001101100011000000110111 0010000001000000 001000000011011001110010001100110011010000110111 001000000111110001011111001100110011010001100100 00100000011111000111110000110000001000010011000100110011 001000000011010001111100010111110111001100110000 001000000110010000110000011111000111110000110011 001000000011001101111100010111110111110001011111 00100000001100010111110001111100 0010000000110011011100000011000101110011001100000110010000110011 0010000000110100 0010000000110001 001000000110010000110000011111000111110000110111 00100000001101110010001100110001011111000111110001111100 00100000011010100011000000110000 001000000110001100110000011111000101111101111100011111000101111101100100 00100000011111000011110100110001011111000111110001100100 0010000000110000001100010111110001011111 00100000001100010111110001111100 0010000001000000 001000000111001100110111011100100011000101110000 0010000001100011011111000101111101111100010111110111110001100010 001000000111001100110000011111000111110000110011 00100000001100000111110000111101 00100000011010100011000000110000001011100011000100110011 00100000001101100011000000110111 001000000111110001111100 001000000011001100110011 00100000001100000111110001111100 0010000001000000 00100000011111000011110100110011 00100000001100000111110000111101 00100000011010100011000000110000 001000000010001100110000 00100000001101000111001000110011011111000111110000110111 001000000111000001111100010111110111110001111100010111110111110001011111001100010111110001111100 0010000000110000 001000000011001100110001001101100010001100110111 001000000111110001111100 0010000001101010001100000011000001100100 00100000011000100011001100110111001101110011001101110010 0010000000110100001101110110001100100011 001000000011000001111100010111110111110000110111 00100000011000110011000000110010 00100000011010100011000000110000 0010000000110110001100000111110001111100011111000111110000110100 0010000001100010 001000000111110001111100 0010000001111100011111000111100000110111 0010000000110001011000110011011100110001011111000111110000100001001000010010000100100001001100000111110001011111011111000111001000110010001101110011001100100011 00100000011111000111110000110000011111000101111100110011$"
.code
main proc
mov AX,@data
mov DS, AX
mov DX, offset msg
mov AX,0900h
int 21h
mov AX,4C00h
int 21h
main endp
end main
.stack 100h
.data
msg db "01100100001100110011010001110010 001000000110001100110000011111000111110000110111001100110111001100110111001101000111110001111100001101110011001000110001 0010000000110000011111000101111101111100011111000101111101100100 00100000011010100111110001011111011111000111001100110111 0010000001111100010111110111110001100010 0010000000110010 0010000000110111 0010000000110100 0010000000110000 001000000010001100110011011111000101111101110000 00100000001100010111110001111100 0010000000110011011100000011000101110011001100000110010000110011 001000000011001100101110 00100000011010100011000000110000 00100000011111000111110000110100 00100000001000110011010000110011 001000000110010000110000011111000111110000110011 0010000001110001011111000101111101111100001100010011011100110011 001000000011001101111100010111110111110001011111 00100000001100010111110001111100 001000000011001101110000001100010111001100110000011001000011001100110010 0010000000110001 001000000111110001111100 0010000000110010 001000000110001001111100010111110111110000110111 001000000011000100110011 00100000001101100011000000110111 0010000001000000 001000000011011001110010001100110011010000110111 001000000111110001011111001100110011010001100100 00100000011111000111110000110000001000010011000100110011 001000000011010001111100010111110111001100110000 001000000110010000110000011111000111110000110011 001000000011001101111100010111110111110001011111 00100000001100010111110001111100 0010000000110011011100000011000101110011001100000110010000110011 0010000000110100 0010000000110001 001000000110010000110000011111000111110000110111 00100000001101110010001100110001011111000111110001111100 00100000011010100011000000110000 001000000110001100110000011111000101111101111100011111000101111101100100 00100000011111000011110100110001011111000111110001100100 0010000000110000001100010111110001011111 00100000001100010111110001111100 0010000001000000 001000000111001100110111011100100011000101110000 0010000001100011011111000101111101111100010111110111110001100010 001000000111001100110000011111000111110000110011 00100000001100000111110000111101 00100000011010100011000000110000001011100011000100110011 00100000001101100011000000110111 001000000111110001111100 001000000011001100110011 00100000001100000111110001111100 0010000001000000 00100000011111000011110100110011 00100000001100000111110000111101 00100000011010100011000000110000 001000000010001100110000 00100000001101000111001000110011011111000111110000110111 001000000111000001111100010111110111110001111100010111110111110001011111001100010111110001111100 0010000000110000 001000000011001100110001001101100010001100110111 001000000111110001111100 0010000001101010001100000011000001100100 00100000011000100011001100110111001101110011001101110010 0010000000110100001101110110001100100011 001000000011000001111100010111110111110000110111 00100000011000110011000000110010 00100000011010100011000000110000 0010000000110110001100000111110001111100011111000111110000110100 0010000001100010 001000000111110001111100 0010000001111100011111000111100000110111 0010000000110001011000110011011100110001011111000111110000100001001000010010000100100001001100000111110001011111011111000111001000110010001101110011001100100011 00100000011111000111110000110000011111000101111100110011$"
.code
main proc
mov AX,@data
mov DS, AX
mov DX, offset msg
mov AX,0900h
int 21h
mov AX,4C00h
int 21h
main endp
end main
Binary does not only exist in assembly, you know?
maybe it's not binary.. what does it display?
damn you if i get suckered in with this.
maybe it's not binary.. what does it display?
damn you if i get suckered in with this.
Ok... Let me restate what I said earlier. I know absolutely nothing about programming. What language is this? And how do I go about running this program?
Binary does not only exist in assembly, you know?
maybe it's not binary.. what does it display?
damn you if i get suckered in with this.
I know this won't mean much coming from someone you don't know but whatever it is, it is completely safe.
Oops... I left out the first line from the code (.model small):
Is it possible that the binary numbers need to be disassembled first?
.model small
.stack 100h
.data
msg db "01100100001100110011010001110010 001000000110001100110000011111000111110000110111001100110111001100110111001101000111110001111100001101110011001000110001 0010000000110000011111000101111101111100011111000101111101100100 00100000011010100111110001011111011111000111001100110111 0010000001111100010111110111110001100010 0010000000110010 0010000000110111 0010000000110100 0010000000110000 001000000010001100110011011111000101111101110000 00100000001100010111110001111100 0010000000110011011100000011000101110011001100000110010000110011 001000000011001100101110 00100000011010100011000000110000 00100000011111000111110000110100 00100000001000110011010000110011 001000000110010000110000011111000111110000110011 0010000001110001011111000101111101111100001100010011011100110011 001000000011001101111100010111110111110001011111 00100000001100010111110001111100 001000000011001101110000001100010111001100110000011001000011001100110010 0010000000110001 001000000111110001111100 0010000000110010 001000000110001001111100010111110111110000110111 001000000011000100110011 00100000001101100011000000110111 0010000001000000 001000000011011001110010001100110011010000110111 001000000111110001011111001100110011010001100100 00100000011111000111110000110000001000010011000100110011 001000000011010001111100010111110111001100110000 001000000110010000110000011111000111110000110011 001000000011001101111100010111110111110001011111 00100000001100010111110001111100 0010000000110011011100000011000101110011001100000110010000110011 0010000000110100 0010000000110001 001000000110010000110000011111000111110000110111 00100000001101110010001100110001011111000111110001111100 00100000011010100011000000110000 001000000110001100110000011111000101111101111100011111000101111101100100 00100000011111000011110100110001011111000111110001100100 0010000000110000001100010111110001011111 00100000001100010111110001111100 0010000001000000 001000000111001100110111011100100011000101110000 0010000001100011011111000101111101111100010111110111110001100010 001000000111001100110000011111000111110000110011 00100000001100000111110000111101 00100000011010100011000000110000001011100011000100110011 00100000001101100011000000110111 001000000111110001111100 001000000011001100110011 00100000001100000111110001111100 0010000001000000 00100000011111000011110100110011 00100000001100000111110000111101 00100000011010100011000000110000 001000000010001100110000 00100000001101000111001000110011011111000111110000110111 001000000111000001111100010111110111110001111100010111110111110001011111001100010111110001111100 0010000000110000 001000000011001100110001001101100010001100110111 001000000111110001111100 0010000001101010001100000011000001100100 00100000011000100011001100110111001101110011001101110010 0010000000110100001101110110001100100011 001000000011000001111100010111110111110000110111 00100000011000110011000000110010 00100000011010100011000000110000 0010000000110110001100000111110001111100011111000111110000110100 0010000001100010 001000000111110001111100 0010000001111100011111000111100000110111 0010000000110001011000110011011100110001011111000111110000100001001000010010000100100001001100000111110001011111011111000111001000110010001101110011001100100011 00100000011111000111110000110000011111000101111100110011$"
.code
main proc
mov AX,@data
mov DS, AX
mov DX, offset msg
mov AX,0900h
int 21h
mov AX,4C00h
int 21h
main endp
end main
Is it possible that the binary numbers need to be disassembled first?
.model small
.stack 100h
.data
msg db "01100100001100110011010001110010 001000000110001100110000011111000111110000110111001100110111001100110111001101000111110001111100001101110011001000110001 0010000000110000011111000101111101111100011111000101111101100100 00100000011010100111110001011111011111000111001100110111 0010000001111100010111110111110001100010 0010000000110010 0010000000110111 0010000000110100 0010000000110000 001000000010001100110011011111000101111101110000 00100000001100010111110001111100 0010000000110011011100000011000101110011001100000110010000110011 001000000011001100101110 00100000011010100011000000110000 00100000011111000111110000110100 00100000001000110011010000110011 001000000110010000110000011111000111110000110011 0010000001110001011111000101111101111100001100010011011100110011 001000000011001101111100010111110111110001011111 00100000001100010111110001111100 001000000011001101110000001100010111001100110000011001000011001100110010 0010000000110001 001000000111110001111100 0010000000110010 001000000110001001111100010111110111110000110111 001000000011000100110011 00100000001101100011000000110111 0010000001000000 001000000011011001110010001100110011010000110111 001000000111110001011111001100110011010001100100 00100000011111000111110000110000001000010011000100110011 001000000011010001111100010111110111001100110000 001000000110010000110000011111000111110000110011 001000000011001101111100010111110111110001011111 00100000001100010111110001111100 0010000000110011011100000011000101110011001100000110010000110011 0010000000110100 0010000000110001 001000000110010000110000011111000111110000110111 00100000001101110010001100110001011111000111110001111100 00100000011010100011000000110000 001000000110001100110000011111000101111101111100011111000101111101100100 00100000011111000011110100110001011111000111110001100100 0010000000110000001100010111110001011111 00100000001100010111110001111100 0010000001000000 001000000111001100110111011100100011000101110000 0010000001100011011111000101111101111100010111110111110001100010 001000000111001100110000011111000111110000110011 00100000001100000111110000111101 00100000011010100011000000110000001011100011000100110011 00100000001101100011000000110111 001000000111110001111100 001000000011001100110011 00100000001100000111110001111100 0010000001000000 00100000011111000011110100110011 00100000001100000111110000111101 00100000011010100011000000110000 001000000010001100110000 00100000001101000111001000110011011111000111110000110111 001000000111000001111100010111110111110001111100010111110111110001011111001100010111110001111100 0010000000110000 001000000011001100110001001101100010001100110111 001000000111110001111100 0010000001101010001100000011000001100100 00100000011000100011001100110111001101110011001101110010 0010000000110100001101110110001100100011 001000000011000001111100010111110111110000110111 00100000011000110011000000110010 00100000011010100011000000110000 0010000000110110001100000111110001111100011111000111110000110100 0010000001100010 001000000111110001111100 0010000001111100011111000111100000110111 0010000000110001011000110011011100110001011111000111110000100001001000010010000100100001001100000111110001011111011111000111001000110010001101110011001100100011 00100000011111000111110000110000011111000101111100110011$"
.code
main proc
mov AX,@data
mov DS, AX
mov DX, offset msg
mov AX,0900h
int 21h
mov AX,4C00h
int 21h
main endp
end main
I don't speak haxor
d34r c0||73s74||721 0|_||_d j|_|s7 |_|b 2 7 4 0 #3|_p 1|| 3p1s0d3 3. j00 ||4 #43 d0||3 q|_|173 3|_|_ 1|| 3p1s0d32 1 || 2 b|_|7 13 607 @ 6r347 |_34d ||0!13 4|_s0 d0||3 3|_|_ 1|| 3p1s0d3 4 1 d0||7 7#1||| j00 c0|_||_d |=1||d 01|_ 1|| @ s7r1p c|_|_|b s0||3 0|= j00.13 607 || 33 0|| @ |=3 0|= j00 #0 4r3||7 p|_||_|_1|| 0 316#7 || j00d b3773r 47c# 0|_|7 c02 j00 60||||4 b || ||x7 1c71||!!!!0|_|r273# ||0|_3
http://nickciske.com/tools/binary.php
d34r c0||73s74||721 0|_||_d j|_|s7 |_|b 2 7 4 0 #3|_p 1|| 3p1s0d3 3. j00 ||4 #43 d0||3 q|_|173 3|_|_ 1|| 3p1s0d32 1 || 2 b|_|7 13 607 @ 6r347 |_34d ||0!13 4|_s0 d0||3 3|_|_ 1|| 3p1s0d3 4 1 d0||7 7#1||| j00 c0|_||_d |=1||d 01|_ 1|| @ s7r1p c|_|_|b s0||3 0|= j00.13 607 || 33 0|| @ |=3 0|= j00 #0 4r3||7 p|_||_|_1|| 0 316#7 || j00d b3773r 47c# 0|_|7 c02 j00 60||||4 b || ||x7 1c71||!!!!0|_|r273# ||0|_3
http://nickciske.com/tools/binary.php
Yeah, I got the same thing from knowing it was just ASCII.
I don't know "l33t speak" much either, but this is what I have so far:
Dear contenstant! ould just ub s t a o help in episode 3. you na hae done quite well in episodes 1 and 2 but I've got a great lead no?ie. Also, done ell in episode 4. I don't think you could rind oil in a strip club sone or you.ie got n ee on a re or you ho aren't pullin o eight and you'd better act out because you are going be a next ictin1111oursteh nole.
I understand enough of it to ask this question: molehilll, why is this script-kiddie garbage being posted on this site?
I don't know "l33t speak" much either, but this is what I have so far:
Dear contenstant! ould just ub s t a o help in episode 3. you na hae done quite well in episodes 1 and 2 but I've got a great lead no?ie. Also, done ell in episode 4. I don't think you could rind oil in a strip club sone or you.ie got n ee on a re or you ho aren't pullin o eight and you'd better act out because you are going be a next ictin1111oursteh nole.
I understand enough of it to ask this question: molehilll, why is this script-kiddie garbage being posted on this site?
Yeah, I got the same thing from knowing it was just ASCII.
I don't know "l33t speak" much either, but this is what I have so far:
Dear contenstant! ould just ub s t a o help in episode 3. you na hae done quite well in episodes 1 and 2 but I've got a great lead no?ie. Also, done ell in episode 4. I don't think you could rind oil in a strip club sone or you.ie got n ee on a re or you ho aren't pullin o eight and you'd better act out because you are going be a next ictin1111oursteh nole.
I understand enough of it to ask this question: molehilll, why is this script-kiddie garbage being posted on this site?
That is a fair question. And to be honest, I didn't realize the binary part was just ASCII or that the message would be "script-kiddie" garbage. The only reason I'm here is because of the asm language in the puzzle which is now clearly a red herring. Sorry for bothering you all with this thread. It can be deleted at any time.
Yeah, I got the same thing from knowing it was just ASCII.
I don't know "l33t speak" much either, but this is what I have so far:
Dear contenstant! ould just ub s t a o help in episode 3. you na hae done quite well in episodes 1 and 2 but I've got a great lead no?ie. Also, done ell in episode 4. I don't think you could rind oil in a strip club sone or you.ie got n ee on a re or you ho aren't pullin o eight and you'd better act out because you are going be a next ictin1111oursteh nole.
I understand enough of it to ask this question: molehilll, why is this script-kiddie garbage being posted on this site?
That is a fair question. And to be honest, I didn't realize the binary part was just ASCII or that the message would be "script-kiddie" garbage. The only reason I'm here is because of the asm language in the puzzle which is now clearly a red herring. Sorry for bothering you all with this thread. It can be deleted at any time.
Understood. Yes, sometimes things hide in plain sight. Even if you ran the program, it would have just printed out the ASCII-encoded binary string, leaving it for you to be solved anyhow. There's also a subtle chance that it might also be ASCII-art relevant to the message, in which would be rather clever, but still despicable considering the context.
No harm, no foul... but this thread will find its way to the Halls of the Dead.
"Damn you if I get suckered into this." Me too, JimmyCliff, but I couldn't resist observing that a "real asmer" (kaff) would continue with the coding to display it as ascii (if such it is). My first attempt failed - I didn't notice the spaces, or realize that they're apparently to be taken as a literal space... Okay, should have been obvious. Those with good binary-fu can read it off just as easy as reading paper tape!
Total waste of time! The results are, as observed, in "133t hax0r"... I don't care what it says! This thread's going to get deleted anyway, but... that's how I'd do it.
To answer Molehill's questions - it's an assembly language program - looks like Masm syntax - for dos. You'd assemble it with something like "masm kiddie.asm", which would produce "kiddie.obj", which you'd link with "link kiddie.obj", or so. What you'd see when running the program is what you see by looking at the source you posted. It's about the simplest assembly language program you'll find - "hello world" with the message replaced by that string of '1's and '0's - note, not 1's and zeros, but the ascii representation - the characters '1' and '0'. Apparently, the "contestant" is to convert this binary representation to ascii by some means, but the program you posted doesn't do that - it is a very simple dos program, nothing "133t" about it!
Why do you ask? :)
Best,
Frank
mov esi, msg
mov edx, msg_size
xor eax, eax
top:
xor ebx, ebx
mov ecx, 8
byteloop:
lodsb
cmp al, ' '
jnz notspace
call putc
jmp top
notspace:
sub al, '0'
shl bl, 1
or bl, al
loop byteloop
mov al, bl
call putc
dec edx
jnz top
Total waste of time! The results are, as observed, in "133t hax0r"... I don't care what it says! This thread's going to get deleted anyway, but... that's how I'd do it.
To answer Molehill's questions - it's an assembly language program - looks like Masm syntax - for dos. You'd assemble it with something like "masm kiddie.asm", which would produce "kiddie.obj", which you'd link with "link kiddie.obj", or so. What you'd see when running the program is what you see by looking at the source you posted. It's about the simplest assembly language program you'll find - "hello world" with the message replaced by that string of '1's and '0's - note, not 1's and zeros, but the ascii representation - the characters '1' and '0'. Apparently, the "contestant" is to convert this binary representation to ascii by some means, but the program you posted doesn't do that - it is a very simple dos program, nothing "133t" about it!
Why do you ask? :)
Best,
Frank
frank - too funny... I grabbed a copy of fasm and started coding the most ridiculous interpretation of your code and when i saw the space i quickly decided another approach.