Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Hardware Hacking Software Technology

Celebrating Workarounds, Kludges, and Hacks 145

itwbennett writes: We all have some favorite workarounds that right a perceived wrong (like getting around the Wall Street Journal paywall) or make something work the way we think it ought to. From turning off annoying features in your Prius to getting around sanctions in Crimea and convincing your Android phone you're somewhere you're not, workarounds are a point of pride, showing off our ingenuity and resourcefulness. And sometimes artful workarounds can even keep businesses operating in times of crisis. Take, for example, the Sony employees, who, in the wake of the Great Hack of 2014 when the company's servers went down, dug out old company BlackBerrys that, while they had been abandoned, had never had their plans deactivated. Because BlackBerrys used RIM's email servers instead of Sony's, they could still communicate with one another, and employees with BlackBerrys became the company's lifeline as it slowly put itself back together. What hacks and workarounds keep your life sane?
This discussion has been archived. No new comments can be posted.

Celebrating Workarounds, Kludges, and Hacks

Comments Filter:
  • by turkeydance ( 1266624 ) on Tuesday June 30, 2015 @05:45PM (#50022195)
    i'm kinda LOW tech.
    • The bit of wire wrapped around the push-mower handle that keeps the engine brake from engaging the moment I release my grip on the handle.

      Oh, it's for the safety of the children! Think of the puppies! No. Just, No.

      • The bit of wire wrapped around the push-mower handle that keeps the engine brake from engaging the moment I release my grip on the handle.

        Oh, it's for the safety of the children! Think of the puppies! No. Just, No.

        Not only a hack but a macho-hack.

        I bet you cut the seatbelts out of your car too.

  • Ad blockers (Score:3, Insightful)

    by Anonymous Coward on Tuesday June 30, 2015 @05:46PM (#50022203)

    Makes the web work the way it ought to.

  • Nobeta (Score:4, Funny)

    by Anonymous Coward on Tuesday June 30, 2015 @05:47PM (#50022211)

    http://slashdot.org/?nobeta=1 [slashdot.org], of course!

  • Quantum HDD (Score:4, Interesting)

    by Lead Butthead ( 321013 ) on Tuesday June 30, 2015 @05:52PM (#50022233) Journal

    This I heard from a ex-Quantum coworker; purportedly the drive firmware was suffering from a memory corruption problem (several consecutive bytes keep getting overwritten in RAM.) The engineer tasked with fixing the problem shifts the code by the said number of bytes and declares victory. After that I never looked at HDD the same way again.

    • by AmiMoJo ( 196126 )

      That kind of thing is pretty common with embedded systems. You have code that has been tested and otherwise works, except for this one bug. Much of it is probably ancient, with new bits tacked on as time goes by. You are terrified of breaking something by making changes, so you do a hack like this that makes minimal changes. A proper fix could cause even more problems.

      • My problem isn't that particular hack is considered an appropriate fix, but that the original problem was never root-caused. A properly configured ICE should be able to trap the problem, but instead a hack is put in place and victory declared.

  • Abuse of sudo (Score:5, Interesting)

    by kramer2718 ( 598033 ) on Tuesday June 30, 2015 @06:02PM (#50022267) Homepage

    At an old job, we were given sudoer privileges, but there was a blacklist of dangerous commands that we couldn't sudo (such as bash, su, etc), so I wrote a one line script to get around that called hijack:

    $@

    Then I could type

    $sudo hijack

    and sudo any command I wanted.

    • Also at an old job...I was mini-mainframe programmer/analyst rendered nearly ineffective by a sysadmin that set up automatic log-out after A FEW MINUTES of keyboard inactivity from the terminal in the name of security. I didn't appreciate having my thought-train derailed every few minutes by a message saying I'd been kicked off. My terminal was a DOS-based PC running terminal emulation software. I wrote a macro to insert two keystrokes into the keyboard buffer every few minutes. (cursor-right followed b

      • That does not beat my take on bypassing security: saving said password into a macro to achieve "automatic login". It also prevented me from taking the guilt trip to the IT dept. because I forgot my password AGAIN, since they made us change it every few weeks. To get to that macro someone had to get to my computer when it was unlocked anyway, so I did not find my own actions terribly wrong.
    • Pardon my ignorance, but what does "$@" do?
      It's not very googleable.

  • by Anonymous Coward on Tuesday June 30, 2015 @06:06PM (#50022285)

    I wanted to play an old abandonware game, but the only copy I could find had been cracked to bypass the "copy protection" questions, and the crack had some unfortunate side effects. An old text file showed which two bytes to change in DEBUG to crack it, so I knew which two bytes had been changed in which file, but I didn't know what the original values were. Fortunately, SCUMMVM's source code shows the hash of the file it's looking for. So I wrote a shell script to create 2^16 copies of the copy with all possible values for those 2 bytes, and looked for the one with the right hash.

  • See title.
  • Tape (Score:5, Insightful)

    by fhage ( 596871 ) on Tuesday June 30, 2015 @06:19PM (#50022343)
    Black, to cover the obnoxious blue LEDs.
    White, to let some light through.
    Masking tape over the speakers in the kid's toys.
    Duct, to keep the taillight on the truck.
    Surgical, to keep the bandage on while I work.
  • decidedly low tech (Score:2, Interesting)

    by Anonymous Coward

    decidedly low tech and it probably shows my age, but back the days of dialup my modem was ridiculously loud when dialling and was capable of waking up other people in the house when i would occasionally get disconnected at night. there was no switch for the speaker but there was a headphone jack. so i cut the 3.5mm jack off a useless pair of earphones and bam, silence.

    • The "L" command (e.g., ATL0) set the speaker volume, but perhaps it didn't work during dialing on your modem.
    • "ATM0" is your friend. It shuts the modem speaker off entirely including during dialing. "ATL0" works on some modems but not others (like internals with the sound piped through the sound card).

  • by Bing Tsher E ( 943915 ) on Tuesday June 30, 2015 @07:01PM (#50022581) Journal

    Back when a 10 MB full-height 5-1/4" hard drive was still somewhat of a big deal, I acquired one that had boot sector damage. It could be low-level formatted just fine, but the first few cylinders were damaged so it couldn't be a bootable drive in a PC-XT clone.

    It used an optical limit sensor to detect when the stepper motor moving the head in and out was at the outer end of travel. I epoxied a little bit of metal onto the end of the encoder to slightly extend the head inward. After a fresh low-level format, the new 'track zero' was defect free and the drive was bootable and could be deployed as the C: drive. I think I then put it to use as the C: drive in the PC-XT that I ran my BBS on (WWIV 3.2.1, 1200 baud, online 24/7)

  • by Sir Holo ( 531007 ) on Tuesday June 30, 2015 @07:02PM (#50022593)

    I have the current version of MS Office. No choice in my profession.

    But – WAY BACK in 2000, I created myriad keyboard shourtcuts and customized toolbar strips. The current version of Word is stupider than any predecessor — 15-year-old bugs have never been corrected, but they took away keyboard shortcuts everyone had adapted to using.

    Well, with two hours of hacking, I banished the Ribbon, and made Word operate the exact same way as I've been used to for 15 years – same keystrokes, Styles, etc.. I did not have to re-learn how to do what I already knew how to do. Unless MS has some improvement on the level of Gutenberg's, they should please stop changing the way typical things are done!

    This ability came from experience hex-editing EA games in the 1980's to make them actually playable.

    I recommend any alternative: Mellel, OpenOffice, Corel WorPerfect, Nisus Writer Pro, LibreOffice, MachWrite, Pages, or any RTF or PT editor. I can even open & edit WordStar files from 1988!

  • With all the clever hacks and workarounds people are posting, I'm ashamed to say my best is using a steak knife as a screwdriver.

  • Because reefer has become too expensive to burn it up inna joint.
    ...poking holes and slits into an empty aluminum can
    ...rooting around in my toolbox and scoring a long 10mm socket

  • by kesuki ( 321456 ) on Tuesday June 30, 2015 @07:59PM (#50022817) Journal

    well the most fun hack was using a kodo beast and a raider to ensnare and devour a level 10 red dragon and suicide the kodo in an enemy base where the level 10 dragon proceeded to kill the enemy for me.

    the best hack ever was using a boot floppy to take a user password which i knew and put it in the root password's shadow file which i had forgotten the root password for, and then rebooted and got into Debian as root, and proceeded to load x as root. it was my laptop though, i just was kinda trying to stop relying on windows 95 and use freebsd and debian linux.

  • Comment removed (Score:4, Interesting)

    by account_deleted ( 4530225 ) on Tuesday June 30, 2015 @08:22PM (#50022921)
    Comment removed based on user account deletion
  • by unrtst ( 777550 ) on Tuesday June 30, 2015 @08:42PM (#50023013)

    I don't use foursquare, but a friend was bragging about being mayor at a couple places. I commented that I could be mayor in a month or two. He ended up betting me I couldn't. I warned him that it was super easy and he would be stupid for making that bet, but he still did it. That night, shortly after a few drunken minutes trying to type my password, the first cron job started running...


    #!/usr/bin/perl
    # call it from cron with:
    # perl foursquare_checkin <location_id> <latitude> <longitude> <your_login_email> <password>
    # Ex: perl foursquare_checkin 2021944 40.676141 -73.983452 foo@bar.baz 12345
    my ($user,$pass) = @ARGV[3,4];
    my $auth = MIME::Base64::encode("$user:$pass",'');
    use MIME::Base64;
    use IO::Socket;
    sleep(rand()*600); # so checkins are slightly random
    my $sock = IO::Socket::INET->new(PeerAddr=>'api.foursquare.com', PeerPort=>80,
                                                                      Proto =>'tcp', Type=>SOCK_STREAM) or die;
    $ARGV[1] += rand() * 0.0001 - 0.00005; # wobble location
    $ARGV[2] += rand() * 0.0001 - 0.00005;
    my $str = "vid=$ARGV[0]&private=0&geolat=$ARGV[1]&geolong=$ARGV[2]";
    print $sock "POST /v1/checkin HTTP/1.1\r\nHost: api.foursquare.com\r\nUser-Agent:" ." Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ " ."(KHTML, like Gecko) Version/3.0 Mobile/1C10 Safari/419.3\r\nContent" ."-Type: application/x-www-form-urlencoded\r\nAuthorization: Basic " ."$auth\r\nContent-length: ", length($str)+2, "\r\n\r\n$str\r\n";
    my $res = <$sock>;

    And yes, I know that's ugly, and there's easier and cleaner ways, but it got the job done well enough to get me mayor of a few places and really pissed off the gambler before I turned it off for good. I have no idea if this still works (ie. lack of any form of message authenticity or handshake etc), but it wouldn't surprise me if it did... feel free becoming mayor of anywhere you want (you can even checkin to places across the country and back on a regular basis and they didn't catch it). But if it no longer works, don't ask me.

  • by Anonymous Coward

    I work with Cisco voice products - everything I do is a hack...

  • by aXis100 ( 690904 ) on Tuesday June 30, 2015 @09:08PM (#50023105)

    Many years ago when WiFi first came out and internet was still really slow I was active in a community based wireless FreeNet. We had set up multiple 10+ km links between our houses and had a full dynamically routed system spanning most of a city.

    Problem was, WiFi is renowned for the "hidden node" problem, where clients cant hear each other and fail to successfully perform collision avoidance. Packetloss goes through the roof and throughput suffers terribly.

    So, I wrote a perl script that interacted with IPtables QUEUE feature to keep the wireless packets a buffer, and they would only be released then that client received a token from a master server. It was a massive hack, but worked a treat and gave huge improvements to our throughput and stability.

    Years later companies like Mitronik and Ubiquity introduced similar functionality in their wireless station firmware, but we were well ahead of the curve.

  • Dang buzzer (Score:4, Informative)

    by Moof123 ( 1292134 ) on Tuesday June 30, 2015 @09:39PM (#50023195)

    Being able to listen to music with your car doors open is great, if not for the dang "your keys are in the ignition. So I spend a couple hours ripping open my dash to get to the stupid thing and rip the connector loose. It was a vast improvement in the utility of my truck.

    • Being able to listen to music with your car doors open is great, if not for the dang "your keys are in the ignition. So I spend a couple hours ripping open my dash to get to the stupid thing and rip the connector loose. It was a vast improvement in the utility of my truck.

      Or, you affix a small tab of sheet metal or plastic near the door light switch with a single screw so you can swivel it over so the switch thinks the door is closed..... takes 15 min. if you have an electric drill.

  • by AndroSyn ( 89960 ) on Tuesday June 30, 2015 @11:01PM (#50023453) Homepage

    So there was a bug several years ago in ircd-ratbox that impacted the core code that wasn't a loadable module. There was a bug in cidr matching that really needed fixed. So..I wrote a loadable module that got the address of the C function that needed replaced. Then I used mprotect to set that page the function was in memory to be read/write.
    Then..I scribbled over the start of the function with x86 opcodes to make it jump to a replacement function that was in the just loaded module.

    Or in code.. match_cidr is the bad function, fixed_match_cidr is the replacement.

    static int
    modinit(void)
    {
            char snag[7];
            snag[0] = 0xB8;
            *(int *) &snag[1] = (int) fixed_match_cidr;
            snag[5] = 0xFF;
            snag[6] = 0xE0;
     
        memcpy(saved, match_cidr, 7);
        mprotect(ALIGN(match_cidr-(PAGESIZE)), PAGESIZE*2, PROT_READ|PROT_WRITE|PROT_EXEC);
        memcpy(match_cidr, snag, 7);
        mprotect(ALIGN(match_cidr-(PAGESIZE)), PAGESIZE*2, PROT_READ|PROT_EXEC);
        return 0;
    }

  • A bit of a hack (Score:2, Interesting)

    by Anonymous Coward

    A few years ago, a coworker of mine wrote a tool to get around hotel WIFI restrictions. They found that usually everything outbound was blocked, except for DNS requests. They also found that they could use their own DNS server without issue.
    They went home and wrote a small DNS server that served theirdomain.com. Requests would be encoded into base64 and submitted via a request for the subdomain of theirdomain.com, and responses were able to be sent back by offering different CNAME results.

    They said it was f

  • Shell Scripting to detect "Dormant BTSs", the feature cost $50K in OMC-B 4.5 and was free in 5.5 (which was due in 1 year and had hardware upgrade and consulting costs associated). Script: $0, one afternoon.

    DispMCR on a Siemens mobile switch of 100k subscribers. Fair enough. but how do you balance 3 of those running at the same time go get 24/7 MCRs? Without bringing down the switch? That takes skill, and steel nerves.

    Now a day, not much hacking, but my chromecast thinks it is in japan, and happily uses WiF

  • Yeah, no big deal I guess. Except that this bash script generated a keystroke file that was input to a DOS-based key injector program to automate some proprietary conversion software to convert thousands of files that were being done manually (keystroke, enter, enter filename, choose option, press go, wait for return, lather rinse repeat - you know the drill).
  • by Anonymous Coward

    ...In order to soften and re-set cracked solder, which is the main cause of the Yellow Light of Death (YLOD) issue.

    PS3 worked well for another 6 months before YLOD'ing again. Luckily in that time I'd been making backups of my save data so I could transfer them to a new PS3 this time around.

    There's Youtube videos for the entire process, but basically:

    - Preheat Oven to 200C
    - Void your warranty and take apart the PS3
    - Keep unscrewing until you can take out the motherboard
    - Clean off the thermal paste from the

    • I did this as well. I took it out when the USB ports started letting out some rather smelly black smoke. ..that's how I knew it was 'ready'. It was successful as well.

  • by Chuck Chunder ( 21021 ) on Wednesday July 01, 2015 @01:31AM (#50023821) Journal

    As development for Wing Commander came to a close, the EMM386 memory manager the game used would give an exception when the user exited the game. It would print out a message similar to "EMM386 Memory manager error..." with additional information. The team could not isolate and fix the error and they needed to ship it as soon as possible. As a work-around, one of the game's programmers, Ken Demarest III, hex-edited the memory manager so it displayed a different message. Instead of the error message, it printed "Thank you for playing Wing Commander."

    https://en.wikipedia.org/wiki/... [wikipedia.org]

  • Our laws have got to be the most daring hack ever.

  • by dotancohen ( 1015143 ) on Wednesday July 01, 2015 @02:20AM (#50023931) Homepage
    I introduced sardines to my daughters as desert, and only give it to them as a treat. Now they enjoy an inexpensive, healthy snack when other kids demand ice cream and chocolate. If that's not a hack, then I don't know what is.
    • Re: (Score:3, Funny)

      by tehcyder ( 746570 )

      I introduced sardines to my daughters as desert, and only give it to them as a treat. Now they enjoy an inexpensive, healthy snack when other kids demand ice cream and chocolate. If that's not a hack, then I don't know what is.

      No offence, but are your kids retarded, or do you just lock them up in the basement away from any other human contact?

      I find it hard to believe they don't know what "sweet" tastes like.

      • Every kid goes through weird phases like that. They'll outgrow it in a month or so.

        • Every kid goes through weird phases like that. They'll outgrow it in a month or so.

          It's been a good two years at least!

      • Of course they know what sweet tastes like. I just took the difficult-but-responsible act of teaching my children to enjoy things that are not sweet, rather than the easy-but-harmful act of teaching them to crave sweets and other harmful substances. My eight year old also does calculus and completely understands the difference between kinetic and potential energy, and does mgh=1/2mv^2 to figure out how fast something is falling, or how fast she needs her bicycle to go before hitting the curb, such that it w
        • Oops, I fed a troll. If it's an excuse to brag about my smart, healthy kids, then it was worth it.

          Now if you had fed the troll a sardine, the internet might be a better place for us all.

      • No offence, but...

        Translation: I am about to say something incredibly offensive, on purpose, but because I say "no offence" first, it doesn't count. Kinda like the assholes who think that parking in no stopping zones is allowed as long as they put on their 4-way flashers first.

        are your kids retarded

        Yup, there it is.

      • I introduced sardines to my daughters as desert, and only give it to them as a treat. Now they enjoy an inexpensive, healthy snack when other kids demand ice cream and chocolate. If that's not a hack, then I don't know what is.

        No offence, but are your kids retarded, or do you just lock them up in the basement away from any other human contact?

        I find it hard to believe they don't know what "sweet" tastes like.

        sweet is anything your parents restrict access to.

  • ...getting around the Wall Street Journal paywall...

    Yes, well, but why would anybody want it that much? It's a Murdoch outlet, I mean? It's a bit like forging a $500 voucher for MacDonalds; you may be able to get $500's worth of food, but it would be MacDonalds.

  • I saw some Java code on stackoverflow that used reflection to disable the strong encryption policy check. It's useful when you're running code in PAAS systems that may or may not have the policy files installed. I thought that was pretty clever.
  • I generally come into work at least 15 minutes late, but I use the side door, that way Lumbergh can't see me.

  • In Washington, red light cameras and school zone speed cameras presume the owner of the vehicle is at fault. Under penalty of law someone can sign an affidavit saying that they were not driving the car at the time of the infraction to get out of it. Not wanting to lie, a cheap hack is to register your spouse's car in your name and vice versa. That way, the registered owner is usually never the driver and the $240 ticket goes away without ever breaking any law.

  • Back in 91 or so we used the Cadre CASE tool. It's main claim to fame was "anyone can learn to use it in 30 minutes". They were right, you could. Problem was, you could because the editor was a weak PoS.

    I wrote a script that would pull files out of the tool, we then ran vi/emacs on them and put them back into the tool as needed. In other words, we used this uber-expensive tool just like we used RCS.

    Best part? After I left the company they ran an audit. Turned out every time you added the file to
  • My favorite so far. Getting around the requirement of having a paid monitoring service for my alarm panel to get notifications of simple events such as arm / disarm.

    Get alarm panel. Wire to Linksys voip adapter. Give it extension on asterisk voip server. Configure asterisk with AlarmReceiver so it will understand the Ademco codes via the voip adapter. Configure that to write to a tmp; and another script found online to parse that to decode events and send appropriate email.

    I just found all the portions

  • I didn't work on this specifically, but this is my way of saying thanks to the people that did. A couple years ago, I got nostalgic and wanted to replay Thief 1 and 2. Turns out, the game looks like crap because the way shading/shadows are handled by graphics cards is completely different than the way it used to work. Correct me if I got this wrong, but some guy wrote a hack that redirected the graphics processing of the game through CPU cycles instead, bypassing the graphics card entirely. With newer h

  • This goes back to my late teens, in the EARLY 1980's. I created a gizmo using various parts and pieces, where I could use it to play any radio station I wanted through someone else's radio. It was most often used at a local 24 hour donut shop, where I hung around with a group of guys until the wee hours. The owner of that store had a radio in a locked box in the back, that piped a local "elevator music" station through the store's speakers. Since it was locked, nobody could change it... until I came along.

  • Once upon a time I was part of a company acquired by a parent company. Sometime thereafter, parent company's product started displaying an error message and then exiting on all of their customers' computers at the same time. Apparently the (hard-coded) license key for some 3rd party component had expired and as a result hundreds if not thousands of people couldn't do their jobs. The affected product Team Leader's fix was to get a new license key, replace it in the source, compile and then get everyone on

  • Popping the capslock key loose from the keyboard.

"The vast majority of successful major crimes against property are perpetrated by individuals abusing positions of trust." -- Lawrence Dalzell

Working...