Hacking Internet features of wiiU.

mike333

Well-Known Member
OP
Member
Joined
Aug 30, 2010
Messages
718
Trophies
0
XP
258
Country
Poland
Nintendo is getting into this new cool thing called internet.
History shows us that there were lots of exploits in browsers, image/movie/media parsers, javascript, etc.

I wonder if we get exploit from this area first.
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,649
Country
France
I don't know about exploits.

But, talking about Internet features, I really like the fact that javascript has a lot of possibility to interact with the gamepad:
http://wiiubrew.org/wiki/Internet_Browser

It detects touch screen position, button pressed, accelerometers, etc.


edit:
I fixed your title (Wii > WiiU)
 
  • Like
Reactions: CyanPrime

HaTaX

Well-Known Member
Member
Joined
Mar 4, 2007
Messages
171
Trophies
0
XP
294
Country
United States
I could definitely see someone releasing a little web server interface for getting your content onto the Wii-U using some of those methods. Once they're better understood it'd be pretty easy to setup a package that was ready made for apache and could easily be deployed to whatever OS you're running. Then you just browse that server from the Wii-U and stream your video files or whatever over to the Wii-U to be played.

Kinda cool and really opens up possibilities to use the Wii-U as a media center device.
 

mysticwaterfall

Streamforce Supreme Commander
Member
Joined
Aug 11, 2008
Messages
1,874
Trophies
0
Location
Right behind you
XP
668
Country
United States
Exploits are unlikely. People had grand ideas about hacking the 3ds through the browser, never happened.

Now, cool things can probably be done through the browser though, as mentioned above.
 

CyanPrime

Active Member
Newcomer
Joined
Oct 17, 2010
Messages
29
Trophies
0
XP
227
Country
United States
I don't know about exploits.

But, talking about Internet features, I really like the fact that javascript has a lot of possibility to interact with the gamepad:
http://wiiubrew.org/wiki/Internet_Browser

It detects touch screen position, button pressed, accelerometers, etc.


edit:
I fixed your title (Wii > WiiU)
The Wiki is down. Any chance you got a backup of the article, or that you know how to use the tablet buttons in JavaScript?
 

DJ91990

Grookey Gang!
Member
Joined
Feb 9, 2009
Messages
939
Trophies
0
Age
33
Location
Mom's Basement
Website
www.youtube.com
XP
418
Country
United States
Gah, HTML5 uses far more processing power to do barely anything VS what flash can do with barely any processing power.
If everyone is pushing HTML5 then those pushing it better damn well optimize the crap out of it!
 

Rydian

Resident Furvert™
Member
Joined
Feb 4, 2010
Messages
27,880
Trophies
0
Age
36
Location
Cave Entrance, Watching Cyan Write Letters
Website
rydian.net
XP
9,111
Country
United States
Gah, HTML5 uses far more processing power to do barely anything VS what flash can do with barely any processing power.
If everyone is pushing HTML5 then those pushing it better damn well optimize the crap out of it!
Got any info on this?

Like, benchmarks and numbers and junk.
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,649
Country
France
wiibrew and 3Dbrew sometime have the same problem, it will be back soon.

in your code I don't see how you are reading the WiiU events, you are using the default touch event?
The WiiU browser is exposing two objects to javascript events : the gamePad and the Wiimote.

I still had that page open in my browser, so here is a copy from yesterday:

The Internet Browser is a web browser preloaded on the Wii U. It uses a version of NetFront based on the WebKit rendering engine.
Contents

1 Controls
2 Wii U Scripting Functionality
2.1 wiiu.gamepad
2.1.1 Reading values
2.1.2 Touch Screen
2.1.3 Analog Sticks
2.1.4 Buttons
2.1.5 Accelerometer
2.1.6 Gyroscope
2.1.7 Angle
2.1.8 Direction Tracking
2.2 wiiu.remote
2.2.1 Reading values
2.2.2 Buttons
2.2.3 Accelerometer
2.2.4 D-Pad
2.2.5 Motion Plus
2.3 wiiu.videoplayer
2.4 wiiu.imageview

Controls

Under normal circumstances, the Internet Browser uses the following controls:

Left Analog Stick: Scroll/Pan
Left Analog Stick Click: Hide/show bottom toolbar
Right Analog Stick: Zoom
Right Analog Stick Click: Return to default zoom
+ button: Zoom in
- button: Zoom out
L button: Back to previous page
R button: Forward to next page
A button: Send the "Enter" key (keyCode 13)

In addition, dragging on the touch screen scrolls the window and tapping on the touch screen will click links and buttons, as is typical for touch screen browsers.

TODO: Document ZL, ZR, X, Y, and B.
Wii U Scripting Functionality

In addition to W3C standard touch screen functionality, the Internet Browser exposes many Wii U input and output functions to Javascript through the wiiu object.
wiiu.gamepad

The wiiu.gamepad object allows Javascript functions to read the current state of the primary Game Pad.

TODO: Figure out what contentX, contentY, and isDataValid are.
Reading values

In order to read any values from the Wii Remote, input must first be enabled by setting wiiu.remote.isEnabled = 1.

Once enabled, the function wiiu.gamepad.update() will populate all of the properties on the wiiu.gamepad object with the current information about the sticks, accelerometers, gyroscopes, buttons, and touch screen. It is safe to invoke this function in a timer for real-time updates.
Touch Screen

The wiiu.gamepad.tpTouch variable indicates whether or not there is currently an active touch on the screen. If this variable is 1, the variables wiiu.gamepad.tpX and wiiu.gamepad.tpY track the coordinates of this touch. The Game Pad's touch screen is not multitouch.

TODO: Document range of tpX and tpY. Determine meaning of tpValidity.
Analog Sticks

The left analog stick is tracked by the wiiu.gamepad.lStickX and wiiu.gamepad.lStickY variables, and the right analog stick is tracked by the wiiu.gamepad.rStickX and wiiu.gamepad.rStickY variables. These values range from -1.0 to +1.0.
Buttons

The variable wiiu.gamepad.held is a bitmask indicating all buttons currently being depressed on the Game Pad, including the click states of the analog sticks. All buttons are represented by in this bitmask although the browser's default behaviors may cause some values to be unusable.

TODO: Record what values in the bitmask correspond to which buttons on the Game Pad.
Accelerometer

The variables wiiu.gamepad.accX, wiiu.gamepad.accY, and wiiu.gamepad.accZ are a vector showing the current acceleration forces on the Game Pad, measured in Gs. When held level and motionless, the force of gravity will cause these variables to contain the vector (0.0, -1.0, 0.0).
Gyroscope

The variables wiiu.gamepad.gyroX, wiiu.gamepad.gyroY, and wiiu.gamepad.gyroZ contain the current readings of the Game Pad gyroscopes.

TODO: Determine range and geometric interpretation of these variables.
Angle

The variables wiiu.gamepad.angleX, wiiu.gamepad.angleY, and wiiu.gamepad.angleZ contain the current angle of the Game Pad.

TODO: Determine range and geometric interpretation of these variables.
Direction Tracking

There are nine variables that tie into the Game Pad's direction tracking, organized into three triplets:

wiiu.gamepad.dirXx, wiiu.gamepad.dirXy, wiiu.gamepad.dirXz
wiiu.gamepad.dirYx, wiiu.gamepad.dirYy, wiiu.gamepad.dirYz
wiiu.gamepad.dirZx, wiiu.gamepad.dirZy, wiiu.gamepad.dirZz

TODO: Determine range and geometric interpretation of these variables. They appear to be rotation-related. Are these triplets transposed? (i.e. are they associated as (dirXx, dirYx, dirZx) instead of (dirXx, dirXy, dirXz)?)
wiiu.remote

The wiiu.remote object allows Javascript functions to read the current state of the primary Wii Remote and its Motion Plus accessory.

TODO: Determine if it's possible to read the accessories and the second through fourth Wii Remotes like the Wii's Internet Channel could.

TODO: Figure out what contentX, contentY, and isDataValid are.
Reading values

In order to read any values from the Wii Remote, input must first be enabled by setting wiiu.remote.isEnabled = 1.

Once enabled, the function wiiu.remote.update() will populate all of the properties on the wiiu.remote object with the current information (about what?). It is safe to invoke this function in a timer for real-time updates.
Buttons

The variable wiiu.remote.held is a bitmask indicating all buttons currently being depressed on the Wii Remote.

TODO: Record what values in the bitmask correspond to which buttons on the Game Pad.
Accelerometer

The variables wiiu.remote.accX, wiiu.remote.accY, and wiiu.remote.accZ are a vector showing the current acceleration forces on the Wii Remote, measured in Gs. When held level and motionless, the force of gravity will cause these variables to contain the vector (0.0, -1.0, 0.0).
D-Pad

TODO: Document.
Motion Plus

TODO: Document.
wiiu.videoplayer

The wiiu.videoplayer object exposes the property viewMode and the function end().

TODO: Figure out what this is and how to use it.
wiiu.imageview

The wiiu.videoplayer object exposes the property viewMode and the functions end() and getErrorCode().

TODO: Figure out what this is and how to use it.
 
  • Like
Reactions: CyanPrime

ruiner9

Active Member
Newcomer
Joined
Nov 14, 2012
Messages
31
Trophies
1
Age
45
XP
198
Country
United States
If javascript can detect button pushes on the gamepad, then seeing a Java-based NES emulator within the browser that responds to the controller should be relatively easy. Has anyone tested the browser NES emulators yet?
 
  • Like
Reactions: CyanPrime

msaraiva

Well-Known Member
Newcomer
Joined
Oct 28, 2007
Messages
87
Trophies
0
XP
538
Country
Canada
If javascript can detect button pushes on the gamepad, then seeing a Java-based NES emulator within the browser that responds to the controller should be relatively easy. Has anyone tested the browser NES emulators yet?

Javascript ≠ Java. That said, there are NES and MSX emulators written in Javascript.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://m.youtube.com/watch?v=_NTF5_qgH0o