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

Pages: 1-4041-

Machine Language

Name: Cudder !MhMRSATORI!vzR1SbE7g/KHqrb 2010-06-12 7:59

What machine language do you think this looks closest to?


00000797 cspush 2
00000799 push $1
00000801 finv &2:3, 0
00000804 push t.1
00000806 push t.2
00000808 gosub $54
00000810 cspop 2
00000812 push $1
00000814 push $2000
00000816 push $6
00000818 finv &22:0, 0
00000821 ret
00000822 cspush 1
00000824 mov r1, t.1
00000827 mov r0, $95
00000830 mov m1.r0, r1
00000833 mov r0, m1.r0
00000836 ret
00000837 mov r1, $0
00000840 mov r0, $96
00000843 mov m1.r0, r1
00000846 mov r0, m1.r0
00000849 ret
00000850 mov r1, $1
00000853 mov r0, $96
00000856 mov m1.r0, r1
00000859 mov r0, m1.r0
00000862 ret


Hard mode: Try to figure out what it does.

Name: Anonymous 2010-06-12 8:05

gosub? Must be [i]BASIC[i]

Name: Anonymous 2010-06-12 8:07

>>2
You broke your buio.

Name: Anonymous 2010-06-12 8:09

>>3
I think you meant his ioub.

Name: Anonymous 2010-06-12 8:11

>>4
buio is the QWERTY standard.

Name: Anonymous 2010-06-12 8:18

>>1
Its not x86 and not PPC, i also dont think that its M68k or ARM.

Name: Anonymous 2010-06-12 8:22

I don't know what it is, but it's not MIPS

Name: Anonymous 2010-06-12 8:26

Looks like OISC

Name: Anonymous 2010-06-12 9:04

>>3-5
biou is the True Way.

Name: Anonymous 2010-06-12 9:12

It's MMIX.

Name: Anonymous 2010-06-12 20:05

>>5
You mean ぶいお

Name: Anonymous 2010-06-12 20:16

Name: Anonymous 2010-06-12 23:19

do you think this looks closest to?
>>1-12
OP never said anything about it being a real one

Name: Anonymous 2010-06-12 23:35

>>1,13
It doesn't look like machine language at all. It looks like assembler.

Name: Anonymous 2010-06-13 0:15

>>14
It doesn't look like an assembler at all. It just looks like some assembly code.

Name: Anonymous 2010-06-13 0:48

>>15
Thanks, I was afraid I'd made a pedantic asshole of myself.

Name: Anonymous 2010-06-13 4:02

I have a vague feeling that it ``faggot-quotes'' some text.

Name: Anonymous 2010-06-13 4:40

Looks to me like the source code for Final Fantasy 7. gosub $54 is the part where Aeris dies.

Name: Anonymous 2010-06-13 4:44

>>18
._\\

Name: Anonymous 2010-06-13 4:48

*grabs 65535 dicks using the SDF scheduling algorithm*

Name: Anonymous 2010-06-13 6:51

OMFG POWERBASIC

Name: Anonymous 2010-06-13 7:56

>>18
There is a mod to prevent that.

Name: Anonymous 2010-06-13 8:50

>>22
PREVENT MY ANUS

Name: Anonymous 2010-06-13 17:35

I tried, but I couldn't figure it out

C:\prog>jad.exe 1276343951.asm
Parsing 1276343951.asm...JavaClassFileParseException: Not a class file (incorrect magic)

C:\prog>

Name: Anonymous 2010-06-14 1:16

incorrect magic
Looks like you didn't read SICP properly.

Name: Anonymous 2010-06-14 1:29

BUTTSORT MOTHERFUCKER

Name: Anonymous 2010-06-14 1:55

>>26
Your buttsorter has problems with its cycle length.

Name: Anonymous 2010-06-14 2:31

fag

Name: Anonymous 2010-06-14 2:42

I'm still waiting to hear more from the OP.

Name: Cudder !MhMRSATORI!vzR1SbE7g/KHqrb 2010-06-14 5:43

>>29
At the risk of making it a bit too obvious, I've unhidden the function names.

00034590 finv _sp_cls, 0
00034593 mov r1, $2
00034596 mov r1, unk.r1
00034599 add r1, $1
00034602 mov r1, r1
00034605 mod r1, $6
00034608 mov r0, $2
00034611 mov unk.r0, r1
00034614 mov r0, unk.r0
00034617 mov r1, $1
00034620 mov r1, m2.r1
00034623 mov r0, $50
00034626 mov m2.r0, r1
00034629 mov r0, m2.r0
00034632 gosub $766
00034634 finv _run_no_wait, 0
00034637 push $10
00034639 finv _btn_get_onmouse, 0
00034642 ret
00034643 push $2
00034645 finv _lpop, 0
00034648 jp .806
00034650 ret
00034651 push $0
00034653 finv _save_thmnl_mosaic_set, 0
00034656 push $1000
00034658 push $1
00034660 finv _bgm_stop, 0
00034663 mov r1, $1
00034666 negrv 1
00034668 mov r0, r1
00034671 push r0
00034673 finv _sp_cls, 0
00034676 mov r2, $1
00034679 negrv 2
00034681 mov r0, r2
00034684 push r0
00034686 push $10
00034688 finv sub_0_40A200, 0
00034691 mov r2, $1
00034694 negrv 2
00034696 mov r0, r2
00034699 push r0
00034701 push $11
00034703 finv sub_0_40A200, 0
00034706 push $1
00034708 push $500
00034710 push $1
00034712 finv _run, 0
00034715 push $10
00034717 finv _btn_hide, 0
00034720 push $11
00034722 finv _btn_hide, 0
00034725 push $65535
00034727 finv _system_btn_release, 0
00034730 ret

Name: Anonymous 2010-06-14 5:58

>>30
I'm guessing it's some Visual Novel/eroge's bytecode that you are reversing for /jp/?

Name: Anonymous 2010-06-14 7:57

It's DEC/ALPHA assembler!

Name: Anonymous 2010-06-14 8:02

>>30
So Cudder, btw. Is Anonix completely dead?

Name: Anonymous 2010-06-14 8:59

>>33
Cudder's completely dead. I guess that car crash was fatal.

Name: Anonymous 2010-06-14 9:30

>>34
Ah yes, the car crash. I remember hearing about that

Name: Anonymous 2010-06-14 9:33

It seems females in osdev just doesn't work out. Dragoniz3r, that whore, was also chased out of #osdev

Name: Anonymous 2010-06-14 10:28

>>32
can someone confirm this?

Name: Anonymous 2010-06-14 10:54

>>37
I said it in jest. If you knew your stuff you would know that the Alpha ISA is fixed length at 32bit

Name: Anonymous 2010-06-14 10:55

>>38
i really didnt understand what you just said.

Name: M BAD 2010-06-14 11:58

Multiple operands per opcode?

This is probably some Intel shit.

Sage for Intel shit.

Name: Anonymous 2010-06-14 11:58

>>40
Forgot you're sage

Name: Anonymous 2010-06-14 13:19

>>1
Where's the rest? There's no telling what it does when you can't see where the gosub goes

Name: Anonymous 2010-06-14 13:55

>>40
Or you know, just about anything CISC.

Name: Anonymous 2010-06-14 15:05

Anyone who thinks this is a real CPU language is being silly. It's obviously some bytecode for a game, which is most likely interpreted by the game executable.

Name: Cudder !MhMRSATORI!vzR1SbE7g/KHqrb 2010-06-15 21:52

>>31,44
Correct. Well, we outsourced most of the brute work but that's part of the result.

>>33
Ask HAHAHaruhi.

>>42
The rest is under NDA.

Name: Anonymous 2010-06-15 22:33

>>45
The rest is under NDA.
I bet that makes you feel important.

Name: Anonymous 2010-06-15 22:59

The rest is under NDA.
You wish

Name: Anonymous 2010-06-15 23:40

Oh god the self-importance.

I'm going back to my Dwarfs.

Name: Anonymous 2010-06-16 2:04

>>46-48
You're visibly upset.

Name: Anonymous 2010-06-16 2:11

>>30
00034679 negrv 2
IHBT

Name: Anonymous 2010-06-16 16:25

>>49
Back to /lounge/, please.

Name: Anonymous 2010-06-17 0:32

>51
Back to please.

Name: Anonymous 2010-06-17 2:04

V8 intermediate bytecode.

Name: Anonymous 2010-06-17 21:02

>>46
I bet that makes you feel important.
I bet that made you feel important.

Name: Anonymous 2010-06-17 21:04

>>52
[b][o]New York Mets win back-to-back games on the road for first time.[/b][/o]

Name: Anonymous 2010-06-18 5:03

>>55
I bet that made you feel incompetent.

Name: air max shoes 2010-07-23 10:59

http://www.cheapairmaxs.com air max
http://www.cheapairmaxs.com air max shoes
http://www.cheapairmaxs.com/nike-air-max-2012-c-111.html nike air max 2012
http://www.cheapairmaxs.com/mens-air-max-2010-c-93.html mens nike air max 2010
http://www.cheapairmaxs.com/womens-air-max-2010-c-96.html womens nike air max 2010
http://www.cheapairmaxs.com/mens-air-max-2009-c-95.html mens nike air max 2009
http://www.cheapairmaxs.com/womens-air-max-2009-c-98.html womens nike air max 2009
http://www.cheapairmaxs.com/nike-air-max-2003-c-101.html nike air max 2003
http://www.cheapairmaxs.com/nike-air-max-97-c-94.html nike air max 97
http://www.cheapairmaxs.com/mens-air-max-95-c-102.html mens nike air max 95
http://www.cheapairmaxs.com/womens-air-max-95-c-103.html womens nike air max 95
http://www.cheapairmaxs.com/nike-air-max-93-c-106.html nike air max 93
http://www.cheapairmaxs.com/mens-air-max-91-c-104.html mens nike air max 91
http://www.cheapairmaxs.com/womens-air-max-91-c-105.html womens nike air max 91
http://www.cheapairmaxs.com/nike-air-max-89-c-121.html nike air max 89
http://www.cheapairmaxs.com/nike-air-max-88-c-112.html nike air max 88
http://www.cheapairmaxs.com/mens-air-max-87-c-108.html mens nike air max 87
http://www.cheapairmaxs.com/womens-air-max-87-c-109.html womens nike air max 87
http://www.cheapairmaxs.com/nike-air-max-180-c-123.html nike air max 180
http://www.cheapairmaxs.com/nike-air-max-360-c-124.html nike air max 360
http://www.cheapairmaxs.com/mens-air-max-ltd-c-122.html mens air max ltd
http://www.cheapairmaxs.com/womens-air-max-ltd-c-116.html womens air max ltd
http://www.cheapairmaxs.com/nike-air-max-bw-c-117.html nike air max bw
http://www.cheapairmaxs.com/air-max-premium-c-118.html air max premium
http://www.cheapairmaxs.com/air-max-skyline-c-114.html air max skyline
http://www.cheapairmaxs.com/air-max-zenyth-c-125.html air max zenyth
http://www.cheapairmaxs.com/nike-air-max-tn-c-115.html nike air max tn
http://www.cheapairmaxs.com/kids-air-max-90-c-119.html kids air max 90
http://www.cheapairmaxs.com/kids-air-max-bw-c-120.html kids air max bw

Name: Cudder !MhMRSATORI!FBeUS42x4uM+kgp 2010-08-15 4:11


00043191 mov r1, $2
00043194 mov r0, $112
00043197 or unk.r0, r1
00043200 mov r0, unk.r0
00043203 mov r0, $112
00043206 mov r0, m1.r0
00043209 setnl r0, $10
00043212 mov r0, r0
00043215 mov r2, $113
00043218 mov r2, m1.r2
00043221 setnl r2, $10
00043224 mov r2, r2
00043227 mov r2, r2
00043230 mov r1, r2
00043233 lor r0, r1
00043236 jpz L_00001179, r0
00043239 gosub xxxx
00043241 mov r0, $143
00043244 mov r0, m1.r0
00043247 mov r1, r0
00043250 jp L_00001181

First to reverse this back into a C expression wins.

Name: Anonymous 2010-08-15 4:28

>>58
Kind of hard to do that without knowing the syntax and semantics.

Name: Anonymous 2010-08-15 4:38

>>59
Anyone who can't figure out what mov does shouldn't be posting here anyway.

Name: Anonymous 2010-08-15 4:49

>>60
Of course that's clear, but it's not like mov is everything there is to it. I'll start giving examples:
unk.r0
Which r0, what's the significance? Is it the same as r0 or different?
setnl
If I had to guess, it sets SOMETHING(the first operand??) to a TRUE or FALSE value (0,1?) if the first operand is not lower than the second one (immediate value).
lor
What is the difference between or and lor? Is LOR logical OR? The semantics are obviously not clear.
jp/jpz
Some kind of conditional jump, probably depending on a flag? If zero, if parity set? what? Again, unclear semantics.
mov r0, r0
mov r2, r2
Nops?

Also, labels don't point to any of the given code (jump and gosub labels)
gosub
I'm assuming it's some form of call, probably places the return value on a stack and jumps to that address.

So even if I can guess what some instructions MAY mean, without proper documentation (or in this case, the original executable which interprets these instructions, as Cudder is probably reversing some game's bytecode), it's not possible to properly interpret these instructions, unless you want me to give a dumb unoptimized asm->C conversion, but those are dumb and pointless (Reverse engineering something is supposed to give a meaning to the code, not translate mov a,b into a = b; ).

Name: Anonymous 2010-08-15 12:35

>>61
Nops?
Might be some way of setting flags...

Name: Anonymous 2010-08-15 13:18

>>62
Looks like a really shitty compiler that doesn't do peephole optimization

Name: Anonymous 2010-08-15 13:46

>>58
Here goes. I found out that the code makes perfect sense. That assembly language was designed by a professional

unsigned char x[143];

unsigned char DoSomething(void)
{
   x[112] |= 2;
   if((x[112] >= 10) || (x[113] >= 10))
      xxxx();
   return x[143];
}

Name: Anonymous 2010-08-15 14:34

>>64
Hello RETRANS staff member.

Name: Anonymous 2010-08-15 14:41

>>65
I'm sorry, you must have mistaken me for someone, you level-3 mainframe programmer

Name: Anonymous 2010-08-15 15:41

>>64-66
SAGE FOR ANONIX DEVS

Name: Cudder !MhMRSATORI!FBeUS42x4uM+kgp 2010-08-15 20:41

>>59-61
This isn't even half as hard as ICFP (which we did manage to get a /jp/ reference into the hall of fame this year), you just need to do some educated guesses.

>>64
Almost got it, with two minor exceptions: it's not a function and there's no return.

>>67
U MAD?

Name: Anonymous 2010-08-15 21:26

>>68
U MAD?
Fuck off, ``Cudder''.

Name: Anonymous 2010-08-15 22:54

>>67-69
back to /b/, please.

Name: Fuck off, !Ep8pui8Vw2 2010-08-15 23:17

>>70
Fuck off, ``faggot''.

Name: Anonymous 2010-08-16 0:43

>>68
ICFP is not nearly half as hard as my dick and /prog/ programming contests.

Name: Anonymous 2010-08-16 4:18

>>68
Well that was what I thought first, the last 4 instructions just seemed weird. Like it was some sort of semi inlined function that returned something in r1

Name: Anonymous 2013-01-19 23:39

/prog/ will be spammed continuously until further notice. we apologize for any inconvenience this may cause.

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