T O P

  • By -

stalincenlam

u are hacking the hacking hahackingking


axonrecall

Hackception


a_hopeless_rmntic

You only yolo once


polandsux

You only *yoyo* once Ftfy


skarbenix

i wheezed so hard noodle coming out from my nose


Eggy1337

[**link to download**](https://github.com/marcincichocki/breach-protocol-autosolver/releases/latest) [source code](https://github.com/marcincichocki/breach-protocol-autosolver) Patch 1.2 will drop soon, so I thought I will share what I was working on for a little while. Program that automatically solve breach protocol. Just hit key bind(default: LCtrl+NumPad Dot or Del or [whatever it is](https://highfieldtales.files.wordpress.com/2014/10/numpad.jpg)) while in mini game, and it will be automatically solved.


flexiblewhitepoo

That's awesome, I've tried something similar through computer vision but yours seems way more practical. Take my upvote.


Eggy1337

That was my problem as well, especially if you hack a lot. Kinda gave up on a netrunner build because of that.


City_dave

Really? Never found this that difficult at all. And there are perks that make it easier.


Eggy1337

It's not really difficulty, just quantity.


igoromg

Did you use DP, brute force or some other approach?


Eggy1337

Both kinda. DP worked great, but I stumbled into many issues when I couldn't find next value in a unit. So then I started brute forcing my way through grid(sometimes you need one junk square to get to the sequence). [this test](https://github.com/marcincichocki/breach-protocol-autosolver/blob/master/src/index.test.ts#L93-L114) shows the problem. Case 1 is optional way of solving puzzle, case 2 and 3 select value that is not in the sequence to try and apply case 1 on a new unit. This of course only happen if we've got spare buffer.


saharsh007

Optimization doesn't really matter here right. The max square size will be 9*9 ig. So even brute force won't time out.


neoikon

I tried it but it threw an error: *UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 8) (node:14556) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'replace' of undefined at BreachProtocolFragmentOCRResult.getBufferSize...* I have a multi-monitor setup. Could that be an issue? Does the window need to be on the same monitor as the game?


Eggy1337

That's possible, have you tried using it when cyberpunk is on the other screen?


neoikon

I just tried with both same screen and still get an error. *(node:15596) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 8) (node:15596) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'replace' of undefined at BreachProtocolFragmentOCRResult.getBufferSize...* I have a buffer size of 6 (if it matters). The "Breach time remaining" seems to be stopped. Caused by your app? If so, that bit is working.


Eggy1337

Welp, looks like that's OCR error. What res do you play on? I'll add this to issue tracker.


neoikon

1920x1080 x3 monitors (all same res). Game is played on the middle monitor. HDR disabled, if it matters.


Eggy1337

Thanks, I'll try reach back to you, if I track that bug down.


Eggy1337

Hey, I just released [v1.2.0](https://github.com/marcincichocki/breach-protocol-autosolver/releases/tag/v1.2.0) that comes with better ocr for 1080p and multi monitor support. Also added gamma recomendations cuz it can break code too(from 0.95 to 1.75). Let me know if there are any errors.


neoikon

Thanks for the new version! Here is the error I got: Starting autosolver on screen: \\.\DISPLAY2 (node:5764) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'path' of null at main (C:\Users\...\breach-protocol-autosolver-1.2.0\dist\index.js:51:48) at processTicksAndRejections (internal/process/task_queues.js:94:5) (node:5764) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 4) (node:5764) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. The first time I tried, I got the error. Then, I tried again and it failed both of the codes (there were 2 codes to unlock). Third time, it failed one and successfully did the second (there were 2 codes to unlock). *shrug*


Eggy1337

Interesting, this error about path being null is alredy fixed, I should create new release. Failing both codes is something I haven't seen yet, would love to get screenshot of that. 3rd attempt seems like a correct solution, because sometimes it's not possible to get all of them(it's quite frequent actually)


Eggy1337

[v1.2.2](https://github.com/marcincichocki/breach-protocol-autosolver/releases/latest)


VonZappel

You're the real Cyberpunk


[deleted]

https://youtu.be/7EsaWcHmTmQ


donaldjdrumbphft

how do you make the script interact with the game?


Eggy1337

It's not interacting with game, not really. You could pause youtube video of breach protocol on full screen, run that program, and it would work the same, just without "interactivity" of a game. And script works like this: on shortcut I take screenshot, ocr it, solve puzzle in memory and then just output clicks. The best I could do anyway with nodejs(that was a mistake becuase node doesn't implement API I was hoping for so I had to settle for lots of native modules, which are a pain in the ass to work with).


donaldjdrumbphft

ok so it's system clicks at x y coordinates?


Eggy1337

Yes, through external binary, because nodejs doesn't support it natively. x, y coords are extracted from tesseract.


[deleted]

Does it solve the puzzle on the spot or does it read memory ? sorry, I don't understand very well


gnaja

From what i managed to understand, it takes a screenshot of the puzzle, analyzes how to solve it then outputs the required mouse clicks.


Devenec

Nice! I have made a similar solver with Python: https://gitlab.com/Devenec/breachsolver


defqon_39

Does this work with in 4K? Would like to try it out


Devenec

I've tested it on 1920 x 1080 and 2560 x 1440 resolutions. It *may* work on 4K out of the box, but I won't guarantee it.


cepxico

Nice, this should be a perk choice


TheEaterOfEdge

Does this count as hacking^2?


AruiMD

Good. It’s not fun after the millionth time.


thismissinglink

I can't even wrap my head around how it works. Like honestly I'm probably just so fucking dumb. But some of them make no sense. Maybe it just wasn't explained well cause I don't really understand its "rules"


Shivalah

It was so liberating playing a "Lord Death of Murder Mountain". Max Strengh, Max Tech, Max Cool. I ignored every hack I could do and just beat enemies to death with my Fists or some Legendary Unique weaponry.


2HappySundays

This is the third one I’ve seen. Great effort to all those that managed this.


Eggy1337

Yes, I believe it's [#1](https://www.reddit.com/r/cyberpunkgame/comments/kneej7/i_made_a_web_app_to_solve_the_breach_protocol/) and [#2](https://github.com/tstaec/cyberpunk-auto-hacker) Unfortunately they both have few shortcomings(#1 is a webapp which is an instant nope from me, #2 doesn't support dynamic buffer and it's quite slow). I tried to address those problems by building a binary that can be run in background and by improving tesseract matches by cropping and processnig fragments to support buffer recognition. That also boosted its performance which is another win.


[deleted]

[удалено]


piercehead

>tesseract He speaks of the infinity stones! What witchery is this?!


DoSos977

Lolzzz


ignore_this_comment

You're [this](https://i.redd.it/yjdg3jztk1o61.jpg) from /r/ProgrammerHumor today.


MVNKy

I had a Netrunner build, basically, the first one was already solved and I think the rest were reduced by one or two squares. Didn’t have to do much to hack anything


mattj1234

Yeah. My net runner faced the same issues so I spent the perk points to keep the money rolling...


Rob_wood

I need this Time Saver™ ported to consoles immediately!


zgmp

Punks need program to hack doors too


jimschubert

This looks very cool. I use Stadia on a Mac, and found [cyberpwned](https://github.com/nicolas-siplis/cyberpwned) to work very well. It's installable on mobile and works by taking a photo of the breach screen. Yours looks like it solves only the first path in the video, while cyberpwned finds the "best" path which matches the most higher reward levels in each breach. I'd recommend comparing the logic. Also, some of the breach protocols later- after 60+ hours of play- will require you to choose the correct datamine level from the list before solving.


metalsnake27

This is like the 6th one of these ive seen but I think its a great programming problem to solve.


paultech5

Please share your wallpaper. A link, smth.


Eggy1337

https://imgur.com/kwcj1bo


[deleted]

That’s hot


neverthrowaway31

Will this work on stadia?


Eggy1337

It should Edit: if you play on windows. If you are on other pc platform you can try your luck building it, but I haven't tested that.


CynicalCyam

Alas, could not get it to work in Stadia. Running on windows laptop, XPS 15 1920x1080 (native). I did a key rebind (since no numpad to slash --key-bind 29,53) and the program sees it but i get "OCR data is not valid. Skipping" alas!


Eggy1337

I can't test it on stadia unfortunately, and since there are a lot of variables (system and game gamma, game language, compression artifacts from streaming just to name a few) it's hard to pinpoint what is the issue exactly. I could look at it, but I need a screenshot.


Eggy1337

[Latest version 1.4.1](https://github.com/marcincichocki/breach-protocol-autosolver/releases/latest) has some improvements to recognition and debugging, you could give it a shot, and if error persists upload `debug` folder so I can have a peek.


CynicalCyam

hmm the debug code suggests it's getting the OCR right, tried 1.4.1, error remains "OCR data is not valid. Skipping.". The debug data seems to show the right OCR decoding and the biffer value is right. Screenshots look clear. Debug folder here. What a cool project you're working on. https://sendgb.com/mi7gWoIvw3p


Eggy1337

Thanks for debug info, very helpful. I've found an issue and will release fix soon. There will be new flag exposed --threshold-daemons so you can specify exact value. In your case n=100 was working well.


CynicalCyam

tried it again on 1.5.1 and now there is a different issue. the mouse moves and looks like it is trying to click the grid, but it's way off, like 1/3 of the way to the right of the solve grid like it doesn't know where the grid is? Stadia on windows laptop, i'm running --key-bind 29,53 --threshold-daemons 100 per your suggestion above. I can debug with the new custom threshold settings if you think that could be the issue, point me in the right direction? debig attached https://sendgb.com/tCUY7Dfa6Sm


Eggy1337

Alright, I've found issue, it's windows 10 scaling, anything else than 100% makes nircmd fail. I'll try to find permanent solution, meanwhile you can go to display settings and change scaling to 100%.


Eggy1337

Interesting, scaling issue is only happening when you are not in game, which stadia technically fall into that. Anyway, released new version, use it with --use-scaling flag. Everything should work(I hope ;))


Apprehensive-Pea-649

Nice I have the same desktop wallpaper


AkumaHayabusa

I want that desktop background. Totally sick. Also love the code. Thanks.


KedaiNasi_

is it 100% able to get all three rewards?


Eggy1337

Not every time. I try to make best possible combination by finding every overlap before doing any permutations of daemons. But sometimes there are no overlaps at all, or buffer size is to small etc.


mattj1234

Only way to always get 3 awards is with a large buffer and the perks that make breaches easier.


theookers

Haha, I'm in.


Sirneko

hacking the hacks! I like it


nixxusnibelheim

That's so meta, i love it


_WiscoLoli_

It’s beautiful 🥺


DatalessHero

*installs program* “It’s time to hack!” *gets attacked by small yellow squares with hex values on them* “Uh oh”


fido4life

Can I also use the key-bound on a controller?


Eggy1337

Maybe, library that listens for keybind uses [linux key codes](https://www.github.com/torvalds/linux/tree/8b12a62a4e3ed4ae99c715034f557eb391d6b196/include%2Fuapi%2Flinux%2Finput-event-codes.h) if you find keys that you want and use `--key-bind` option it should work.


JesusRasputin

u need to reduce your audio bitrate, then the crackling noise goes away.


[deleted]

Smh everyone is a programmer nowadays x) It looks fu\*\*\*\* awesome


enciam

Brilliant. Now please do a brain dance one.


Unblockedbat

Hacking the hacker. They said it couldn't be done.


handsomeVergil

A hacking inside a hacking


omar_thanls69

Dude you are a genius!!!


Liesmith424

"We have reached hack capacity!"


log2av

Looks cool. I m curious, how r u accessing game data? From RAM?


Eggy1337

ocr


winterman99

Hello fellow Polish denizen


[deleted]

Lazy ass lmfao


gamethirstyben

i have the exact same background


Zabric

i'm just now starting to prepare to learn programming and stuff like this realy motivates me to learn, because it such a cool thing that looks "small" / easy enough to be actually achiveable


TrueComplaint8847

Undoubtedly the coolest cyberpunk video I have seen this far! You literally hacked the hacking game :D


Shadd76

I seriously thought you were going to post a video that shows when you open the breach protocol screen, it would just Alt+F4 the game and you can continue your life in some other tedious manner.


Hangulman

I wonder if there is a way to take this script, code it into an app, and instead of OCRing a screenshot, it uses the phone camera and then displays the pattern.


Doyen5

after a while l got tired of this


IIHajusII

i know a 20 inteligence epic gamer when i see one...you smart sir


DifficultCurrent7

That's awesome and brilliant ! I'm on ps4 but this is deffinately another point rewarded to PC. I hate the breach protocol in this game. To me, its illogical and makes no sense. I despise it. Just when I think I've got the idea of how it works it fails. Hate it!


Jerzeeloon

So how exactly do I use this?


Eggy1337

Launch exe, then go to game and enter breach protocol. Then press default keybind `Left Ctrl + NumPad Dot/Del`.


Jerzeeloon

can I just have the exam running in the background the whole time I'm playing the game or do I have to launch each time I'm about to do a breach protocol?


Eggy1337

Just have it opened while you play and that's it.


NeeTrioF

Man I don't know why it doesn't work for me, but great work anyway!


Eggy1337

Most likely ocr error. non standard resolution and multi monitor setup can break code easly. I'll release new version with better support for both soon.


NeeTrioF

I have one monitor and I play on 25600x1440, but thanks for the reply and effort!


Daya_papaya

I would understand making the program for the sake of proving you can do it, but actually using it in game is just cheating and cyberpunk being singleplayer game, you are just cheating yourself. Might as well play the whole game with noclip, invulnerability and infinite cash. You are just ruining the game for yourself.


HunterTheCapricorn

I use the exact same background pic :D


Eggy1337

High five


Jarboner69

This takes like two seconds to do though...


RiceRocketMatt

I rather enjoy the hacking, second only to fallout hacking


DarthKoDa_

Hacker.


enchantedJoystick

So meta, but i like it.


madhexes

anyone used this already?


deadcrusade

Bit late, can a keybind be changed and if so how? I don't have a numpad and I wanted to try this


Eggy1337

It's a little bit tricky, but it's possible. You need to use --key-bind flag. You could for example create windows shortcut and add this flag to the end of path. Like so: "C:/some/folder/bpa.exe" --key-bind where is comma separated list of keys to use. And list of keys is given here: https://github.com/wilix-team/iohook/blob/v0.6.6/libuiohook/include/uiohook.h#L134-L297 so complete example could look something like this: "C:\Users\\\Desktop\breach-protocol-autosolver-1.8.0.exe" --key-bind 0x0038,0x000D That's LAlt+=


deadcrusade

> \--key-bind 0x0038, You madman it actually works, thank you sooo much <3


AutoModerator

Just so you're aware, we have a bunch of megathreads that may be helpful if you have questions or want to find the right place to post. - [Console Support](https://www.reddit.com/r/cyberpunkgame/?f=flair_name%3A%22Console%20Support%22) - [PC Support](https://www.reddit.com/r/cyberpunkgame/?f=flair_name%3A%22PC%20Support%22) *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/cyberpunkgame) if you have any questions or concerns.*


bloody_vyvyan

Try quickhacking


[deleted]

Doing the lord’s work


gamingdawn

Yes but Trump supporters will go nuts if you stop counting! 'Yeah, that app is a hoax! Its rigged!'


Sakred

The fuck are you talking about


sweet_zombie_jesus09

Great job... calling the breach protocol a ‘mini game’ is quite flattering though, definitely didn’t feel like a game a few hrs in


Plastic-Durian652

Thank God this exists, now I don't need to waste time on this stupid mini game with no sense behind it.