MPC-Tutor wrote:Cubilas has already bricked his MPC Sample. He tried loading an XPJ from MPC3 and is now stuck in a boot loop, reflashing firmware hasn't fixed it.
https://www.reddit.com/r/mpcusers/comme ... pc_sample/
Oh my god. that is a bad design flaw. I feel so sorry for this dude. sounds like he didnt do anything wrong. Send that ish back on warranty.
This happened to me with a baofeng uv5rm radio in the fall, ive been trying to hack my way into it ever since. the software skewed the settings and now its basically bricked stuck in a stupid password mode i cant correct. My heart sank when i did it. I got a spare to clone the data and fix it, still nada.. its a terrible feeling to brick something hours after opening it.
Its indicitive that digital stuff isnt always a good solution, its cheap to develop but its not reliable like classic analog mechanical stuff.
A good line of attack would be to unplug it and smash the power button a bunch and try to get all the power out of the devices so the ram state dies. ram as we know is volitile so removing the trickle of power that keeps it alive might be a avenue of attack.
that is assuming its even in-memory. i cant see how that could lead to any deeper i/o that does permanent damage unless he managed to buffer overflow it and really hurt it. I would imagine akai uses dynamic memory allocation like alloc, malloc or calloc to handle the project size in memory but if they used stack / heap and static buffers its potentially dangerous to load anything.
For example say you do unsigned char buffer[1024]; and shove 1025 bytes into that array, its an overflow that extra byte goes somewhere and its not always a good place. This is the basis for many exploits its how we hacked the sony psp so many times and is the base for "homebrew enabler". You can get arbitrary code execution by filling the 1024 bytes with padding and then adding a subroutine beyond that. Linux manages this with a "segfault" (segmentational fault). If you use stack allocation with too small of a heap size the code *can* end up being inserted into or over top of other assembly routines because the executable is actually placed into the ram, and the hooked by kernel to execute.
Now.. all that said. it's possible he overflowed into an adjacent library or or executables memory pool and that's not good. You might end up doing some i/o thats not intended.
I suspect this dude hasnt unplugged it and drained the power though and its just a state issue. invite him over here.
PS inMusic: i really need a job... help me out here ill stress test the piss outta your systems. i am about to be a free agent.
Ego te absolvo.