Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality✓ Free Actions
Free to watch • No registration required • HD streaming
we had such a good idea but she got wasted and i sobered up halfway through 😭 so we only got keeho and theo done 💔 we’ll finish the rest at the next party, cuz we clearly need to be equally drunk for the creative process to work. trust me twins 👀🤔
synopsis ▸ the most wanted hacker in the country keeps leaving messages only you can understand. what starts as a manhunt turns into an uneasy partnership, a city-wide cyber conspiracy, and a game neither of you was ever supposed to survive. the closer you get to catching keeho, the more dangerous it becomes to let him go.
contains ▸ hacking, cybersecurity, programming, enemies to lovers, slow burn, unresolved tension, trust issues, trauma, action, mystery, morally gray characters, eventual romance, a bit of cursing, no smut
wc. of whole fic 26.6k / chapter six 1.5k
part seven - final
A location followed. You quickly looked at Keeho.
“It's a trap.”
“Obviously.”
“You're smiling.”
“I know.”
“Why?”
“Because this is the first time he made a mistake.”
You raised an eyebrow. “What mistake?”
“He gave us a location.” You stared.
“Maybe he wants us there.”
“He does.”
“Then why are you happy?”
Keeho looked at you. “Because Theo has always controlled the game.”
He picked up his laptop. “Now he's waiting for us.”
You understood. “And that means we control when it starts.”
He smiled. “Exactly.”
There was nothing left for either of you to do in the room.
The police and counter-terrorism unit had already begun taking control of the scene. The servers were being isolated, every piece of equipment photographed and catalogued, and the remaining evidence was being placed under their protection. You gave them everything you had collected so far, including the encrypted files and the information recovered from Theo's infrastructure.
You made it clear that the building was no longer your scene to investigate. From that moment on, it belonged to them.
They would secure every entrance, preserve the evidence and determine how the supervisor had disappeared without leaving a single trace.
You and Keeho had somewhere else to be.
Before leaving, you made one final request concerning Shota.
He was to be transported to a private hospital in the city center rather than a public facility. His condition was stable, but after everything he had been through, you didn't want his location becoming public knowledge or putting him within easy reach of anyone connected to Theo.
The paramedics agreed and prepared him for transport.
Shota was still weak, barely conscious, but alive.
That was enough for now.
The location was an underground data center beneath an abandoned telecommunications facility.
You arrived at 05:12.
The building looked dead. No electricity. No security. No signs anyone had been there in years, but your equipment detected a massive electromagnetic signature beneath the ground.
You looked at Keeho. “He's here.”
“I know that.”
You descended. The deeper you went, the warmer the air became.
Servers.
Thousands of them.
Rows disappearing into darkness.
A private data center.
Not abandoned, never abandoned.
At the center was a single workstation.
One screen.
One chair.
One keyboard.
And one message.
WELCOME HOME, KEEHO.
Keeho stopped.
You stepped beside him. “You've been here before.”
“I have.”
“When?”
“Eleven years ago.”
He walked slowly toward the workstation. “I thought Theo destroyed this place.”
“Well… I guess he didn't.”
Keeho looked around. “He built it for me.”
You frowned. “For you?”
“He wanted me to finish something.”
You approached the terminal. “What?”
Keeho sat down and the system activated.
A video appeared.
Theo.
“Hello, Keeho.”
Keeho stared, hands on his lap, fingers playing with the skin next to his nails.
“You finally came back.” You stood behind him and Theo continued. “You probably hate me.”
Keeho didn't move.
“You should.”
The video changed. It was an old footage. Keeho at nineteen, sitting beside Theo and writing code. You watched him laugh. You had never seen Keeho that young and happy. He looked happy.
Theo's voice continued. “You were always better than me.” Keeho's jaw tightened at his words. “That was the problem.”
The footage changed. Now on the screen was Keeho writing Ghost Protocol. Then stopping. Then arguing with Theo. Then leaving.
You understood. “He knew you'd eventually turn against him.”
Keeho nodded. “He planned for it.”
The video continued. “Ghost Protocol was never meant to be completed.” Theo smiled. “It was meant to evolve.”
You stared.
“The system learned from every person it observed.”
Keeho whispered, “Machine learning.”
“Not exactly,” Theo continued.
“It learned behavior.” The architecture appeared. The system wasn't just collecting information, but it was adapting. Creating models, testing predictions even correcting itself.
And eventually… making decisions.
You felt a chill. “An autonomous intelligence system.”
Keeho nodded. “That's what he wanted.”
Theo's voice continued. “But I couldn't teach it morality.” The screen showed thousands of simulations. “Then I realized you could.”
Keeho froze. “Me?”
“Yes.” The video showed Keeho's old code. Security systems, ethical constraints, human-centered safeguards. “You were the variable I could never predict.”
Theo smiled. “That is why I needed you.”
Keeho looked at you. “I thought he wanted control.”
“He did.” You looked at the system. “But not over people.”
Keeho understood. “Over the intelligence itself.”
The system activated and short later a prompt appeared.
FINAL ARCHITECT REQUIRED.
Then:
KEEHO.
You stepped closer. “What happens if he finishes it?”
Keeho looked at the code. “He doesn't need to finish it.”
“What?”
“It already works.”
You stared. “Then why bring us here?”
Keeho's eyes moved across the architecture. “To make me choose.”
You frowned. “Choose what?”
The system displayed two options.
ACTIVATE
DESTROY
Keeho stared. “If I activate it, it becomes the most powerful predictive security system ever created.”
“And if you destroy it?”
“It disappears.”
You looked at him. “Then destroy it.”
He didn't move. “You don't understand.”
“What?”
“This could prevent attacks before they happen.”
“You'd be giving someone the ability to predict millions of people.”
“I know.”
“That isn't security, fucking dumbass!”
He looked at you. “You're right.”
You stepped closer and frowned. “Then what are you waiting for?”
He looked at the screen. “My whole life.” A pause. “I spent years trying to build something that would protect people.” His voice shook. “Then Theo took it and turned it into a weapon.”
Your expression softened and slowly placed your hand over his. “You don't have to fix the past.”
He looked at you.
“You just have to decide what you do next.”
He stared at you for a long moment. Then slightly smiled. “You really are terrible at giving speeches.”
You laughed. “Shut up.”
“Sorry.” He turned toward the terminal. “Let's destroy it.”
You sat beside him. “Together?”
He looked at you. “Always.”
You began.
But this time, you didn't write a destructive script - you wrote a proof.
A cryptographic verification layer.
You wanted to make sure no hidden copy could survive.
No backup, no dormant proces, no secret instance.
So you constructed a recursive integrity check.
def verify_system(node, visited=None):
if visited is None:
visited = set()
if node.id in visited:
return True
visited.add(node.id)
for child in node.children:
if not verify_system(child, visited):
return False
return node.signature == expected_signature(node)
Keeho read it.
“You're checking every node.”
“Every reachable node.”
“And the unreachable ones?”
You smiled. “That's why I added this.”
You typed another function.
def locate_orphans(storage):
candidates = []
for object in storage:
if object.reference_count == 0:
candidates.append(object)
return candidates
Keeho smiled. “Orphaned data.”
“Exactly.”
“That's evil.”
“Thank you.”
“I'm impressed.”
“Better.”
He laughed, but then his expression became serious. “Ready?”
You looked at him. “No.” You said honestly.
“Me neither.”
“But let's do it anyway.”
You pressed Enter and the system began validating itself.
CHECKING CORE…
VALID.
CHECKING MIRRORS…
VALID.
CHECKING ORPHANED STORAGE…
3 INSTANCES FOUND.
Your heart stopped. “Keeho…”
“I see them.”
Three hidden instances. Three backups. Theo had planned everything. You opened the first. Your hand was shaking.
Deleted.
Second.
Deleted.
Third.
The system resisted.
ACCESS DENIED.
Keeho frowned. “That's the root.”
“Can you access it?”
“No.”
You looked at the code. “Then we don't access it.”
He looked at you. “What?”
“We change what it means to exist.” You smiled. “If the system only recognizes itself through cryptographic identity…”
Keeho's eyes widened. “You're going to invalidate its identity.”
“Exactly.”
He understood immediately and you both started typing.
def revoke_identity(instance):
instance.signature = NULL
instance.key_reference = NULL
instance.trust_state = "REVOKED"
return instance
Keeho added the final line.
commit_revocation()
You pressed Enter and the screen froze.
Then:
IDENTITY REVOKED.
The final instance disappeared. The system began shutting down.
10%.
25%.
50%.
Keeho watched silently.
75%.
90%.
You looked at him. “You okay?”
He nodded. “Yeah.”
100%.
The screen went black. For the first time in eleven years, Theo's system was gone. You leaned back. Keeho exhaled slowly.
“It feels weird.”
“What?”
“Being free.”
You smiled. “You'll get used to it.”
“I don't know.” He turned toward you. “I've been running for so long that I don't know who I am when I'm not.”
You looked at him. “Then figure it out.”
“Sounds easy.”
“It won't be.”
He smiled. “But I'll have help.”
You raised an eyebrow. “From who?”
He looked at you. “You.”
You smiled. “Maybe.”
“Maybe?”
“You're still technically a criminal.”
“Past tense.”
“You illegally accessed government systems.”
“Necessary.”
“You stole classified information.”
“Also necessary.”
“You destroyed several networks.”
“Okay, that one was unnecessary.”
You laughed and he smiled.
Then the smile faded and he became serious.
“Do you regret meeting me?”
The question caught you off guard. “No.”
“Even after everything?”
“No.”
He looked down. “I do.”
You frowned. “You regret meeting me?”
“No.” He looked back at you. “I regret that it took me so long.”
synopsis ▸ the most wanted hacker in the country keeps leaving messages only you can understand. what starts as a manhunt turns into an uneasy partnership, a city-wide cyber conspiracy, and a game neither of you was ever supposed to survive. the closer you get to catching keeho, the more dangerous it becomes to let him go.
contains ▸ hacking, cybersecurity, programming, enemies to lovers, slow burn, unresolved tension, trust issues, trauma, action, mystery, morally gray characters, eventual romance, a bit of cursing, no smut
wc. of whole fic 26.6k / chapter four 4.2k
part six
an ▸ wow we are getting closer to the end
Keeho stepped closer.
“It's a countdown.”
“For what?”
You didn't have to ask. The server room door locked. The lights shut off. Emergency systems activated. Red illumination filled the room. Your phone lost signal. Keeho checked his laptop.
“No network.”
You looked at the server racks.
“Not completely.”
“What?”
“Look.”
One status light was still blinking. A private network. You walked toward it.
Keeho followed. “That's not part of the department infrastructure.”
“Then what is it?”
He examined the port. His expression changed.
“I've seen this before.”
“Where?”
“Shota’s code.”
You stared. “So he's here.”
“Maybe.”
“Or Theo wants us to think he is.”
Keeho looked at you. “That's exactly what he would do.”
You stepped toward the terminal. “Then let's find out.”
You connected your forensic interface.
A login screen appeared.
No username.
No password.
Only one prompt.
WHO ARE YOU?
You frowned. “That's not authentication.”
Keeho looked at it. “No.”
“It's a challenge.”
“For what?”
He looked at you.
“For identity.”
You understood. “A behavioral key.”
“Exactly.”
You looked at him. “Can you bypass it?”
“Yes.”
“Do it.”
He shook his head. “No.”
You frowned. “Why?”
“Because it's designed for me.”
You stared. “You're saying the system recognizes you?”
“Yes.”
“Then log in.”
Keeho hesitated. And you noticed.
“What?”
“If this is really Shota…”
“He wants you to enter.”
“Yes.”
“And if it's Theo?”
“I give him access.”
You looked at him. “Then we do it together.”
He stared. “How?”
“You authenticate.”
“I can't.”
“Why?”
“Because the system expects a private behavioral sequence.”
Keeho sat down. His fingers hovered over the keyboard. For a moment, he didn't move. Then he started typing.
Not code.
A sequence.
Short.
Fast.
Precise.
The system analyzed him.
BEHAVIORAL MATCH: 81%
Keeho continued.
89%.
Then:
97%.
The screen changed.
WELCOME BACK, KEEHO.
He stopped. His breathing became uneven. You placed your hand on his shoulder.
“It's okay.”
He looked at you. “No.”
“What?”
“I've seen this interface.”
“Where?”
“Eleven years ago.”
The screen displayed a file directory.
One folder.
SHOTA.
Keeho clicked it. Inside that folder were hundreds of files. Videos. Documents. Code. Messages.
You looked at him.
“He left this for you.”
He nodded.
The first video opened automatically.
Shota appeared on the screen. Older and calmer.
But the same eyes.
“Keeho.” He froze. “If you're seeing this, then you finally stopped running.”
You looked at him.
Shota continued.
“I knew you would.” He smiled. “You always hated unfinished problems.”
Keeho's eyes became glassy.
“I need you to listen carefully.” The video changed and diagram appeared.
You recognized it immediately.
Ghost Protocol.
But it wasn't what you expected. It wasn't a hacking system. It was an intelligence architecture. A system capable of correlating public records, network behavior, financial transactions, communication metadata and behavioral patterns. Not reading people's thoughts. Predicting their choices.
You whispered, “Predictive profiling.”
Shota nodded on the screen.
“Ghost Protocol was never designed to control people.” The video continued. “It was designed to detect threats before they happened.”
Keeho stared.
“But Theo changed it.” The screen showed another architecture. Darker and more complex. “Theo discovered that prediction could become manipulation.”
You watched as the system simulated possible outcomes.
If person A receives information X, probability of action Y increases.
If person B loses access to resource Z, probability of response changes.
You felt sick.
“He built a behavioral control system.” Keeho nodded. Shota continued. “And that's why I disappeared.”
You looked at Keeho. He whispered, “He knew.”
Shota’s voice continued. “I discovered what Theo was doing.”
“I tried to stop him.”
“I failed.”
The video changed. Shota was sitting somewhere different. A dim room. His face looked tired. “But I didn't disappear.”
You leaned closer.
“I hid.”
The video stopped. A second file opened.
A map.
You recognized the location. A building outside the city. Not abandoned. Not listed.
Private.
You looked at Keeho. “He wants us to find him.” He nodded.
The clock showed 03:57.
Three minutes.
You grabbed your jacket.
“Let's go.”
Keeho stood up and then stopped. “Wait.”
“What?”
He looked at the screen. “Something's wrong.”
You turned. “What?”
“The video.”
“What about it?”
He pointed at the timestamp. “This recording was created yesterday.”
You froze.
“That means…”
“Shota is alive.”
You nodded.
“But it also means he knows we're coming.”
“Yes.”
You both moved. Fast. The cybercrime division was already descending into chaos outside the server room. Emergency systems were failing. Doors were locking. Communication systems were dropping. But you didn't stop. You grabbed a security badge from the wall.
“Keeho.”
“Yeah?”
“You're driving.”
He looked at you.
“That's probably the worst decision you've ever made.”
“Do you know how to drive?”
“I do.”
“Then move.”
He smiled. “Bossy.”
“Get in the car.”
You reached the building at 04:16.
No lights, no security, no visible cameras. Which immediately made you suspicious. You checked the perimeter.
“Too quiet.”
Keeho nodded. “This is a trap.”
“Probably.”
“You still want to go inside?”
“Of course.”
He looked at you. “You're insane.”
“Occupational hazard.”
You smiled. “Your phrase.”
“I'm rubbing off on you.”
You entered. The building was empty, floor after floor - nothing. Until you reached the basement. One door. Locked.
Keeho examined it. “Mechanical.”
“No electronic system?”
“No.”
“Why?”
“Because Theo knows we're good with electronic systems.”
You looked at the lock. “Can you open it?”
“Duh.”
“How?”
“Without breaking it.”
He pulled a small tool from his jacket. Your eyes widened. “You carry lockpicks?”
“Sometimes.”
“You are a walking crime.”
“Formerly.”
“You're still doing it.”
He smiled. “Technically.”
The lock clicked and door opened. Inside was a room filled with servers. Not modern ones. Old hardware. Everything was custom-built.
You walked between them.
“This is impossible.”
Keeho touched one of the machines. “This is where it started.”
You looked at him. “The original Ghost Protocol.”
“Mhm.”
“You kept it?”
“No.”
“Then who did?”
A voice answered from the darkness. “I did.”
You immediately drew your weapon.
Keeho stepped in front of you.
A man emerged.
Light hair.
Tired eyes.
A face that looked strangely familiar.
Keeho stopped breathing.
“Shota.”
He smiled.
“Hello.”
He didn't move and you lowered your weapon slightly. Shota looked at you.
“You must be the detective.”
You nodded. “You know who I am?”
“I know everything about you.”
Keeho immediately stepped forward. “Don't.”
Shota looked at him.
“You still protect people before yourself.”
He swallowed. “You're alive.”
“Yes, I am.”
“You let me believe you were dead.”
“I had to.”
“For eleven years?”
“Yes.”
His voice broke. “You could've contacted me.”
“I did.”
Keeho froze. “What?”
“Every time you found another trace, that was me.”
You looked between them.
“The messages?”
Shota nodded.
“The abandoned systems.”
“The dead accounts.”
“The hidden files.”
“Yes.”
Keeho stared at him. “You were guiding me.”
“I was trying to.”
“Why didn't you just tell me?”
“Because Theo was watching you.”
He looked at you. “And now he's watching both of you.”
The servers behind him suddenly activated.
Every light turned on. Your phone vibrated.
One message.
YOU SHOULD HAVE STAYED AWAY.
Shota’s expression changed.
“Too late.”
Keeho moved toward the servers. “What did you do?”
Shota looked at him.
“I activated the original protocol.”
You stared. “Why?”
“Because Theo is already inside the city.”
Your heart stopped. “How?”
Shota looked at you.
“Through people.”
You understood. “The behavioral system.”
He nodded.
“He doesn't need access to the network anymore.”
“He can manipulate users.”
“Yes.”
“And he already has access to someone inside the department.”
Shotas's eyes moved toward you.
“Not someone.” You froze.
“Who?”
He looked at Keeho.
“Your supervisor.”
Silence. You felt your stomach drop.
“No.”
Shota nodded. “Your supervisor has been working for Theo for six years.”
Keeho looked at you. “That's why they always knew where we were.”
You thought about every meeting. Every classified file. Every time Theo seemed one step ahead.
You felt sick. “But why?”
Shota looked at the servers.
“Because Theo doesn't recruit people with money.”
He looked at you. “He recruits them by giving them exactly what they want.”
“And what did my supervisor want?”
Shota's expression became colder. “Control.”
The servers suddenly began uploading data. You rushed toward the console.
“Keeho.”
“I see it.”
“It's exfiltrating the entire department database.”
He sat down. “I can stop it.”
Shota shook his head.
“No.” Keeho looked at him.
“You can't stop it from here.”
“Why?”
“Because the upload is only a decoy.”
You froze. “What?”
Shota looked at you.
“The real attack is happening somewhere else.”
You understood immediately. “The Ghost Protocol.”
“Bingo.”
“And the department network is just the distraction.”
“Exactly.”
Keeho looked at you. “He wants the original architecture.”
You nodded. “And he knows we're here.”
A sound echoed through the basement. Footsteps. You turned. Someone was coming down the stairs. Keeho immediately stood. Shota moved behind the servers.
You raised your weapon and the door opened. Your supervisor stepped inside.
You stared.
“Sir?”
He smiled. But not the familiar smile. Not the one you had seen hundreds of times. Something colder.
“Mrs. Detective.”
Keeho's jaw tightened.
“You.”
Your supervisor looked at him. “It's been a long time.”
You turned toward Keeho. “You know him?”
Keeho's expression was unreadable. “Yes.”
“How?”
“He was there.”
Your supervisor smiled.
“The night Shota disappeared.”
You felt the pieces connect. Keeho looked at him. “You told me he was dead.”
“I needed you to believe that.”
“You worked for Theo.”
“I still do.”
Shota stepped forward. “You're lying.”
He looked at him. “You should have stayed hidden.”
“You should have stayed dead.”
Keeho moved toward him. You stopped him. “Don't.”
He looked at you. “He knows where he was.”
“We'll get the answers.”
Your supervisor laughed. “You still think you're in control.”
He pressed something on his phone and every server activated. Shota's expression changed.
“No.”
The Ghost Protocol came online. You watched the interface, but tt wasn't attacking. It was calculating.
KEEHO - 91% PROBABILITY OF SACRIFICING SELF FOR DETECTIVE.
Keeho stared.
Your supervisor smiled.
“He knows you.”
Keeho looked at you. “No.”
He stepped closer. “He thinks he knows us.”
The system recalculated and the numbers changed.
PREDICTION ERROR.
Your supervisor's smile disappeared. Keeho smiled. For the first time, you saw the old hacker. The dangerous one. The brilliant one. But there was something different. He wasn't running anymore.
“You built the system to predict people,” Keeho said. He walked toward the terminal. “But you forgot one thing.”
Your supervisor frowned. “What?”
Keeho looked at you. “People can choose.”
He opened a terminal. You understood immediately.
“You're going to corrupt the prediction model.”
“No.”
He looked at the architecture. “I'm going to teach it uncertainty.”
“I can give you the original weighting algorithm.”
You looked at him. “You still have it?”
He smiled. “I wrote it.”
The three of you worked together. Keeho rebuilt the core. Shota supplied the original architecture. You attacked the prediction layer. Your supervisor watched in disbelief.
“You can't destroy it.”
Keeho looked at him. “We're not destroying it.”
He pressed Enter. “We're freeing it.”
The system began recalculating.
ERROR.
PREDICTION CONFLICT.
BEHAVIORAL MODEL UNSTABLE.
Your supervisor stepped back.
“No.”
You continued typing.
MODEL CONFIDENCE: 61%.
Then:
34%.
Then:
12%.
Finally:
UNABLE TO PREDICT HUMAN BEHAVIOR.
The system shut down.
Silence. You exhaled. Keeho leaned back.
“It's done.”
Your supervisor stared at the dead screens. “You have no idea what you've done.”
You looked at him. “We stopped you.”
He smiled. “No.”
He looked at Keeho.
“You just proved why Theo chose you.”
Keeho's expression hardened. “What does that mean?”
Your supervisor laughed.
“Ask him.”
He pointed toward Shota.
“Ask your brother what he did after he disappeared.”
Keeho turned. “Shota?”
He went pale.
You looked at him.
“Shota?”
He didn't answer. Your supervisor smiled.
“Because he wasn't hiding from Theo.” He looked at Keeho. “He was working for him.”
The room went silent. Keeho stared at his brother. “Shota?”
He finally spoke. “I didn't have a choice.”
His face broke. “You worked for him?”
“I was trying to get close enough to destroy the system.”
“You lied to me.”
“I was protecting you.”
“You let me spend eleven years thinking you were dead.”
“I know!”
“You watched me become a criminal!”
“I know!”
“You watched me search for you!”
“I know!”
His voice became quieter. “And you never came back.”
Shotas's eyes filled with tears. “I couldn't.”
You stood between them. Not because they needed protection from each other. Because you knew Keeho was breaking. Your supervisor suddenly moved. You reacted immediately. You grabbed his wrist and forced him against the server rack.
He struggled.
You restrained him.
“You're under arrest.”
He laughed.
“You really think this ends here?”
You tightened the cuffs.
“No.” You looked at him. “But you're not getting another chance.”
The room finally became quiet. The Ghost Protocol was offline. Theo's infrastructure had been exposed. The supervisor was in custody. Shota was alive. And Keeho stood several meters away, staring at the floor.
You walked towards him. “Hey.”
He didn't look up.
“You okay?” You whispered.
“No.”
You stood beside him. “You don't have to be.”
He finally looked at you. “I don't know what to do now.”
You smiled faintly. “That's new.”
He laughed quietly. “Very.”
“You spent years running.”
“I did.”
“Maybe you can stop.”
He looked at you. “Do you think I can?”
“Yes.”
“Why?”
“Because you already did.”
His eyes stayed on yours. For a moment, neither of you spoke. Then he stepped closer.
“You know…”
“What?”
“I used to think you were the worst thing that ever happened to me.”
You smiled. “That's romantic.”
“I wasn't finished.”
“Go on.”
“I thought you were going to catch me.”
“I did.”
“Eventually.”
“Eventually.”
He smiled. “And then I realized…”
He stopped. You waited. “What?”
“You were the first person who actually saw me.”
Your expression softened. “I did.”
He looked at you. “And that's terrifying.”
“Why?”
“Because now I have something to lose.” You swallowed.
“Keeho…”
He stepped closer. Close enough that you could hear his breathing. “I spent years believing caring about someone was a vulnerability.”
“And now?”
He looked at you. “Now I think it's the only thing that ever made me human.”
You didn't answer. You simply reached for his hand. His fingers closed around yours. For once, neither of you made a joke. Neither of you tried to hide behind sarcasm. The detective and the hacker simply stood there, surrounded by dead servers and the remnants of a system that had controlled thousands of lives.
Then Keeho smiled. “So…”
You raised an eyebrow. “So?”
“You still planning to arrest me?”
You laughed softly. “Eventually.”
“That's reassuring.”
“Don't get comfortable.”
“Too late.”
You shook your head. “You really never learn.”
“No.”
He squeezed your hand. “I just finally learned the right thing.”
Outside, the first light of morning appeared through the windows. For the first time in years, Keeho wasn't running. And for the first time in your career, you weren't chasing him. But neither of you noticed the small encrypted packet that had survived the collapse of the Ghost Protocol. It had no name. No origin. No destination.
Only one line of text.
THEO IS NOT DEAD.
And underneath it:
SEE YOU SOON.
The message had been sitting on the screen for seventeen minutes. Neither of you had touched the keyboard. Neither of you had said a word. You read it again. Then again. The words remained exactly the same.
No metadata.
No timestamp.
No sender.
No IP address.
No routing information.
Nothing.
Which was precisely why it scared you. A normal anonymous message could be traced. A carefully constructed message could be reverse-engineered. This wasn't either. It had arrived through a system that no longer existed. You leaned closer to the monitor.
“Keeho.”
“I know.”
“You don't even know what I'm going to say.”
“You're going to tell me that this shouldn't be possible.”
You looked at him. “Yes.”
He exhaled slowly. “Then we're thinking the same thing.”
You pulled your chair closer. “Show me the packet.”
Keeho sat down and his fingers moved across the keyboard.
packet = capture_last_transmission()
metadata = inspect_metadata(packet)
print(metadata)
The terminal returned:
SOURCE: NULL
DESTINATION: NULL
TIMESTAMP: UNKNOWN
PROTOCOL: UNKNOWN
SIGNATURE: UNKNOWN
You frowned. “That's not possible.”
Keeho didn't answer. You watched him extract the raw payload.
“Can you reconstruct the transmission?”
“Maybe.”
“Maybe?”
He looked at you. “I'm trying not to lie to you anymore.”
You stared at him for a second. “Good.”
He smiled faintly. “Character development.”
“Don't ruin it.”
“Sorry.”
He turned back to the screen. The payload wasn't encrypted. It was worse. It was compressed using an obsolete structure that had been abandoned years ago. You recognized it.
“That's Ghost Protocol's original serialization format.”
Keeho stopped. “Yeah.”
“You said the original architecture was destroyed.”
“It was.”
“Then how is this here?”
“I don't know.”
You studied the binary representation. “Wait.”
“What?”
“This isn't a copy.”
You highlighted the sequence. “This was generated before we destroyed the system.”
Keeho leaned toward the monitor. “You're right.”
“Which means…”
“The packet was waiting.”
You looked at him. “For us.”
He nodded.
The room suddenly felt colder. You opened a second terminal. “Let's see what else survived.”
You began scanning the remnants. Not the servers, not the files. The empty space between them. Residual data. Orphaned references. Deleted objects. Things people normally ignored because they were no longer accessible.
But deleted did not mean nonexistent. Not in computing. Sometimes data didn't disappear. It simply lost its address.
You wrote:
for sector in recovered_storage:
if sector.is_unallocated():
fragment = recover_fragment(sector)
if fragment:
fragments.append(fragment)
Keeho watched the results. “That's going to take forever.”
“Then stop talking.”
“Fair.”
The recovery process began.
12 fragments.
27.
28.
29.
Then the terminal stopped.
You leaned closer. One recovered file - no extension, no filename. Just an identifier. You opened it. A single line appeared.
IF YOU FOUND THIS, YOU FINALLY UNDERSTAND.
Keeho's expression hardened. “That's him.”
You nodded.
The next line appeared.
GHOST PROTOCOL WAS NEVER THE WEAPON.
Another.
IT WAS THE KEY.
Then:
AND YOU ARE THE LOCK.
You looked at Keeho. “What does that mean?”
He didn't answer. He was staring at the screen.
Then he whispered, “I know.”
You turned toward him. “What?”
“Theo didn't build Ghost Protocol to control people.” You waited. “He built it to find something.”
“What?”
Keeho looked at you. “Me.”
You frowned. “That doesn't make sense.”
“It does.” He opened the architecture map.
There was a hidden layer beneath the system. A layer neither of you had seen. It wasn't connected to the predictive engine. It wasn't connected to the surveillance system. It was an identity registry.
Thousands of profiles.
But every profile was incomplete.
Except one.
Keeho.
You stared. “Why would he build a system just to find you?”
Keeho's expression became distant. “Because he knew I'd eventually try to destroy it.”
“And?”
“And he wanted me to.”
You felt your stomach drop. “He wanted us to shut it down.”
“Yes.”
“Why?”
Keeho zoomed into the architecture. There was a final process buried underneath everything.
Dormant.
Waiting.
You read the function name.
PROJECT AFTERIMAGE.
Your blood ran cold. “Keeho…”
“I know.”
“What is Afterimage?”
He shook his head. “I don't know.”
“You're telling me you've never seen this?”
“No.”
You looked at the code. “This was never part of Ghost Protocol.”
“No.”
“Then where did it come from?”
Keeho stared at the screen. “Theo.”
You opened the function.
def afterimage(identity):
if identity.status == "terminated":
preserve(identity)
remove_trace(identity)
create_shadow(identity)
return "ACTIVE"
You went silent. Keeho's face changed.
“He faked his death.” You looked at him.
“Years ago.”
“Yes.”
“He created a shadow identity.”
“Yes.”
“And erased the original.”
Keeho nodded. “So Theo didn't disappear.”
“No.”
“He became someone else.”
You stared at the architecture. “Who?”
The system answered and a name appeared. You knew it immediately. Slowly, you looked at Keeho. His face went completely pale.
Your supervisor.
The man you had arrested.
The man who had supposedly been working for Theo.
You opened the identity registry. The biometric profile matched, the behavioral profile matched, the old records matched, the supervisor wasn't Theo's subordinate.
He was Theo.
You whispered, “Oh my God.”
Keeho stared at the screen. “No.”
You turned toward him. “Keeho.”
“No.” He stood up.
“No, that's not possible.”
“The biometric data-”
“Can be manipulated.”
“The historical records-”
“Can be forged.”
“The behavioral profile-”
“Can be copied.”
You stepped closer. “But the system recognized him.”
Keeho stopped. You both understood. The Ghost Protocol had been designed by Theo. If it recognized the supervisor as Theo… Then there was only one explanation. The man in custody wasn't an accomplice. He was the architect.
The real Theo.
You grabbed your phone. “We need to go back.”
Keeho was already moving.
“Now.”
The interrogation room was empty, the lights were still on, the chair was still there, the restraints were open.
But your supervisor was gone.
You stopped in the doorway. “No.”
Keeho walked past you. “He escaped.”
You looked at the security monitor. The cameras showed nothing. You rewound the footage.
At 04:31, your supervisor was sitting in the interrogation room.
At 04:32, the image flickered.
At 04:33, the room was empty.
No door opened. No one entered. No one left.
You stared at the screen. “He didn't escape physically.”
Keeho nodded and before either of you could say anything else, hurried footsteps echoed down the corridor. Two police officers entered, followed by a pair of counter-terrorism agents.
“What happened?” one of the officers asked.
You turned toward him. “The suspect was restrained in this room. He was being guarded.”
“Where is he?”
You stared at the empty chair. “That is exactly what we're trying to figure out.”
One of the agents immediately checked the restraints, then the door. “Any cameras?”
“Three,” Keeho said. “Hallway, entrance and inside the room.”
The agent looked at the nearest officer. “Pull the footage.”
The officer checked his radio.
“Already did.”
“And?”
He hesitated. “Nothing.”
The officer swallowed. Everyone was silent.
Keeho looked at you. You looked back at him. One of the counter-terrorism agents turned toward the paramedics.
“What about the victim?” Shota was being loaded onto a stretcher nearby.
You walked over. “Shota.” His eyes opened slowly.
“Do you remember what happened?”
He looked confused. “I... I remember the supervisor.”
“What happened after that?”
Shota frowned, trying to piece it together. “He was talking to you.”
“And then?”
“I don't know.”
His breathing became uneven. “I remember feeling dizzy.”
“You passed out?”
He nodded. “When I woke up... you weren't there.”
His eyes moved toward the interrogation room. “And neither was he.”
One of the officers exchanged a look with the agent. “You're saying you didn't see him leave?”
Shota shook his head. “No.”
The agent looked back at the empty room. “No footprints. No damaged locks. No exit on the cameras.”
He paused. “Then how the hell did he disappear?”
Nobody answered.
After a moment, Keeho leaned closer to the monitor and grabbed your arm, silently telling you to come closer. “He was never there.”
“What?”
He pointed at the footage. “Look at the frame interpolation.”
He zoomed in. The pixels around your supervisor were subtly wrong. You ran a forensic comparison. The face matched. The body matched. The voice matched. But the light reflection didn't.
You whispered, “Deepfake.”
“Not exactly.” Keeho pointed to the monitor.
“Real-time synthetic reconstruction.” You looked at him.
“He wasn't physically in the room.”
“No.”
“He was talking to us through a generated avatar.”
“Exactly.”
Your heart sank. “That means…”
“He's been communicating with us remotely this entire time.”
You looked at the security footage. The person you had arrested, the person you had spoken to, the person who had admitted everything.
⌁ — hacker!keeho (기호) x detective!reader ▸ enemies to lovers, cyber thriller, slow burn
now playing... everything black
synopsis ▸ the most wanted hacker in the country keeps leaving messages only you can understand. what starts as a manhunt turns into an uneasy partnership, a city-wide cyber conspiracy, and a game neither of you was ever supposed to survive. the closer you get to catching keeho, the more dangerous it becomes to let him go.
contains ▸ hacking, cybersecurity, programming, enemies to lovers, slow burn, unresolved tension, trust issues, trauma, action, mystery, morally gray characters, eventual romance, a bit of cursing, no smut
wc. of whole fic 26.6k / chapter four 5.6k / part five
an ▸ i hope everyone is having a terrible time in the most entertaining way possible
He pointed toward the graph. “Compare what happens immediately before the attacks.”
You stared.
“The reconnaissance.”
“Yes.”
You opened the logs and that changed everything. The traffic before every attack had been dismissed as background scanning. But now you could see it. The same pattern.
Not the same IP.
Not the same packet.
The same behavior.
You whispered, “Oh my God.”
Keeho leaned closer. “What?”
“They aren't scanning the networks.”
“Then what are they scanning?”
You highlighted the traffic.
“People.”
He went silent.
“They collect information about administrators.”
“Credentials?”
“Not directly.”
You opened another dataset. “Habits.”
Keeho looked at you.
“Login times.”
“Yes.”
“Devices.”
“Yes.”
“Locations.”
“Yes.”
“Behavior.”
“Yes.”
He stared at the screen. “They profile the people who manage the infrastructure.”
You nodded. “Then they build the attack around the administrator.”
Keeho leaned back. “That explains the identity spoofing.”
You looked at him. “No, not just identity spoofing.”
You opened a second window.
“Social engineering.”
He nodded slowly. “They don't break into the system.”
“They convince the system that the person accessing it is legitimate.”
You looked at him. “Exactly.”
Keeho smiled. “You found it.”
You shook your head. “No.”
“What?”
“He let us find it.”
The smile disappeared. “What?”
You looked at the data. “This was too obvious.”
Keeho stared at you. “Why would Theo deliberately expose his methodology?”
You closed the window. “He wants us to understand the attack.”
“Why?”
“So we'll prepare for it.”
Keeho's expression darkened. “And while we're preparing…”
“He changes it.”
You both looked at each other.
“Decoy.”
“Exactly.”
The room suddenly felt colder. You stood up.
“We need to assume everything we've learned is obsolete.”
Keeho nodded. “Now you're thinking like me.” He smiled slightly.
“No.” You grabbed your jacket. “I'm thinking like him.”
He followed. “That's worse.”
The investigation expanded overnight. You contacted the national infrastructure security team. Keeho contacted people you weren't entirely sure existed. When you asked him who he was speaking to, he simply said,
“People.”
“That isn't an answer.”
“It is technically an answer.”
“You know what I mean.”
He looked at you.
“Underground researchers.”
“Hackers?”
“Some.”
“Criminals?”
“Some.”
You stared at him.
“You're networking with criminals while helping the police investigate cybercrime.”
“Yes.”
“That is the most Keeho thing you've ever said.”
He smiled. “You're getting to know me.”
“Unfortunately.”
By the next afternoon, you had three possible locations for Theo’s infrastructure. None were real. All three were convincing. You studied them. One was a data center in Singapore. One was an abandoned telecommunications facility in Eastern Europe. The third was an office building in the city.
You looked at Keeho. “Which one?”
He didn't answer at first. He opened his laptop. “None.”
You frowned. “What?”
“They're all decoys.”
“How do you know?”
“Because they're too perfect.”
You stared at the locations. “Explain.”
“Theo knows we're looking for infrastructure.”
“So?”
“So he'd want us to find it.”
“You think he's trying to lure us somewhere.”
“Yes.”
“Then where is the real location?”
Keeho looked at the map.
“Somewhere we wouldn't think to search.”
You started to consider the possibilities.
“Private residence?”
“No.”
“Government building?”
“Too risky.”
“Underground facility?”
“Too expensive.”
“Data center?”
“Too obvious.”
You looked at the map again.
Then it hit you. “What if it's not physical?”
Keeho looked at you.
“Cloud infrastructure.”
“Not exactly.”
You opened a map. “What if the network doesn't have a home?”
He understood.
“Distributed infrastructure.”
“Exactly.”
“No central server.”
“No single point of failure.”
He stared at the map. “You can't shut down something that doesn't exist in one place.”
You nodded. “Exactly.”
He smiled. “That is terrifying.”
“You're enjoying this.”
“I enjoy solving impossible problems.”
“You're a psychopath.”
“Maybe.”
You smiled despite yourself. Then your phone rang.
Your supervisor. You immediately answered.
“Detective.”
His voice was tense.
“We have a situation.”
“What happened?”
“Hospital network.”
Your stomach dropped.
“Which hospital?”
He gave you the name. You looked at Keeho. He already understood.
“How bad?”
“Critical systems are malfunctioning.”
“Patient records?”
“Compromised.”
“Medical devices?”
A pause. “Some.”
You immediately stood up.
“We're going.”
Your supervisor hesitated. “Both of you?”
You looked at Keeho. “Yes.”
Silence.
Then:
“Take whoever you need.”
The call ended and you grabbed your jacket. Keeho was already moving.
On the way to the hospital, neither of you spoke much. The city blurred past the windows and you kept reviewing the information.
“It's a test.”
Keeho looked at you. “What?”
“Theo isn't trying to destroy the hospital.”
“You're sure?”
“Yes.”
“Why?”
“Because if he wanted to destroy it, he'd do it differently.”
Keeho nodded. “He wants us to respond.”
“Exactly.”
“And measure us.”
“Yes.”
You looked at him. “Which means the real target is somewhere else.”
He stared out the window. “Or someone.”
Inside the hospital there was happening a pure chaos. Security alarms. Doctors moving between rooms. Technicians shouting instructions. Computers rebooting. You entered the network operations center with Keeho behind you.A technician approached.
“Are you the cybercrime team?”
“Yes.”
He looked relieved. “We've isolated most of the network.”
Keeho immediately frowned. “Don't.”
The technician stopped. “What?”
“Don't isolate anything else.”
You looked at Keeho. “Why?”
He pointed toward the network map. “Because it's already isolated.”
You stared. The hospital network was segmented. Too cleanly.
“It's a decoy.”
Keeho nodded. “They want us to disconnect the infected segments.”
You understood. “Because then the attack can move through the remaining network.”
“Exactly.”
You turned toward the technician. “Reconnect the segments.”
He stared. “That would expose the entire network.”
“I know.”
Keeho stepped beside you. “But we're going to control the routing.”
The technician hesitated. You showed him your credentials.
“Do it.”
The network topology appeared. You started analyzing it carefully, while Keeho opened his laptop.
“I'm going to build a temporary behavioral monitor.”
“Can you do it without touching production?”
“Yes.”
“Then do it.”
His fingers moved rapidly.
monitor = BehavioralMonitor()
for connection in network:
profile = monitor.observe(connection)
if profile.deviation > threshold:
quarantine(connection)
elif profile.deviation > warning:
flag(connection)
monitor.update_baseline()
You watched the system.
“Don't let it learn from compromised traffic.”
Keeho looked at you. “Good catch.”
“I'm a detective.”
“You're also a programmer.”
“Don't forget it.”
“Never.”
The network stabilized, but only for a few seconds. Then one device changed status and you froze.
“Keeho.”
He looked over. “What?”
“Look.”
One workstation.
Normal login.
Normal credentials.
Normal location.
Everything perfect.
Too perfect.
Keeho stared.
“That's not a user.”
You looked at him confused. “What?”
“It's a behavioral clone.”
Your heart sank. The system had learned the user's habits. The attacker wasn't pretending to be them. It was reproducing them.
You whispered, “AI?”
“Not exactly.”
He analyzed the traffic. “Machine learning model trained on behavioral data.”
You stared. “How long?”
“Months.”
“Then Theo has been watching these people for months.”
“Yes.”
You looked around the room. “Who is the target?”
Keeho's eyes moved across the screen.
Then stopped.
“You.”
You froze.
“What?”
He pointed. “The account.”
Your account. Someone had accessed your credentials.
Not recently. Months ago.
You looked at the timestamp. Three months before you had ever met Keeho. Your stomach dropped. “He knew about me before I knew about him.”
Keeho looked at you. “Mhm.”
“Why?”
“I don't know.”
You opened the access logs and then saw something. One connection, which was buried under thousands of legitimate requests. You immediately isolated it. The identifier was malformed.
Not random, familiar.
You looked at Keeho. “That's your signature.”
His expression changed. “No.”
“You said you didn't know how Theo got your code.”
“I don't.”
You turned the screen toward him. “Then explain this.”
He stared. For several seconds, he said nothing.
Then quietly, “He didn't steal my code.”
You waited for him to continue.
“He used me.”
“How?”
“He used my own infrastructure as a template.”
You frowned. “When?”
“Years ago.”
“You were his prototype.”
Keeho looked at you. “Yes.”
Silence.
Then another connection appeared. A second signature. This one wasn't Keeho's.
It was newer. Cleaner. Seemed more dangerous.
You traced it, but the route disappeared. Then another connection appeared somewhere else. Then another. Then another.
Keeho leaned toward the screen. “He's here.”
You looked at him. “Where?”
He pointed.
“Everywhere.”
The entire network began changing. One node. Then five. Then twenty.
You realized what was happening. The system wasn't being attacked, it was waking up. You quickly started typing.
“Keeho, shut it down.”
“I can't.”
“Why?”
“Because it's not inside the network anymore.”
You stared at him.
“Then where is it?”
He looked at you. “Inside the people.”
You felt your blood run cold. The hospital alarms began again. Every monitor displayed the same message.
YOU FOUND THE GHOST.
Then another.
NOW ASK YOURSELF WHO CREATED IT.
Keeho went completely still and you looked at him.
“What does that mean?”
He didn't answer, but instead, a final message appeared.
KEEHO DID.
The room went silent. You slowly turned toward him. His expression was unreadable.
“Keeho…”
“I didn't.”
“You're sure?”
“Yes.”
“Then why is your name on it?”
He stared at the screen. “I don't know.”
You watched him carefully. For the first time since you'd met him, you didn't know whether to trust your instincts. Because your instincts had always told you that Keeho was hiding something. Now you were beginning to wonder whether he was hiding it from you…
or from himself.
The system shut down. Every monitor went black, then your phone vibrated.
One message.
From an unknown number.
ask him what happened the night he disappeared.
You looked at Keeho. He saw the message and his face changed.
You didn't ask immediately, but you decided to wait. Because you knew him now. You knew when he was lying. You knew when he was afraid.
And right now…
he was both.
Finally, he whispered, “You're going to hate me.”
You swallowed. “Tell me.”
He looked at you. “I didn't disappear alone.”
Your heart stopped. “What does that mean?”
Keeho's voice was barely audible. “Someone disappeared with me.”
“Who?” He looked away.
“My brother.”
For several seconds, you didn't move. You simply stared at Keeho. The words remained between you, heavier than anything else he had said that night. You had spent months learning how to read him. The sarcasm. The half-smiles. The deliberate provocations. The way he changed the subject whenever a question came too close to something personal. You had thought you understood his patterns. Apparently, you hadn't even scratched the surface.
“Your brother?”
Keeho nodded once.
You watched his expression carefully.
“Theo took her?”
His jaw tightened. “No.” The answer came too quickly.
You frowned. “Then what happened?”
He looked at the black monitors around you. “Not here.”
You stepped closer.
“Keeho.”
“I said not here.” His voice was different.
Not irritated. Not defensive.
Afraid.
You lowered your voice. “Then where?”
He looked at you for a long moment. “Somewhere he can't hear us.”
You almost laughed. “After everything we've just seen, you're worried about someone listening?”
“Yes.”
“Why?”
“Because if Theo knows what I'm about to tell you, we won't make it through the night.”
That stopped you.
You looked toward the technicians.
“Everyone out.”
One of them immediately protested. “But the network—”
“Is offline,” you said. “And until we know what we're dealing with, nobody touches a terminal.”
Your voice left no room for discussion. The room slowly emptied. When the door finally closed, you turned back to Keeho.
“Now talk.”
He didn't. Instead, he walked toward one of the dead monitors and pressed his fingers against the edge of the desk.
You waited. Finally, he spoke.
“My brother’s name was Shota.”
You had expected him to say something dramatic, something complicated. Instead, it was simply a name. And somehow that made it worse.
“How old was he?”
“Sixteen.”
You stared at him. “How old were you?”
“Nineteen.”
You felt something tighten in your chest. “Nineteen?”
He nodded. “I was nineteen when Theo found me.”
You remembered the old files. The first version of his security software. The clean code. The young programmer who believed he could build systems that protected people.
“You were both kids.”
“We didn't think we were.”
His eyes lowered. “At nineteen, you think you understand everything.”
“You were already building security systems.”
“I was good at it.” There was no arrogance in his voice. Just regret. “I was very good.”
You leaned against the desk. “What happened?”
Keeho closed his eyes for a moment. “I built the architecture.”
“What architecture?”
“The one Theo eventually turned into his network.”
You stared at him. “You told me you created it to protect people.”
“I did.”
He looked at you. “That was the entire point.” He took a breath. “Shota was the reason.” You said nothing. “He was brilliant. Smarter than me in some ways.”
A faint smile appeared. “He hated when I said that.” You could almost picture it.
A younger Keeho sitting beside his brother, both of them surrounded by computers and cables. “What was he like?”
He looked at you.
“Annoying.”
You smiled faintly. “So he was your brother.”
“Exactly.”
For the first time that night, something resembling warmth appeared in his eyes.
“He used to steal my headphones. He'd change my desktop wallpaper when I wasn't looking. Once he replaced every variable name in one of my projects with names from anime characters.”
You laughed softly. “That sounds terrible.”
“It was.” His smile faded. “But he was the first person who believed I could actually build something important.”
You watched him carefully. “And you built the system for him?”
“Partly.” He looked toward the dark screens. “Shota had been targeted online.”
Your expression changed. “By who?”
“We never found out.”
“What happened?”
“He received threats.”
“Death threats?”
“Yes.”
You felt your stomach tighten.
“He was sixteen.”
“I know.”
Keeho's voice became quieter. “I tried reporting it.”
“To the police?”
“Yes.”
“And?”
“Nothing happened.” He laughed bitterly. “They told us it was probably some teenager trying to scare her.”
You looked away for a second. “Then you built the system.”
“I built something that could detect coordinated harassment. Identify patterns. Trace infrastructure. Protect vulnerable accounts.”
“You wanted to stop people before they could hurt him.”
“Yes.”
“And Theo found you because of it.”
Keeho nodded. “He told me the system was brilliant.” A pause. “Then he told me it was incomplete.”
You already knew what came next. “He offered to help.”
“Yes.”
You stared at him. “And you trusted him.”
“I was nineteen.”
His voice cracked slightly. “I thought I had finally found someone who understood what I was trying to build.” He looked at his hands. “I didn't realize he wasn't interested in protecting people.”
“What did he want?”
“Access.”
“To what?”
“Everything.”
You were silent, but Keeho continued. “He taught me how to make the system autonomous. How to build distributed nodes. How to make infrastructure resilient against takedowns. How to hide command channels inside legitimate traffic.”
Your eyes narrowed.
“That's where the ghost architecture came from.”
“Yes.”
“And Theo weaponized it.”
“Yes.”
You took a breath. “Then what happened to Shota?”
Keeho didn't answer. You waited.
After a moment, finally:
“He disappeared.”
Your heart sank. “When?”
“Three weeks after I tried to leave Theo.”
You looked at him. “Did he take her?”
“I don't know.”
“You don't know?”
“No.”
His eyes met yours. “And that's the worst part.” He stepped away from the desk. “I spent years trying to find out.”
“That's why you've been attacking systems.”
“Yes.”
“You weren't looking for Theo.”
“I was looking for him.”
Everything suddenly made sense.
The leaks.
The databases.
The government systems.
The private companies.
The people Keeho exposed.
He wasn't simply collecting information.
He had been searching.
Every attack was another door.
Every compromised database was another possibility.
You lowered your voice.
“You've been looking for your brother this entire time.”
“Yes.”
“And Theo knows.”
“Yes.”
“That means the message wasn't just about frightening you.”
Keeho nodded.
“He wants you to know what I've been doing.”
You looked at him. “Why?”
“Because he wants me to stop.”
“Or?”
Keeho's expression hardened. “Because he wants me to finish what I started.”
You frowned. “What does that mean?”
“He doesn't need the old system.” He looked at the black monitors. “He needs me.”
You understood immediately. “The original architect.”
“Yes.”
“Your knowledge.”
“Yes.”
“Your access.”
“Yes.”
“And your authentication keys.”
Keeho didn't answer. You stared at him. “You still have them.”
His silence was enough. “Keeho.”
“I destroyed the original keys.”
“You destroyed the physical keys.”
He looked at you.
“And the digital ones?”
“I thought they were gone.”
“You thought?”
“I was nineteen.”
You exhaled sharply. “That's not an answer.”
“I know.”
You turned away. Your mind was moving too quickly.
“If Theo has been trying to reconstruct your architecture, he needs your original cryptographic material.”
“He doesn't.”
“How do you know?”
“Because I designed the key hierarchy.” He walked toward your workstation. “There's no single master key.” He opened a terminal. “The system uses hierarchical derivation. Every node generates a child key from a protected root.”
He typed.
root_key
|
+-- node_01
| +-- session_01
| +-- session_02
|
+-- node_02
| +-- session_03
| +-- session_04
|
+-- node_03
+-- session_05
+-- session_06
You studied the structure.
“So even if he compromises one node, he can't reconstruct the root.”
“Correct.”
“Unless he has the derivation parameters.”
“Exactly.”
“And those are?”
Keeho looked at you. “Not stored anywhere.”
You frowned. “Then how do you generate them?”
“I remember them.”
You stared. “You memorized cryptographic parameters?”
“Some of them.”
“That is insane.”
“It was safer.”
“It was absolutely not safer.”
“It was when I was nineteen.”
You sighed. “You keep saying that like nineteen-year-old you wasn't completely reckless.”
“He was.” A pause. “But he was trying to protect someone.”
You softened. “I know.”
Keeho looked at you. For a moment, neither of you spoke. Then he looked away.
“You shouldn't trust me.”
You frowned. “Why do you keep saying that?”
“Because I'm still hiding things.”
“So?”
“So you're a detective.”
“Yes.”
“And I'm a criminal.”
“Formerly.”
“Technically, not yet.”
You folded your arms. “Then maybe stop making me regret defending you.”
His eyes met yours. “You defended me.”
“Yes.”
“Why?”
You hesitated. Because the answer was becoming increasingly difficult to ignore. “Because I believe you.”
His expression changed. Not dramatically. Just enough.
“That's dangerous.”
“I know.”
He stepped closer. “You shouldn't.”
“I know.”
“Then why?”
You swallowed. “Because I've spent months studying you.”
His eyes stayed on yours. “I know how you write.” You took another step. “I know how you think.” Another. “I know what you do when you're lying.” He was completely still. “And I know what you look like when you're afraid.”
His expression softened. “You're afraid right now.”
“Yes.”
“Of Theo?”
“No.”
The answer came before you could stop it. His eyes widened slightly. You looked away. “I don't know.”
Neither of you moved. Then Keeho's phone vibrated. The moment shattered. He looked at the screen and his face went pale.
“What?”
He didn't answer.
You stepped closer. “What happened?” He turned the phone toward you.
One message.
No number.
No metadata.
No visible sender.
HE'S ALIVE.
Your heart stopped.
You looked at Keeho.
“Is that true?”
“I don't know.”
Another message appeared.
HE HAS ALWAYS BEEN ALIVE.
Then a third.
YOU JUST NEVER LOOKED IN THE RIGHT PLACE.
Keeho grabbed his laptop.
“We need to go.”
“Where?”
“I don't know yet.”
“Then don't move.”
He looked at you. “What?”
“You're not running off alone.”
“I wasn't planning to.”
“You were absolutely planning to.”
He opened another terminal. “Maybe.”
You grabbed the chair and pulled it toward you.
“Then we're doing this together.”
He looked at you. “Detective-”
“No.”
You sat down. “Whatever Theo wants, we're going to find Shota first.”
He stared at you.
Then quietly said, “Thank you.”
You looked at him. “Don't thank me yet.”
“Why?”
“Because I'm still going to arrest you someday.”
A tiny smile appeared. “Fair.”
You began analyzing the message. “No sender.”
“It's not really a message.”
You looked at him. “What?”
He rotated the phone. “Look at the timestamp.”
You frowned.
The message had been received at 03:17:11. But the phone's network logs showed no incoming connection.
“That isn't possible.”
“Exactly.”
You opened the forensic logs.
Nothing.
No SMS.
No push notification.
No application event.
No network request.
You stared.
“He injected it locally.”
Keeho nodded. “Through what?”
“Your device?”
“No.”
He shook his head. “Your phone wasn't compromised.”
“Then how?”
He looked at the hospital network map. You followed his gaze. Your expression changed.
“The hospital.”
“Exactly.”
You opened the network logs. The message had originated from a device inside the hospital. But not a computer. Not a phone. Something else. An IoT controller.
You pulled the device inventory. “Medical monitoring systems.”
Keeho's face hardened. “That's impossible.”
“Why?”
“Because those devices aren't connected to the external network.”
You looked at the architecture. “Unless they are.”
He stared. “Air-gapped systems.”
“Supposedly.”
You started digging and after a moment found it.
A maintenance bridge. A forgotten connection used by technicians to update equipment remotely.
You whispered, “There's the entry point.”
Keeho leaned toward the screen. “That bridge shouldn't exist.”
“But it does.”
He studied the configuration. “Theo didn't create this.”
“Then who did?”
Keeho looked at you. “I don't know.”
You opened the firmware image. There was an unfamiliar signature embedded deep inside.
Not malware.
Not exactly.
A dormant module.
You isolated it.
module = load_firmware("maintenance_bridge")
if module.signature == UNKNOWN:
isolate(module)
calculate_hash(module)
if module.behavior == "passive":
preserve(module)
hash = sha256(module)
print(hash)
The hash appeared and Keeho went completely still. You looked at him.
“What?”
He didn't answer. “Keeho.”
He finally spoke. “That hash.”
“What about it?”
“I've seen it before.”
“Where?”
He looked at you. “In my brother's project.”
Your stomach dropped. “Shota wrote this?”
“No.” He shook his head. “He helped me write the original detection framework.”
You looked back at the code. “So this module is part of your original architecture.”
“Yes.”
“Then why is it here?”
Keeho didn't answer. You searched the module's metadata. The creation date appeared. Eleven years ago. You looked at him.
“This predates Theo.”
Keeho's expression changed.
“No.”
You scrolled further. The original author field was intact. Not Theo.
Not Keeho.
You read the name.
SHOTA.
Keeho stopped breathing for a second.
“No.”
You looked at him. “It's him.”
He shook his head. “No.”
“Keeho-”
“No.”
His voice became sharper. “He was sixteen.”
“The file says he created it.”
“He didn't have the access.”
“He did.”
“No.”
He stepped back. “You don't understand.”
“Then explain.”
“He couldn't have written this.”
“Why?”
“Because I deleted it.”
You froze. “What?”
“I deleted everything.”
His voice trembled. “Every project. Every backup. Every account. Everything he had.”
“Why?”
“Because Theo was searching for it.”
You stared. “And you thought destroying it would protect him.”
“Yes.”
“Did it?”
He looked away. “No.” Whispered.
You stepped closer. “Then maybe he had another copy.”
“He didn't.”
“You don't know that.”
“I knew my brother.”
“You knew him eleven years ago.”
He looked at you. You softened.
“People change.”
Silence. You searched the module again. There was another layer.
Encrypted.
Keeho noticed it too.
“Wait.” He pulled the chair closer.
“What?”
“This isn't a module.”
“Then what is it?”
“A container.”
“For what?”
He opened the structure, inside was a hidden archive. Encrypted with a key you didn't recognize. Keeho stared.
“I don't know that key.”
You looked at him.
“Then whoever created it doesn't want you to open it.”
He shook his head. “No.”
“What?”
“They wanted me to open it.”
You frowned. “How do you know?”
He pointed toward the encryption metadata. The key derivation method was old.
Very old.
Something Keeho had designed himself. You looked at the parameters. Then at him.
“This is your architecture.”
“Yes.”
“But the implementation is different.”
“Yes.”
“Someone learned from you.”
Keeho stared at the archive.
“Or someone learned from him.”
You looked at the screen. The encrypted archive contained exactly one file.
ghost_protocol_final.enc
Your heartbeat accelerated.
“Keeho.”
“I see it.”
“What is Ghost Protocol?”
He didn't answer. You looked at him.
“You know.”
His eyes stayed on the screen. “Yes.”
“Tell me.”
He swallowed. “It's the original system.”
You stared. “The one Theo wants?”
“No.” His voice was quiet.
“It's older than that.”
“What does it do?”
He looked at you. “It doesn't hack systems.”
“Then?”
“It identifies people.”
Your expression hardened. “Explain.”
“It was designed to detect threats before they happened.”
“Predictive surveillance.”
“Yes.”
“And Theo turned it into-”
“A system that could predict human behavior.”
You stared at the archive. “And Shota helped build it.”
Keeho nodded. “He wasn't just my brother.” A pause. “He was the person who understood the system better than I did.”
Your phone vibrated.
Both of you looked down.
A new message.
This time, there was a sender.
SHOTA.
Your blood ran cold. Keeho didn't move. The message contained only one sentence.
if youre reading this, keeho, you finally found me.
His hands began shaking. You looked at him. “Keeho…”
Another message appeared.
dont trust theo.
Then:
dont trust the police either.
Then the final one.
trust the detective.
You looked at him. He looked at you. Neither of you spoke. Then another file appeared on your laptop. A live video feed. You clicked it. Static. Then an image slowly appeared. A man sitting in a dark room.
Older than the sixteen-year-old boy Keeho remembered.
But unmistakably him.
Shota.
Alive.
He looked directly into the camera, and then he smiled.
“Hi, brother.”
Keeho stopped breathing. You reached for his hand without thinking. His fingers immediately closed around yours. On the screen, Shota continued.
“I know you're with her.”
Keeho looked at you. Shota smiled.
“Good.”
The feed flickered. Then his expression became serious. “Because if you want to stop Theo…” He leaned closer to the camera. “…you need to understand that he was never the person controlling the Ghost Protocol.” The screen went black. A final line appeared.
I WAS.
Keeho stared at it. You could feel his hand still wrapped around yours.
“Your brother built the system.”
He nodded slowly.
“And he's been alive this entire time.”
“Yes.”
You looked at the black screen. “Then why did Theo tell you he was dead?”
Keeho's expression hardened. “Because he needed me to believe it.”
“Why?”
He looked at you. “Because if I knew he was alive…” A pause. “I would've stopped running.”
You squeezed his hand. “And now?”
He looked down at your joined hands, then back at the screen. “Now I know exactly where I'm going.”
You stood. “Then we're going together.”
He looked at you. “You don't have to.”
“I know.”
“You could walk away.”
“I know.”
“This isn't your fight.”
You met his eyes. “You're wrong.”
His expression softened. “Why?”
You stepped closer. “Because somewhere along the way, you stopped being my case.”
He didn't answer. You could see the conflict in his eyes.
Fear.
Relief.
Something warmer that neither of you was ready to name.
You squeezed his hand again. “So we're going to find your brother.”
A faint smile appeared. “And then?”
You raised an eyebrow. “Then I arrest you.”
He laughed quietly.
“There she is.”
You smiled.
“Don't get comfortable.”
“Too late.”
Neither of you noticed the small indicator blinking in the corner of the monitor.
A connection.
Outgoing.
Encrypted.
Active.
Someone was watching.
And whoever it was had been watching for much longer than either of you realized. Because beneath the final frame of Shota's video, hidden inside the transmission metadata, was one more piece of information.
You stared at the screen.
“Wait.”
Keeho turned toward you. “What?”
You moved closer to the monitor, replaying the transmission frame by frame. “There's something underneath the video.”
“That's impossible.”
“So is half the shit you've done.”
“Fair.”
You opened the metadata again. At first, it looked like garbage. Thousands of characters, encrypted strings, hexadecimal values and corrupted timestamps.
Then you noticed something. A repeating sequence. You isolated it and ran it through the decryption script you'd written earlier that night.
The terminal flashed.
DECRYPTION COMPLETE.
You leaned closer. “What the fuck...”
Keeho stepped behind you. “What?”
You pointed at the screen. “It's not just metadata.”
He stared at it for a few seconds before his expression changed. “That's a scheduled command.”
You hadn't slept. Neither had he. For the next several hours, you tore through everything you had - Shota's files, the encrypted transmission, the network logs, every connection made to the division's servers in the last six months.
Nothing.
No name.
No trace.
No obvious breach.
Which somehow made it worse.
At 02:17, Keeho disappeared from the system for exactly forty-three seconds.
At 02:18, he called you. “Don't go home.”
You frowned. “Wasn't planning to.”
“Good.”
You straightened. “Where are you?”
“Outside the division.”
Your eyes moved toward the window and then back at the monitor.
“Come here.”
“On my way.”
The clock on the computer read 03:41.
Nineteen minutes.
That was all the time you had before the timestamp Shota had sent you.
You stood in the middle of the cybercrime division's main server room, staring at the network topology displayed across six monitors. Every connection was being monitored. Every port was being scanned. Every process was being logged. At least, that was what the system told you.
You didn't trust it.
Not anymore.
Keeho stood beside you, arms crossed, eyes fixed on the architecture.
“You're too quiet.”
You glanced at him. “You're one to talk.”
“I talk when I'm nervous.”
“You talk all the time.”
“Exactly.”
You almost smiled.
Almost.
Then you looked at the clock again.
03:42.
“You think he's really coming?”
Keeho didn't answer immediately.
“Shota doesn't do things without a reason.”
“You've barely spoken about him since we found the video.”
“I know.”
“Why?”
He looked at you. “Because I'm trying to understand how he's alive.”
“And?”
“I can't.”
You watched him carefully. “You've spent eleven years believing he was dead.”
“Yes.”
“And now he's sending us encrypted messages through infrastructure that technically shouldn't exist.”
“Yes.”
“You're allowed to be confused.”
He looked down. “I'm not confused.”
“No?”
“I'm terrified.”
The honesty caught you off guard. You stood up and stepped closer. “Of seeing him?”
“Of what I'll find when I do.”
You studied his face. “You don't have to do this alone.”
“I know.”
His voice was quiet.
“You keep saying that.”
“Because you keep forgetting.”
For a second, his eyes stayed on yours. Then he looked away.
“Fourteen minutes.”
You nodded. “Let's work.”
You turned back toward the monitors.
The first thing you did was disconnect the server room from every external route. Not physically. That would have been too obvious. Instead, you created a controlled isolation layer. You didn't want the system to know it had been isolated. You wanted it to believe it was still connected.
You opened a terminal.
interface = NetworkController()
external_routes = interface.enumerate_routes()
for route in external_routes:
if route.trust_level < TRUSTED:
interface.redirect(route, "sandbox://null")
interface.enable_monitoring(
mode="passive",
capture_metadata=True,
preserve_original_flow=True
)
Keeho watched. “You're creating a ghost network.”
“Exactly.”
“You're going to let them think they're inside the real infrastructure.”
“Yes.”
“And you're going to mirror everything they do.”
“That's the idea.”
He nodded. “Good.”
You looked at him. “That's it?”
“What?”
“No criticism?”
He smiled. “I'm trying something new.”
“What?”
“Supporting you.”
You rolled your eyes. “Terrifying.”
“I'm growing as a person.”
“Don't overdo it.”
The clock changed.
03:47.
Then one of the monitors flickered.
You froze. “Keeho.”
“I see it.”
A process had appeared.
No executable name.
No recognized signature.
No parent process.
No visible origin.
You opened the process tree.
Nothing.
The process existed without existing.
Keeho leaned closer. “That's impossible.”
You shook your head. “No.”
“What?”
“It's not a process.”
You clicked into the system call logs and your expression changed.
“It's a thread.”
Keeho stared. “A thread without a process?”
“It's being injected into an existing process.”
“Which one?”
You traced it. Then stopped.
“The authentication service.”
Keeho's face hardened.
“He's already inside.”
You nodded.
“Not Theo.”
“What?”
“This is too subtle.”
You looked at the code.
“Whoever did this doesn't want control.”
“Then what?”
“They want persistence.”
Keeho's eyes narrowed.
“Long-term access.”
“Exactly.”
You started isolating the thread. It immediately moved.
“It's migrating.”
“Where?”
“Another process.”
You followed it. Then another. And another. It was moving through legitimate processes, never creating anything obvious.
Keeho whispered, “That's beautiful.”
You looked at him. “You really need to stop complimenting malware.”
“I'm complimenting the technique.”
“Still weird.”
He smiled. “Occupational hazard.”
You finally caught the pattern.
“Wait.”
“What?”
“It isn't moving randomly.”
You zoomed out. Every process formed a sequence.
A chain.
You stared.
“He's building a path.”
“To where?”
You followed the chain.
Authentication.
Monitoring.
Database.
Internal directory.
Then-
“Server management.”
Keeho's expression changed.
“If he reaches that…”
“He gets administrative control over everything.” You immediately blocked the route.
The thread disappeared.
Silence.
You exhaled. “We stopped it.”
Keeho shook his head. “No.”
You looked at him.
“He wanted us to stop it.”
The monitors all went black.
Every single one.
Your heart dropped.
Then white text appeared.
03:51
You looked at the clock.
03:51.
The same time.
Then:
YOU HAVE NINE MINUTES.
taglist: @jongseobmpreg @chippiiiiiz @hxraiiii hi i love yall
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality✓ Free Actions
Free to watch • No registration required • HD streaming
⌁ — hacker!keeho (기호) x detective!reader ▸ enemies to lovers, cyber thriller, slow burn
now playing... uncomfortable - chase atlantic
synopsis ▸ the most wanted hacker in the country keeps leaving messages only you can understand. what starts as a manhunt turns into an uneasy partnership, a city-wide cyber conspiracy, and a game neither of you was ever supposed to survive. the closer you get to catching keeho, the more dangerous it becomes to let him go.
contains ▸ hacking, cybersecurity, programming, enemies to lovers, slow burn, unresolved tension, trust issues, trauma, action, mystery, morally gray characters, eventual romance, a bit of cursing, no smut
wc. of whole fic 26.6k / chapter three 5.4k
part four
You stared at the function.
“You just said this was your code.”
“It was.”
“Then what is that?”
He moved closer. You could feel the tension immediately.
“That wasn't in my original version.”
You highlighted the function.
“Someone added it.”
“Yes.”
“Do you know who?”
“No.”
You looked at him.
“Theo?”
“Probably.”
“What does it do?”
Keeho studied the function.
Then his face went still. “It erases behavioral history.”
You frowned.
“Meaning?”
“If the system learns that a device is suspicious, this function can force it to forget.”
You stared.
“That's a backdoor.”
“More than that.”
He pointed at the second line.
“It rebuilds the baseline.”
You understood.
“If you erase the history and rebuild the baseline…”
“The compromised device becomes normal again.”
You looked at him.
“So the system doesn't just hide an attacker.”
“It teaches the system to trust them.”
Silence. You leaned back.
“That is fucking terrifying.”
Keeho didn't smile. “Yes.”
For the first time, you realized why he had been afraid. Not because Theo was stronger. Because Theo understood his own creation. He knew exactly where to cut. Exactly what to change. Exactly which parts of Keeho's architecture could be turned against him.
The next attack happened three days later.
4:17 a.m.
Your phone vibrated.
You woke instantly.
A notification.
Encrypted.
You opened it.
One sentence.
stop searching
You stared at the screen.
Another message appeared.
or i'll show you what happens when people get too close
You sat up. Your heart was beating too quickly.
You immediately called Keeho. He answered after one ring.
“Where are you?”
His voice was rough with sleep. “At home.”
“Are you alone?”
“Yes.”
“Lock the door.” You frowned.
“Why?”
“Because I said so.”
“You don't give me orders.”
“I know.” Your voice changed. “Please.”
He went quiet. That single word was enough. He got up.
“What's happening?”
“I don't know yet.”
“You sound worried.”
“I am.”
“About what?”
A pause. You ignored his question. “I’m scared.” You whispered.
“What? Why?”
“I-…” Your voice broke.
“You'll explain when I get there. Send me your location”
“Keeho-”
“I'll be there in twenty minutes.”
The line disconnected and with shaky sigh, you texted him your address. You stared at your phone. Twenty minutes. He lived across the city. There was no way. You checked the clock.
4:29.
At 4:48, someone knocked.
You opened the door with your weapon hidden behind your leg. Keeho stood there. His hoodie was pulled over his head. His breathing was slightly uneven.
You stared at him. “How did you get here?”
He looked at you. “Public transportation.”
You narrowed your eyes. “At five in the morning?”
“Yes.”
“You're lying.”
“Probably.”
You stepped aside. He entered. His eyes immediately scanned the apartment.
Router.
Smart television.
Security system.
Smart speakers.
Cameras.
Phone.
Laptop.
He didn't touch anything. He simply looked.
Then he said, “Turn everything off.”
“What?”
“Everything connected to the internet.” He was talking like he already know what was happening.
You crossed your arms. “Why?”
“Because if Theo got into your systems once, he'll do it again.”
“He already did.”
“Not like this.”
He walked toward your desk. You followed.
“What do you mean?”
“He probably wasn't attacking your devices.” Keeho opened your laptop. “He was testing your environment.”
You stared at him.
“For what?”
He looked at you. “To see what you protect.”
You went quiet. He continued. “People always secure what they think matters.”
You watched him examine the system.
“Your laptop is hardened.”
“Yes.”
“Your phone isn't.”
“I know.”
“Your router?”
“Custom firmware.”
He looked at you.
“Good.”
“Thank you.”
“Your television?”
“Not connected.”
“Your speakers?”
You stared.
He smiled.
“Exactly.”
You walked toward the smart speaker and unplugged it.
“You're enjoying this.”
“No.”
“You're smiling.”
“Because you finally listened to me.”
You rolled your eyes.
Then your laptop screen flickered. Both of you froze. A terminal window opened by itself.
One line appeared.
hello, detective
You looked at Keeho. He moved immediately.
“Don't touch it.”
“I wasn't going to.”
The screen changed. A second message.
you made the same mistake he did
Keeho went pale. You looked at him.
“What does that mean?”
He didn't answer.
The message changed again.
you trusted him
Then…
now he'll lose you too
The screen went black. You looked at Keeho. He was staring at it.
“Keeho.”
Nothing.
You stepped closer.
“Keeho.”
He finally looked at you.
“You need to leave.”
“No.”
“I'm serious.”
“So am I.”
“This isn't your fight.”
“You made it my fight the moment you walked into my apartment.”
He shook his head.
“You don't understand.”
“Then explain.”
“He doesn't care about me.” Keeho's voice was quiet. “He wants to prove that everyone close to me gets hurt.”
You stared at him.
“And you think I'm going to be hurt?”
“I know you will be.”
“No.”
His eyes lifted.
“You don't know that.”
“Yes, I do.”
“You're not allowed to decide that for me.”
He looked at you.
For a moment, neither of you moved. Then you stepped closer.
“You're scared.”
He looked away.
“No.”
“Keeho.”
Silence.
Then, quietly… “Yes.”
The honesty caught you off guard.
“Because of Theo?”
He nodded.
“Because of what he can do?”
“No.” You waited. “Because of what he'll do to you.”
You didn't know what to say. So you didn't. You simply stood there. Close enough to hear his breathing. Close enough to notice that his hands were shaking slightly. Then you reached for his wrist. His eyes dropped to your hand. You didn't let go.
“You don't get to protect me by deciding I can't fight.”
He looked at you.
“You're a detective.”
“Yes.”
“You're supposed to arrest people like me.”
“I know.”
“And yet you're standing here holding my hand.”
You looked down. You were. You released him.
“Don't make it weird.”
A small smile appeared. “You made it weird.”
You rolled your eyes. “Get back to work.”
“Yes, detective.” The next morning, you discovered something that changed the investigation. Theo wasn't simply attacking organizations. He was searching for something.
A file.
A program.
A system.
Something buried in Keeho's past. You found the connection inside an old case archive. Six unrelated breaches. Six different companies. Six different years. All connected by one thing. The same dormant identifier. You showed Keeho. He stared at the screen.
Then whispered,
“No.”
“What?”
“That can't be there.”
“Why?”
“Because I deleted it.”
“What?”
He looked at you.
“The original.”
“The original what?”
“The system.”
You frowned. “What system?”
Keeho opened an old encrypted archive. Inside was a project folder.
No name. No metadata. Just a single executable and a text file.
You opened the text file. One sentence.
build something that cannot be controlled
You looked at Keeho. “What is this?”
He sat down. “The first version.”
“Of what?”
He looked at the screen.
“The system Theo is trying to rebuild.”
You stared.
“What can it do?”
Keeho was silent.
“Keeho.”
“It can move through networks.”
“How?”
“Without maintaining a permanent presence.”
You frowned. “That sounds impossible.”
“It isn't.”
“Can it access any network?”
“No.”
“Then what?”
“It learns.”
You looked at him. “Like the defensive system.”
“Yes.”
“But instead of learning what's normal…”
“It learns where normal ends.”
Your stomach tightened.
“And then?”
Keeho looked at you.
“It finds another way around.”
You stared at the code. The architecture was elegant, terrifyingly elegant. You opened the source.
class AdaptiveNetwork:
def __init__(self):
self.nodes = {}
self.trust = {}
self.history = {}
def observe(self, node):
state = analyze(node)
self.history[node] = state
return state
def adapt(self, node, state):
if state == ANOMALOUS:
return find_alternative(node)
return preserve_route(node)
You looked at Keeho. “This is the core.”
“Yes.”
“You designed the system to adapt to defensive measures.”
“Yes.”
“So every time someone blocks it…”
“It learns.”
“And eventually…”
“It stops making the same mistake.”
You stared at the code.
“This isn't malware.”
“No.”
“It's an architecture.”
“Yes.”
“An architecture that could be used for anything.”
Keeho nodded.
“That was the problem.”
You looked at him. “You could have destroyed it.”
“I tried.”
“But?”
“Theo had already copied it.”
You closed the file. “How many copies exist?”
Keeho didn't answer. “How many?”
“I don't know.”
“That isn't good enough.”
“I know.”
“Then find out.”
He looked at you. You expected him to argue. Instead, he nodded. “Okay.”
It was the first time he had agreed with you without making a joke.
The next few days were different. You stopped treating Keeho like a suspect. Well, not completely. You still reminded him that he was technically committing crimes whenever he accessed systems without authorization. He still ignored you whenever he thought he could get better information through methods that would never survive a courtroom. But something had changed. You trusted his technical judgment. He trusted yours. And that was dangerous. Because trust between a detective and a gray hat hacker was not supposed to happen. One evening, you found Keeho alone in the server room.
No music.
No typing.
Just him sitting in front of a powered-off monitor. You stood in the doorway.
“You're quiet.”
He looked up. “I'm thinking.”
“That's dangerous.”
A faint smile appeared. “You stole my line.”
“I improved it.”
“You're learning.”
You walked inside. “What are you thinking about?”
“Whether I should have destroyed the system years ago.”
You sat beside him. “You couldn't have known.”
“I should have.”
“You were nineteen.”
“That doesn't make me innocent.”
“No.”
You looked at him.
“But it makes you human.”
He stared at you. For a moment, he looked almost uncomfortable. “Don't do that.”
“Do what?”
“Make excuses for me.”
“I'm not.”
“You are.”
“No.”
You leaned back. “I'm explaining.”
He looked away. “What's the difference?”
“Excuses remove responsibility.” You looked at him. “Understanding doesn't.”
Silence. Then he said,
“You really are different.”
You smiled slightly. “You've said that before.”
“I know.”
“Why?”
“Because everyone else sees the hacker.”
He looked at you.
“You saw the person.”
Your fingers stopped moving. You looked away. “Don't make this weird.”
He smiled. “You're the one who made it weird.”
“Keeho.”
“Okay.”
He laughed quietly. Then his expression changed.
“Thank you.”
You looked at him.
“For what?”
“For not giving up.”
You didn't answer immediately. Instead, you looked at the dark monitor in front of you.
“I almost did.”
He looked at you. “When?”
“The first time you broke into my forensic environment.”
“You should have.”
“I know.”
“Then why didn't you?”
You looked at him. “Because I wanted to know why.”
“Why what?”
“Why you kept leaving traces.”
He smiled faintly.
“And?”
“I think I know now.”
His expression became curious.
“Why?”
You held his gaze.
“Because you wanted someone to find you.”
The smile disappeared. For several seconds, neither of you spoke.
Then Keeho whispered,
“Maybe.”
Before you could answer, every monitor in the room turned on simultaneously. Black. White text. One sentence.
YOU FINALLY UNDERSTAND HIM.
Your blood ran cold. Keeho stood immediately. Another line appeared.
THAT MAKES THIS EASIER.
Then a video began loading. You and Keeho stared at the screen. The connection stabilized. A man's face appeared. Calm and older. Almost ordinary. He looked directly into the camera. Then smiled.
“Hello, Keeho.”
Keeho froze. You looked at him.
His face had gone completely pale.
The man continued. “I was beginning to wonder how long it would take you to come home.”
Keeho whispered one word.
“Theo.”
The man smiled. “I missed you.”
The video ended. The monitors went black. You turned toward Keeho. He didn't move.
“Who is he?”
Keeho stared at the screen. “The reason I disappeared.”
You stepped closer. “And now?”
He looked at you. “Now he's back.”
You waited. His voice became almost inaudible.
“And this time…” He looked at you. “…he knows about you.”
And after that, you stayed silent.
The video had lasted forty-seven seconds. You knew because you had replayed it six times. Forty-seven seconds of footage. One face. One voice. And enough information to make Keeho look like he had just seen a ghost. You stood in the server room long after the monitors had gone dark. Neither of you spoke. The rest of the department had been notified, but you had deliberately kept the recording off the main network. You didn't trust the video, the connection it came through, or anything associated with it. Especially not after what Theo had already demonstrated.
You replayed the footage again. The man's face appeared. Late thirties, maybe early forties. Dark hair. Calm expression. No visible distinguishing features. His voice was controlled. Almost friendly. That was what bothered you most. People threatening others usually wanted to sound threatening.
Theo didn't.
He sounded like someone greeting an old friend.
You paused the video.
“Enhance the frame.”
Keeho looked at you.
“You won't get much.”
“I'm not asking you.”
You moved toward the forensic workstation.
“I can do it.”
“You can enhance the image.”
“Yes.”
“You can't create information that isn't there.”
“I know.”
You opened the frame. The original resolution was terrible. Too compressed. Too much noise. Too little metadata. You started processing it.
“I'm checking compression artifacts.”
Keeho moved beside you. “Why?”
“If the video was generated locally, the encoding profile could tell us something.”
“And if it wasn't?”
“Then we'll look at the transport layer.”
He nodded. You ran the analysis. The codec signature appeared. You frowned.
“That's weird.”
“What?”
“This wasn't encoded by a normal desktop application.”
Keeho leaned closer. “What is it?”
You opened the metadata.
“Custom encoding.”
“Expected.”
“No.”
You looked at him. “This isn't just custom.”
You zoomed in.
“It's adaptive.”
His expression changed. “Meaning?”
“The video was encoded specifically for the bandwidth available at the time of transmission.” Keeho stared at the screen.
“He knew our connection speed.”
“Probably.”
“Before we received it.”
“Yes.”
You opened another terminal. “I'm going to reconstruct the connection sequence.”
Keeho shook his head.
“Don't.”
You looked at him.
“Why?”
“Because that's exactly what he wants.”
“You keep saying that.”
“Because it's true.”
“And you keep acting like knowing what he wants means we should stop investigating.”
“No.”
He looked at you.
“It means we need to investigate differently.”
You crossed your arms. “Then tell me how.”
He sat down.
“Don't follow the connection.”
You frowned. “Why?”
“Because it's bait.”
“Then what do we follow?”
“The absence.”
You stared at him. He opened a terminal.
“The connection didn't leave a normal trace.”
“Obviously.”
“No.”
He typed.
“I mean it left no trace at all.”
You leaned closer. “That isn't possible.”
“It shouldn't be.”
He pulled up packet information. “Look.”
You studied the data. Thousands of packets. Normal enough, too normal.
You realized it at the same moment he did. “Statistical padding.”
He nodded.
“He generated traffic that looked like background noise.”
“So the connection disappeared inside legitimate traffic.”
“Exactly.”
You stared at the data.
“He didn't hide the signal.”
“He made the signal statistically indistinguishable from everything around it.”
You looked at him.
“That isn't something you learn from basic hacking.”
“No.”
“You taught him.”
Keeho's jaw tightened.
“Yes.”
You watched him for a moment.
“Tell me about him.”
He didn't answer.
“Keeho.”
His fingers stopped.
“I told you already.”
“You told me he was your mentor.”
“That was the short version.”
“I want the long version.”
He looked at the screen. Then quietly said, “I met him when I was nineteen.”
You sat beside him. “Where?”
“Online.”
“Of course.”
He gave you a tired look. “I was working on a vulnerability detection framework.”
“What kind?”
“Behavioral analysis.”
“You were already doing that?”
“I was obsessed with it.”
He opened another folder. Old source files appeared. You recognized his earlier coding style immediately.
Clean. Precise. Almost obsessive.
“You wrote all this?”
“Yes.”
“When?”
“Nineteen.”
You stared. “This is advanced.”
“I know.”
“You were nineteen.”
“I was annoying.”
“You're still annoying.”
He smiled. “Good to know some things haven't changed.”
You looked at the files. “How did Theo find you?”
“He found a repository.”
“Public?”
“Partially.”
“You published this?”
“Not the complete system.”
“Then what did he see?”
“Enough.”
Keeho opened a message archive. There was an old conversation. One message from an unknown account.
your authentication model is elegant, but you're solving the wrong problem.
You looked at him. “He contacted you?”
“Yes.”
“What did you say?”
“I told him he was wrong.”
You smiled.
“That sounds like you.”
“It gets worse.”
“How?”
“He proved it.”
You read the next messages.
Theo had identified three weaknesses in Keeho's design.
Not theoretical ones. Real vulnerabilities. Specific. Subtle. Dangerous.
You looked at Keeho. “He was better than you.”
“At first.”
You raised an eyebrow. “At first?”
“I got better.”
You smiled. “There he is.”
He ignored you.
“I thought he wanted to teach me.”
“And he did.”
“But?”
Keeho closed the message archive. “He wasn't teaching me to defend systems.”
You waited.
“He was teaching me how to think like the person attacking them.”
You understood.
“Threat modeling.”
“More than that.”
He looked at you.
“He taught me how to stop seeing a system as a system.”
You frowned. “What does that mean?”
“A network is just rules.”
He leaned back.
“People are the same.”
You listened.
“Every system has assumptions. Every person has assumptions. If you understand those assumptions, you don't have to break anything.”
“You convince it to let you in.”
“Exactly.”
You looked at him.
“That's what Theo is doing now.”
Keeho nodded.
“He doesn't attack the infrastructure first.”
“He attacks the assumptions.”
“Yes.”
You opened your notebook. “Then we need to stop looking for technical vulnerabilities.”
He looked at you.
“We need to find the human one.”
His eyes narrowed.
“Exactly.”
For the first time since the video appeared, you saw something close to hope in his expression. The next twelve hours were spent mapping Theo’s organization. You didn't search for names, but you searched for behavior. Companies suddenly changing security providers. Executives deleting social media accounts. Private contractors disappearing from public databases. Small cybersecurity firms appearing and disappearing within months. Financial transfers through shell companies. Government contracts awarded to companies that barely existed. The pattern slowly emerged.
You connected the first node.
Then the second.
Then the third.
Keeho watched silently.
“You see it?”
You pointed at the screen. “Here.”
He leaned closer.
“They're not operating as one organization.”
“No.”
“They're compartmentalized.”
“Exactly.”
You highlighted the connections.
“Every cell knows only enough to function.”
Keeho nodded.
“That's why nobody can expose the entire structure.”
“Exactly.”
You zoomed out. “But there's a central point.”
He frowned. “Where?”
You pointed. “Here.”
Silence.
The node wasn't a person. It was an infrastructure provider. A company that appeared completely legitimate. You opened its records. Nothing suspicious.
Perfect tax history. Perfect corporate filings. Perfect public reputation. Too perfect.
You looked at Keeho. “This is fake.”
He nodded. “Very.”
You opened the company registration. The legal representative was listed as Hwang Intak. You searched the name. Thousands of results. Too many. You ran a reverse identity correlation. Nothing.
“Dead identity.”
Keeho looked at the screen.
“Probably.”
You opened the corporate history. Then froze.
“Wait.”
“What?”
You highlighted a date.
“Look at this.”
The company had been registered eleven years ago. Three months before Keeho disappeared. He went completely still. You looked at him.
“That's not a coincidence.”
“No.”
“Were you working with Theo then?”
Keeho didn't answer.
“Keeho.”
“Yes.”
You swallowed. “What happened?”
He stared at the screen. “That was when I found out what he was really doing.” You waited. “I thought we were building a private security network.”
“And you weren't.”
“No.”
“What was it?”
He looked at you. “A surveillance architecture.”
You felt your stomach drop. “How much?”
“Everything.”
“Phones?”
“Yes.”
“Cameras?”
“Yes.”
“Corporate networks?”
“Yes.”
“Government?”
He hesitated. “Yes.”
You stared. “And you helped build it.”
His eyes lowered. “Yes.”
You stood up. “You knew?”
“Not at first.”
“But eventually.”
“Yes.”
“And you stayed.”
His expression tightened.
“For how long?”
“Three months.”
“Three months?”
“I was trying to find out how deep it went.”
“And then?”
“They found out I was looking.”
You stared at him. “What did they do?”
“They erased me.”
You frowned. “Meaning?”
“Everything.”
He looked at you. “My records. My accounts. My university information. My employment history.” He paused. “They made me officially disappear.”
You felt something cold settle in your chest.
“That explains why nobody can find you.”
“Yes.”
“But why didn't you tell anyone?”
“I tried.”
“What happened?”
He laughed quietly. “They had already prepared the story.”
“What story?”
“That I was responsible.”
You stared. “They framed you.”
“Yes.”
“And everyone believed them.”
“Almost everyone.”
You looked at him. “Who didn't?”
He smiled faintly. “No one.”
That answer hurt more than you expected. You sat down again. “What did you do?”
“I ran.”
“And became a hacker.”
“I became someone they couldn't erase twice.”
You looked at the code on the screen. The gray-hat hacker. The criminal everyone feared. Suddenly, it made sense. He hadn't become a hacker because he wanted power. He became one because the world had already decided he was one.
“You could have killed them.”
He looked at you. “I know.”
“But you didn't.”
“No.”
“Why?”
His answer was immediate. “Because then they'd have been right about me.”
You stared at him. That was the moment you understood the difference between Keeho and Theo. They might have learned the same skills. They might have understood the same systems. But they had chosen completely different reasons to use them.
Your phone suddenly vibrated.
Both of you looked at it.
A new message.
No sender.
One attachment.
You opened it.
A photograph.
You and Keeho.
Taken from outside the building.
You stared. “When was this?”
Keeho's expression hardened. “Tonight.”
You checked the timestamp. Seven minutes ago. You looked toward the window. Nothing. Just the city.
“What do we do?”
Keeho stood. “We leave.”
“Why?”
“Because we're being watched.”
You grabbed your jacket. “By who?”
He looked at you. “Everyone.”
You followed him through the corridor. The office was nearly empty. Only a few investigators remained.
You stopped. “Keeho.”
He turned. “What?”
“You said they know about me.”
“Yes.”
“Do they know where I live?”
He didn't answer and that was enough.
You immediately reached for your phone. “I'm changing my locks.”
“Don't.”
You frowned. “Why?”
“Because if they're watching you, changing the locks tells them you're scared.”
“So what do you suggest?”
He stepped closer. “Do nothing.”
“You're telling me to do nothing?”
“I'm telling you to let them think they still have control.”
You stared at him. Then slowly understood.
“You want to bait them.”
“I want them to reveal themselves.”
You shook your head. “That's dangerous.”
“Yes.”
“You could get me killed.”
His expression hardened. “I won't let that happen.”
“You can't guarantee that.”
“I know.”
He looked directly into your eyes. “But I'll try.”
The words were simple. No sarcasm. No confidence. Just honesty.
You looked away first. “Fine.”
He blinked. “Fine?”
“We bait them.”
A small smile appeared. “You trust me.”
“Don't get excited.”
“Too late.”
You walked toward the elevator. “Come on.”
He followed and the doors opened. You stepped inside. Then noticed Keeho wasn't moving.
“What?”
He stared at the hallway.
“Keeho?”
His expression had changed. You followed his gaze. A security camera. One you knew had been disconnected two months ago. Its indicator light was on. You looked at him.
“That camera isn't connected.”
He nodded. “Exactly.”
You pulled your weapon.
“Someone reconnected it.”
Keeho walked closer.
“Not physically.”
You looked at him and he pointed towards the camera.
“Look at the angle.”
You did. It wasn't pointing at the hallway. It was pointing directly at you. Your blood ran cold. Keeho took out his laptop.
“I need thirty seconds.”
“You have ten.”
“That's adorable.”
“Keeho.”
“I know.”
He connected to the building's local network. You watched his screen.
Packets.
Routing tables.
Device fingerprints.
ARP entries.
Then his eyes narrowed.
“Found it.”
“What?”
“It's not connected to the building network.”
“Then how?”
He stared at the screen. “It's using the camera as a relay.”
You frowned. “A relay to where?”
He traced the route. Then stopped. His expression changed.
“Home.”
You froze.
“My apartment?”
He nodded.
“He's using your apartment as an exit node.”
“How?”
“I don't know yet.”
“Then find out.”
Keeho typed faster. You watched the terminal.
$ trace-route --relay 10.44.18.7
hop 01 10.44.18.1
hop 02 10.44.22.19
hop 03 172.16.8.44
hop 04 [masked]
hop 05 [masked]
hop 06 [masked]
route divergence detected
reconstructing...
The screen updated.
A new line appeared.
WARNING:
destination is not external.
destination is LOCAL.
You stared.
“That's impossible.”
Keeho's face was pale. “No.” He looked at you. “It's worse.”
“What?”
He turned the laptop toward you. The destination address was one of the internal devices in your apartment.
Your laptop.
You felt your stomach drop.
“I shut it down.”
“I know.”
“It wasn't connected.”
“I know.”
“Then how-”
Keeho interrupted. “Because the laptop isn't the entry point.”
You looked at him. “Then what is?”
He didn't answer. His eyes moved slowly toward you. Then toward your phone. You looked down. The screen was black. But your phone was vibrating.
Once.
Twice.
Three times.
You unlocked it.
One message appeared.
you really should stop trusting him.
You looked at Keeho. Another message appeared.
he already lied to you.
You turned the phone toward him. His expression changed.
“What did you lie about?”
He didn't answer.
“Keeho.”
Silence. You stepped closer. “What did you lie to me about?”
He looked at the floor. Then finally said,
“I didn't tell you everything about the system.”
Your heart sank. “What didn't you tell me?”
He looked up.
“The original system wasn't designed only for defense.”
You waited. “It was designed to access any network.”
You stared at him.
“Any network?”
“Almost.”
“And you still have the source?”
“No.”
“Then where is it?”
His jaw tightened. “Inside me.”
You frowned. “What does that mean?”
“I memorized the architecture.”
You stared.
“You memorized an entire system?”
“Not every line.”
“Then what?”
“The logic.” He looked at you. “The way it thinks.”
You didn't know whether to be impressed or terrified.
Maybe both.
“Why didn't you tell me?”
“Because I didn't know if I could trust you.”
The words hit harder than they should have. You looked away.
“And now?”
He didn't hesitate. “Now I do.”
Silence. You looked back at him.
“That's a terrible reason.”
“I know.”
“You could have gotten me killed.”
“I know.”
“You could have compromised the entire investigation.”
“I know.”
You stared at him.
“Then why tell me now?”
His voice was quiet. “Because Theo already knows.”
That changed everything. You looked toward the dark corridor.
“Then we stop running.”
Keeho raised an eyebrow. “What?”
“We stop reacting.”
You opened your laptop. “We find him.”
He smiled faintly. “There she is.”
“Don't.”
“Don't what?”
“Look so pleased with yourself.”
“You're finally thinking like a hacker.”
You glanced at him. “No.”
You started typing.
“I'm thinking like a detective.”
He sat beside you. “What's the difference?”
You looked at the screen. “A hacker asks how to get inside.” You began tracing the infrastructure. “A detective asks why the door was left open.”
Keeho smiled. “And?”
You looked at him. “Let's find out why Theo wants us to walk through it.”
For the first time that night, Keeho didn't argue. He simply opened his laptop. And together, you began following the trail. Not toward Theo. Not yet. Toward the one thing he had accidentally revealed. His confidence. Because people who were truly in control didn't need to announce it.
They didn't send threats.
They didn't leave messages.
They didn't show their faces.
Theo had done all three.
Which meant one thing.
He was afraid.
And somewhere beneath all the layers of encryption, false identities and invisible infrastructure… he had made a mistake.
You just had to find it.
Few days later, you still couldn’t find it. The mistake was small. Almost insultingly small. That was what made it dangerous. You had spent the better part of six hours staring at network graphs, authentication logs and infrastructure maps until the lines on the screens had started to blur together.
Theo had covered almost everything.
Almost.
But almost was enough.
You sat in front of three monitors, your hair tied messily behind your head, one hand resting against your forehead while the other moved the cursor between different windows.
Keeho sat beside you.
For once, he wasn't talking. That alone told you how serious the situation was. You opened another dataset.
“Nothing.”
Keeho glanced at the screen. “That's not true.”
You frowned. “What?”
“You found something.”
“I found nothing.”
“You've been staring at that graph for eight minutes.”
“So?”
“You only stare at things when you're suspicious.”
You turned toward him. “You've been observing me?”
“Yes.”
“That's creepy.”
“I've been called worse.”
“You're impossible.”
“I know.”
You turned back to the monitor. “I think the entire infrastructure is designed to make us look in the wrong direction.”
Keeho leaned forward. “Explain.”
“Every time we trace an attack, we find a different provider.”
You opened several maps. “Different countries. Different hosting companies. Different autonomous systems.”
He nodded. “Compartmentalization.”
“Exactly.”
You highlighted the routes.
“But there's something consistent.”
Keeho looked closer. “Timing?”
“No.”
“Packet size?”
“No.”
“Encryption?”
“No.”
You zoomed in.
“Failure behavior.”
His expression changed, but you continued. “Every system Theo compromises behaves differently while it's being attacked. Different firewalls, different operating systems, different configurations.”
You pointed at the graphs. “But when the attack ends…” You switched between datasets. “They all fail in almost exactly the same way.”
Keeho stared.
“That's not random.”
“No.”
“What does it mean?”
You leaned back. “It means he isn't controlling the systems individually.”
Keeho went silent. You looked at him.
“He's using the same underlying architecture.”
He slowly nodded.
“One controller.”
“Maybe.”
“No.”
He pointed toward the graph. “Not one controller.”
You looked at him.
“A common protocol.”
You smiled faintly.
“Exactly.”
Keeho's eyes moved rapidly across the data.
“He doesn't need to control every system.”
“He only needs them to understand the same language.”
“Which means…”
“He built a distributed command architecture.”
Keeho leaned back.
“And every compromised system is basically another node.”
You nodded. “Exactly.”
He stared at the screen for a few seconds. Then smiled. You immediately knew that expression.
“What?”
“This is beautiful.”
You stared. “Excuse me?”
“The architecture.”
“You're admiring his work?”
“I'm admiring the engineering.”
“He's attacking hospitals.”
“I didn't say I admired him.”
“You smiled.”
“I can appreciate good engineering without approving of the person behind it.”
You sighed. “You're unbelievable.”
“You've said that before.”
“And I'll keep saying it.”
He looked at you. “Good.”
You ignored him and opened a blank terminal.
“We need to find the protocol.”
Keeho's expression became serious. “We won't find it by analyzing the traffic.”
“Why?”
“Because the protocol is probably encrypted.”
“Everything is encrypted.”
“No.”
He shook his head. “Not the important part.”
You looked at him. “Then what?”
“Structure.” He pointed toward the traffic graph. “Encryption hides content. It doesn't necessarily hide behavior.” You stared, while he continued. “Handshake timing. Packet sequencing. Retry patterns. Session termination. Error handling.”
You nodded.
“Metadata.”
“Exactly.”
You began building a behavioral model.
class TrafficFingerprint:
def __init__(self):
self.handshake = []
self.sequence = []
self.retry = []
self.termination = []
def observe(self, session):
self.handshake.append(session.handshake_pattern)
self.sequence.append(session.packet_sequence)
self.retry.append(session.retry_behavior)
self.termination.append(session.close_pattern)
def compare(self, other):
return calculate_similarity(
self.handshake,
self.sequence,
self.retry,
self.termination
)
Keeho watched you type. “You're building a behavioral fingerprint.”
“Yes.”
“For the protocol.”
“Yes.”
He nodded. “That's smart.”
You looked at him. “Thank you.”
“Don't get used to it.”
You smiled. “You started it.”
The program ran, but nothing. You decided to adjust the threshold. Still nothing. You changed the clustering model. Again - nothing.
⌁ — hacker!keeho (기호) x detective!reader ▸ enemies to lovers, cyber thriller, slow burn
now playing... darkside - alan walker
synopsis ▸ the most wanted hacker in the country keeps leaving messages only you can understand. what starts as a manhunt turns into an uneasy partnership, a city-wide cyber conspiracy, and a game neither of you was ever supposed to survive. the closer you get to catching keeho, the more dangerous it becomes to let him go.
contains ▸ hacking, cybersecurity, programming, digital forensics, government corruption, secret organizations, enemies to lovers, slow burn, banter, unresolved tension, trust issues, trauma, action, mystery, morally gray characters, eventual romance, a bit of cursing, no smut
wc. of whole fic 26.6k / chapter two 5k
part three
an ▸ i had the entire (bullshit i wrote this shit in two days) summer to rest, go outside, develop a personality, literally do anything and i chose to research cybersecurity for a fucking fanfiction. i’m currently studying programming with a specialization in ai, despite absolutely fucking hating programming, and have passed exactly one exam so far (the second one is next june, so we’ll see if i actually get that degree). apparently that still wasn’t enough suffering, because i voluntarily opened wireshark. i read about encryption protocols. i looked into networking. all for the sake of making a fictional hacker sound slightly more convincing. genuinely embarrassing behaviour. the fic itself is basically hacker!keeho x detective!reader, except apparently i wasn’t satisfied with just writing enemies to lovers, so i had to throw in some bullshit and code (which i wrote myself and i have no idea if they even work because programming classes gave me ptsd and i deleted every fucking program i had on my computer) to remind myself why i’m studying programming in the first place. some of it is accurate, some of it is exaggerated, and some of it exists because i thought it would be funny. anyway, enjoy the fic. i hate programming. i hate that i know this much about it. and somehow i still spent a few days of my summer becoming an even bigger fucking nerd and even bigger fucking loser for this, so you might as well. genuinely embarrassing.
The first thing everyone in the cybercrime division wanted to know the next morning was why you had stopped them from arresting Keeho. The second thing they wanted to know was where he had gone.
The answer to the second question was simple.
He had disappeared.
Again.
The answer to the first was considerably harder.
You stood in front of the glass wall of the briefing room with your arms crossed, staring at the attack timeline projected across the screen.
And the most frustrating part was that none of it looked like Keeho. You had spent months studying his work. You knew his habits. You knew that he preferred asynchronous execution, that he rarely relied on a single persistence mechanism, that he layered his encryption instead of trusting one primitive, and that he almost always created unnecessary redundancy.
He was paranoid. Painfully paranoid.
If a system had one way to detect him, he built three ways around it.
If a connection could be traced, he created another route.
If a credential could be revoked, he never relied on it twice.
His code was chaotic at first glance, but there was always architecture underneath the chaos.
This attack had none of that.
It was clean. Too clean.
“Explain it again.”
Your supervisor's voice pulled you out of your thoughts.
You turned toward him.
“It wasn't Keeho.”
The room became quiet. Someone near the back shifted in their chair. Your supervisor crossed his arms.
“You were standing next to him.”
“Yes.”
“You spoke to him.”
“Yes.”
“You saw him accessing the system.”
“No.”
The answer came quickly. He frowned.
“You didn't?”
You shook your head.
“He wasn't accessing the network when we arrived. He was analyzing it.”
“That's a convenient distinction.”
“It isn't a distinction. It's the difference between an attacker and an analyst.”
Your supervisor stared at you.
“You're defending him.”
“No.”
You turned back toward the screen.
“I'm correcting the evidence.”
You enlarged the first intrusion sequence.
“Look at the authentication event.”
Everyone leaned forward.
“This account was created with elevated privileges, but the timestamp is wrong.”
“Wrong how?”
“The account creation event appears before the authentication request that supposedly generated it.”
Your supervisor frowned.
“That shouldn't be possible.”
“Exactly.”
You pointed at the timestamp.
“Someone altered the event order.”
“Log manipulation?”
“Not exactly.”
You zoomed in further.
“They didn't delete the original logs. They modified the time source used by the logging service.”
A detective beside you frowned.
“What's the difference?”
“The difference is that deleting logs leaves a hole.”
You tapped the screen.
“This doesn't.”
You switched to another window.
“It creates a believable history.”
Silence. You continued.
“Whoever did this wasn't trying to hide the intrusion. They were trying to manufacture a version of events where someone else looked responsible.”
Your supervisor looked at you.
“Keeho.”
You nodded.
“Exactly.”
A long silence followed.
Then someone spoke from the other side of the room.
“So he was framed.”
You shook your head.
“No.”
Everyone looked at you. You corrected yourself.
“He was impersonated.”
Your supervisor's expression hardened.
“And you know this because?”
You opened a terminal.
“Because whoever did it copied his coding style.”
You entered a forensic command and loaded the recovered sample. The screen filled with functions. Then you highlighted a section.
“This is the loader.”
You scrolled.
“And this is where it becomes interesting.”
The code looked ordinary at first. A few functions, some error handling, a network routine. Nothing spectacular.
“Because I've spent eight months reading his work.”
Your colleague leaned back.
“That might be the strangest thing you've ever said.”
You ignored him, the room remained focused on the screen. You pointed toward another function.
“This is the giveaway.”
A small block of code appeared.
function resolve_route(packet):
candidates = collect_paths(packet)
for path in candidates:
if path.is_valid:
return path
return fallback()
You highlighted the final line.
“Keeho would never write this.”
“Why?”
“Because it's too obvious.”
You changed the display.
function resolve_route(packet):
candidates = collect_paths(packet)
for path in candidates:
if path.is_valid:
return path
return null
“The original author deliberately made the fallback behavior ambiguous.”
Your supervisor looked confused.
“And that proves it's not him?”
“No.”
You looked at the code again.
“It proves the person who wrote this wanted us to think it was him.”
A quiet realization moved through the room. Someone was deliberately imitating Keeho, which meant someone knew him. Really knew him.
You shut the laptop.
“We need to find out who.”
Your supervisor nodded slowly.
“And how exactly do you suggest we do that?”
You looked at the empty chair beside the door.
“Ask the only person who already knows.”
His expression immediately hardened.
“No.”
You raised an eyebrow.
“I didn't even say his name.”
“You didn't need to.”
“I can bring him in.”
“No.”
“He's the only person who can identify the imitation.”
“He's a wanted cybercriminal.”
“He's also the only person we've got.”
Your supervisor stepped closer.
“You're asking me to put a wanted hacker in the middle of an active investigation.”
“Yes.”
“And trust him?”
“No.”
You met his eyes.
“I'm asking you to use him.”
That seemed to make him pause. You continued.
“We don't have to trust Keeho. We don't have to forgive him. We don't even have to like him.”
Your eyes moved toward the attack data.
“We just need to understand what we're dealing with.”
Your supervisor stared at you for several seconds.
Then sighed.
“Bring him in.”
You almost smiled.
“Voluntarily?”
His expression became darker.
“Don't push your luck.”
You found Keeho two hours later. He was sitting in the interrogation room. Not because anyone had arrested him. But because he had walked into the building himself. That alone irritated you.
You took a deep breath and entered the room and stopped. Keeho was sitting on the opposite side of the table with his arms crossed. A laptop was open in front of him.
You stared at it.
“How did you get that?”
He looked up.
“Good morning.”
“You're not supposed to have a computer.”
“I know.”
“You're not supposed to be here.”
“I know.”
“You're technically still wanted.”
“I know.”
You pulled out the chair opposite him.
“You say that a lot.”
He smiled.
“You ask questions you already know the answer to.”
You sat down.
“You're irritating.”
“I've heard that too.”
You looked at the laptop.
“Where did you get it?”
“It's mine.”
“That wasn't my question.”
“I know.”
You narrowed your eyes. He smiled, then closed the laptop.
“You're getting better.”
“At what?”
“Not letting me control the conversation.”
You leaned back.
“You've been watching me.”
“Observing.”
“That's the same thing.”
“No.”
He looked at you.
“Watching is passive.”
His voice became quieter.
“Observing requires understanding.”
You held his gaze and for a moment, neither of you spoke. You slowly placed a drive on the table.
“We have a problem.”
Keeho looked at it.
“Theo?”
You froze slightly.
“How did you know?”
He looked back at you.
“Because you only bring me evidence when you're desperate.”
You frowned.
“You're very confident.”
“I've been right so far.”
“That's not an answer.”
“It is.”
You pushed the drive toward him and he picked it up.
“What's on it?”
“Your signature.”
His expression changed. Only slightly. But you still noticed.
He inserted the drive. You watched his eyes move across the screen. He didn't say anything. He opened the first file.
Then another.
Then a third.
His expression slowly became more serious. Finally, he leaned back.
“That's not me.”
“I know.”
He looked at you.
“You believe me?”
“No.”
A small smile appeared.
“Good.”
You frowned.
“Why good?”
“Because if you believed me immediately, I'd start worrying about your investigative instincts.”
You rolled your eyes.
“Can you analyze it?”
“Yes.”
“How long?”
“Depends.”
“On what?”
“How much you want me to tell you.”
You stared at him.
“I want everything.”
“That might take a while.”
“We have time.”
“No, you don't.”
He turned the laptop toward you.
“Look at this.”
A network diagram appeared. You leaned closer. The architecture was complicated. Several virtual machines, multiple relay nodes, a segmented command structure, encrypted channels.
No obvious central server.
“Distributed C2,” you said.
Keeho nodded.
“Mostly.”
You looked closer.
“Not fully distributed.”
His eyes flicked toward you.
“Why?”
“Because there is a coordinator.”
“Where?”
You pointed.
“Here.”
He stared at the diagram, then smiled.
“That's why I like you.”
You looked at him.
“Don't.”
“I didn't say anything.”
“You were about to.”
“I was.”
You sighed.
“Focus.”
“I am.”
He zoomed in. The architecture became clearer.
“The operator isn't controlling the implants directly.”
You nodded.
“They're using a task broker.”
“Exactly.”
“Which means the endpoints don't know where the commands originate.”
“Right.”
“And if we take down one relay…”
“We lose nothing.”
You looked at him.
“And that's why we can't attack the network directly.”
Keeho smiled.
“Now you're thinking.”
You leaned back.
“Don't sound so proud.”
“I am proud.”
“You didn't teach me.”
“No.”
He looked at the screen.
“I just gave you enough information to notice what you already knew.”
That answer caught you off guard. You looked at him. For once, there was no arrogance in his expression. Just respect.
You turned back toward the laptop.
“What's the encryption?”
“Custom.”
You frowned.
“That's dangerous.”
“Not necessarily.”
“Custom cryptography is usually terrible.”
“Usually.”
“You wrote it?”
“No.”
“Theo?”
Keeho nodded.
“Probably.”
You studied the encrypted packet.
“It's layered.”
“Yes.”
“Symmetric payload encryption with asymmetric key exchange.”
“Correct.”
“You're using ephemeral keys.”
“Someone is.”
You glanced at him.
“You really don't know?”
“I know enough.”
“What does that mean?”
He hesitated.
“It means Theo changed.”
You waited.
“He wasn't this good when I knew him.”
You looked at the packet again.
“What did he use to write?”
“Mostly C.”
“Mostly?”
“C for low-level components. Python for orchestration. Some Rust later.”
You raised an eyebrow.
“Rust?”
“He became paranoid about memory safety.”
“That's ironic.”
Keeho smiled faintly.
“Very.”
You looked at the code again.
“There.”
He leaned closer.
“What?”
You pointed to a memory allocation pattern.
“This.”
Keeho stared and his expression changed.
“You see it?”
“Yes.”
“That's not a normal allocation strategy.”
“No.”
You looked at him.
“He's trying to avoid predictable memory layouts.”
Keeho nodded.
“Exactly.”
“Why?”
“To make memory analysis harder.”
You studied him.
“That's not beginner-level.”
“No.”
“That's someone who expects us to dump the process.”
“He expects you to dump everything.”
You looked at him.
“And you?”
“I would.”
“Why?”
“Because if he's paranoid enough to protect his memory, he's probably hiding something important there.”
You nodded and then opened the forensic toolkit. Keeho watched you work.
“You're going to dump it?”
“Yes.”
“Good.”
“Why?”
“Because I want to see if you're as good as everyone says.”
You looked at him.
“You're testing me?”
“Maybe.”
“You realize you're the one who needs my help.”
“I know.”
“And you're still testing me.”
“Yes.”
You stared at him.
He smiled.
“You're unbelievable.”
“I've been told.”
You began the analysis, the room became quiet and for the next hour, neither of you spoke much. You worked through memory regions, comparing executable segments against the original binary. Keeho watched your process without interrupting. Eventually, you found something.
A hidden configuration structure.
Encrypted.
You isolated it.
“Got you.”
Keeho leaned closer.
“Don't decrypt it.”
You stopped.
“Why?”
“Because we don't know what it does.”
“It's just configuration.”
“You don't know that.”
You looked at him.
“Then what do you suggest?”
“Emulate.”
You nodded.
“Sandbox?”
“Controlled sandbox.”
“Network disabled.”
“Obviously.”
“Snapshot before execution.”
“Yes.”
“Memory capture after.”
“Yes.”
“Behavioral comparison.”
“Exactly.”
You looked at him.
“You've done this before.”
His expression became distant.
“A lot.”
You didn't ask how many. You didn't need to.
The sandbox opened. The sample executed.
Nothing happened.
Ten seconds.
Twenty.
Thirty.
Then the process created a child process. You watched and Keeho leaned closer.
“Wait.”
You looked at him.
“What?”
He pointed at the memory graph.
“Look at the entropy.”
You zoomed in.
The memory region changed then changed again then returned to its previous state.
You frowned.
“That's not normal.”
“No.”
“It's rewriting itself.”
“Not exactly.”
You looked at him.
“Then what?”
“It's reconstructing itself.”
You stared.
The malware wasn't simply modifying memory, but tt was creating a new execution state from fragments. A self-mutating architecture.
You whispered,
“That's fucking insane.”
Keeho smiled.
“Thank you.”
You looked at him.
“That wasn't a compliment.”
“It sounded like one.”
You returned to the code.
“Can we fingerprint it?”
“Yes.”
“Without executing it again?”
“Yes.”
“How?”
“Compare the immutable sections.”
You nodded.
“Strings won't work.”
“No.”
“Imports?”
“Partially.”
“Control-flow graph?”
“Better.”
You looked at him.
“Behavioral graph.”
His eyes lit up.
“Exactly.”
You opened the analysis tool. A graph appeared.
Nodes.
Branches.
Execution paths.
You began comparing it with the known Keeho samples.
The similarity was frightening. Same structural philosophy, similar evasion logic, similar redundancy, similar naming conventions.
But not identical.
After a while, you found the difference. A small one. A single decision-making pattern.
You highlighted it.
“Keeho.”
He leaned forward.
“What?”
“This isn't someone copying your code.”
He stared at the screen.
“Then what is it?”
You looked at him.
“They trained themselves to think like you.”
He went silent and room suddenly felt much colder.
“You mean…”
“I mean they studied your methodology.”
You pointed at the graph.
“They didn't copy the implementation. They copied the reasoning.”
Keeho stared at the screen. For the first time since you'd met him, you couldn't read his expression.
“What?”
He finally spoke.
“That's impossible.”
“Why?”
“Because the methodology isn't public.”
“You taught someone.”
“No.”
“You wrote tutorials?”
“No.”
“Shared source?”
“No.”
“Collaborated with someone?”
He remained silent. You noticed.
“Who?”
He looked away.
“Keeho.”
“Not here.”
You leaned forward.
“Then where?”
He closed the laptop.
“We're done.”
You stared at him.
“No.”
He stoo up and you immediately grabbed his wrist.
“Sit down.”
His eyes dropped to your hand, then slowly returned to your face. For a second, neither of you moved. You realized how close you were and slowly released him.
He sat back down.
“Tell me.”
He exhaled.
“You're going to hate the answer.”
“I already hate you.”
“That makes things easier.”
You waited.
He looked at the table.
“Theo.”
You frowned.
“You said he taught you.”
“He did.”
“Then he knows your methodology.”
“Not like this.”
“What changed?”
Keeho was silent. You watched as his fingers tighten around the edge of the table.
“He knows me better than anyone.”
There was something in his voice that made you stop. Not fear this time. Something way older. Regret.
“He knows how I think.”
You lowered your voice.
“And that's why you're scared.”
Keeho looked at you.
“Yes.”
The answer was so honest that it caught you off guard. You sat back.
“Tell me who he is.”
Keeho looked at the laptop.
Then at you.
“I met him when I was nineteen.”
You waited.
“I was a programmer.”
He paused.
“Not a hacker.”
You remained quiet.
“I wrote security software. Detection systems. Intrusion prevention. Things designed to keep people like me out.”
A faint smile appeared.
“I was good at it.”
“I believe you.”
His eyes moved to yours.
“You shouldn't.”
“Why?”
“Because being good at something doesn't make you good.”
You considered that.
“What happened?”
“Theo found me.”
“How?”
“Bug bounty.”
You raised an eyebrow.
“You met through a vulnerability?”
“Technically.” He leaned back. “I found a flaw in a commercial security platform. Reported it. They ignored me.”
“And Theo?”
“He didn't.”
Keeho's voice became quieter.
“He contacted me.”
You waited.
“He showed me why the vulnerability existed.” He looked at his hands. “Then he showed me ten more.”
“And you worked with him.”
“Yes.”
“Why?”
“Because I was nineteen.” He looked at you. “And I thought understanding how something could be broken meant I could learn how to fix it.”
You said nothing.
He continued.
“I was wrong.”
The silence stretched between you.
Finally, you asked,
“What did he teach you?” Keeho looked at you. “Everything.”
“Not just devices.” He leaned forward. “Relationships. Communication patterns. Financial behavior. Location histories. Corporate structures. Political connections. Psychological profiles.”
Your expression hardened.
“That sounds like mass surveillance.”
“It was.”
“Why?”
“Control.”
The word landed heavily. Keeho looked toward the dark window.
“He believed information didn't have moral value.”
You watched him.
“He believed information was power.”
“And he wanted all of it.”
“Yes.”
You asked quietly,
“And when you tried to leave?”
Keeho smiled without humor.
“He made me disappear.”
You frowned.
“I thought you chose that.”
“So did everyone else.”
He looked at you.
“That was the point.”
You didn't know what to say. For the first time, the story everyone had told you about Keeho began falling apart. Not completely - he was still a criminal. Still a hacker. Still someone who had broken laws you had sworn to enforce. But suddenly, the ghost looked less like someone hiding from justice. He looked like someone who had been running from something worse.
The door opened.
Your supervisor stepped inside.
“We have another attack.”
You stood immediately.
“Where?”
“Financial infrastructure.”
You looked at Keeho. He was already standing.
“Same signature?”
Your supervisor nodded.
“Exactly.”
Keeho's face changed.
“That's impossible.”
Your supervisor frowned.
“You said that last time.”
“I know.”
Keeho grabbed the laptop.
“This time they changed something.”
“What?”
He looked at you.
“They stopped pretending to be me.”
You felt your stomach drop.
“What does that mean?”
Keeho opened the latest sample and the code appeared.
Different and cleaner. More sophisticated.
He scrolled through it and after a moment stopped.
“No.”
You stepped closer.
“What?”
He pointed at a function. “I wrote this.”
You looked at him.
“When?”
“Years ago.”
“Where?”
“I never published it.”
You stared at the code.
“What was it?”
Keeho didn't answer.
“Keeho.”
He looked at you. His voice was almost a whisper.
“A prototype.”
“For what?”
He swallowed. “A system that could move through networks without appearing to move.”
You frowned.
“That's impossible.”
He gave you a tired smile.
“So you said.”
You looked back at the screen. The architecture was beautiful. Terrifying. Elegant. A distributed system with no permanent center. No single point of failure. No obvious origin. A digital organism. You finally understood.
“This isn't an imitation.”
“No.”
“They have your original code.”
“Yes.”
“And Theo has it.”
Keeho nodded. You looked at the screen. Then at him.
“Then we have a bigger problem.”
Keeho closed the laptop.
“No.”
You frowned.
“What?”
His eyes met yours.
“We have the same problem.”
You stared at him, as he stepped closer.
“Someone out there has my code.”
A pause.
“And now they know yours.”
Your expression hardened.
“What do you mean?”
Keeho looked toward the hallway.
“The moment you helped me analyze that sample, they saw your forensic signature.”
Your blood ran cold.
“They know you're involved.”
“Yes.”
“And that's bad?”
His eyes met yours again.
“Very.”
“Why?”
“Because Theo doesn't attack systems.”
He lowered his voice.
“He attacks people.” You stood completely still.
“And now?” Keeho looked at you.
“Now you're part of the system.”
That night, at 2:37 a.m., everyone else had gone home, however you and Keeho were still in the lab. The office was almost completely dark, only the monitors illuminated the room. You were writing a detection routine when he leaned over your shoulder.
“You're doing it wrong.”
You stopped typing and slowly, you turned your head.
“If you say that again, I swear to God—”
“Your heuristic is too predictable.”
You stared at him.
“You interrupted me to insult my code?”
“No.” He pointed at the screen. “To improve it.”
You looked back at the function.
def detect_anomaly(packet):
if packet.is_encrypted:
return True
return False
“What's wrong with it?”
“It assumes encryption is suspicious.”
“It often is.”
“That's not the point.”
He pulled the chair beside you closer.
“An attacker knows what you're looking for.”
“So?”
“So they'll avoid doing exactly that.” He took the keyboard. “Think behaviorally.”
He rewrote the function.
def detect_anomaly(packet, baseline):
deviation = compare(packet, baseline)
if deviation > baseline.threshold:
return True
return False
You studied it. “You're comparing against normal traffic.”
“Yes.”
“Behavioral detection.”
“Yes.”
“That's basic.”
He smiled.
“Then why didn't you write it?” You glared at him.
“I was building the signature layer.”
“Which is exactly why it's predictable.”
You leaned back.
“You're insufferable.”
“And yet…”
He looked at you.
“You're still listening.”
You looked at the screen. He was right. Annoyingly. You modified the function. Then added a second layer. Then a third.
Keeho watched silently.
“You're learning.”
You looked at him.
“I already knew this.”
“No.”
He shook his head.
“You knew the technique.”
His eyes remained on the code.
“Now you're thinking like an attacker.”
You paused. Something about the way he said it made your chest tighten.
“You're a bad influence.”
He smiled. “Probably.”
You turned back to the monitor. For several minutes, neither of you spoke. The silence wasn't uncomfortable anymore. It was almost familiar. Then Keeho said quietly,
“You know what the worst part is?”
You kept typing.
“What?”
“I don't think Theo is after me anymore.”
You stopped.
“Then what does he want?”
Keeho looked at you.
“You.”
Your fingers went still. He continued before you could answer.
“Because you're the first person who understood my code.”
A pause.
“And if Theo knows me as well as I think he does…” His voice dropped. “He knows exactly what that means.”
You looked at him.
“What?”
Keeho held your gaze.
“That you're the first person I've trusted in years.”
Neither of you spoke. Then, somewhere deep inside the network, a monitor flashed red. One alert. Then another. Then twenty.
Keeho turned toward the screens.
You were already standing.
“What happened?”
He stared at the traffic. His face went pale.
“He found us.”
You moved toward the main terminal.
“Where?”
Keeho shook his head. “No.”
“What?”
“He didn't find us.” He looked at you. “He found you.”
The screen went black. Then one line of white text appeared.
HELLO, DETECTIVE.
Keeho stepped toward you. And for the first time since you had met him, he didn't look like the ghost everyone was afraid of. He looked like someone who had finally realized he couldn't run anymore.
You had always believed that everyone had a pattern. Criminals. Detectives. Programmers. Hackers.
People liked to think they were unpredictable, but unpredictability was usually just complexity you hadn't understood yet.
A person could lie.
A person could change their mind.
A person could make an irrational decision.
But even irrational decisions had causes.
Fear. Pride. Anger. Attachment. Desperation.
Given enough information, almost anyone could be understood. That was why you were good at your job. You didn't simply investigate evidence, but you investigated behavior. You looked for repetition. And Keeho was the first person you had ever encountered whose pattern seemed to be built around destroying his own. He left traces deliberately. Then erased them. He created backdoors. Then destroyed them. He built systems designed to preserve access. Then burned the infrastructure he had used.
Every time you thought you understood him, he changed the rules. And now someone else had begun doing the same thing, except they weren't changing the rules - they were copying them.
You arrived at the office at 6:02 a.m.
You had slept for approximately two hours.
Again.
The moment you entered the lab, you knew Keeho had already been there. Your coffee was on the desk. You hadn't made it. You stared at it. Then at the chair. He was sitting in it.
Of course.
Keeho looked up from your monitor.
“Good morning.”
You stopped in the doorway.
“Why are you sitting at my desk?”
He took a sip of your coffee.
“Good morning.”
“That wasn't an invitation to repeat yourself.”
He smiled.
“I know.”
You walked toward him and took the cup out of his hand.
“That is mine.”
“I know.”
“You're drinking my coffee.”
“Yes.”
“Why?”
He thought for a moment.
“Because yours is better.”
You stared at him.
“It's literally the same coffee.”
“Emotionally, it's different.”
You closed your eyes.
“Get out of my chair.”
“No.”
You looked at him.
“No?”
“No.”
“Why?”
“Because this chair has better lumbar support.” You stared.
“You are sitting in my chair, drinking my coffee and using my computer.”
“Yes.”
“And you think you're funny.”
“I know I'm funny.”
“You're unbelievable.”
“You've said that before.”
“Because you keep giving me reasons.” He smiled.
You tried not to, but you brutally failed and his expression immediately changed.
“There.”
You frowned. “What?”
“You smiled.”
“I didn't.”
“You did.”
“No.”
“Detective.”
“Keeho.”
He leaned back. “You're terrible at lying.”
You turned away from him.
“Coming from someone whose entire identity is a lie.”
The smile disappeared from his face. Only for a second. But you noticed. You always noticed. You returned to your desk.
“Sorry.”
He looked at you. “You don't have to apologize.”
“I shouldn't have said that.”
“You're right.”
You raised an eyebrow. “That was quick.”
“I didn't say I wasn't offended.”
You looked at him.
He smiled faintly. “I just said you didn't have to apologize.”
For a moment, neither of you spoke, then you opened the investigation files.
“Did you sleep?”
“No.”
“Why?”
“Didn't feel like it.”
“You've been awake all night?”
“Mostly.”
“That's unhealthy.”
“You sound like me.”
“That's terrifying.”
He laughed quietly. Seconds later, his expression became serious.
“I found something.”
You immediately leaned toward the screen. “What?”
He opened a file. The code was old. Very old. Older than any of the samples you had analyzed. The programming style was noticeably different. Cleaner, less defensive. More experimental.
You looked at Keeho.
“This is yours.”
He nodded.
“Yeah.”
“When?”
“Before Theo.”
You looked back at the screen. “What is it?”
He hesitated.
Then said,
“The beginning.”
You frowned.
“The beginning of what?”
“My mistake.”
The file contained thousands of lines. You scrolled.
The architecture was sophisticated but unfinished. A distributed security framework. The original concept behind the network you had seen the night before.
You began reading.
Then stopped.
“Wait.”
Keeho looked at you.
“What?”
“You didn't write this as an attack system.”
“No.”
“It was defensive.”
“Yes.”
You stared at the code. A system designed to detect unauthorized movement across a network. But it didn't simply detect intrusions. It learned them. It observed normal traffic, created behavioral baselines and adapted when those patterns changed.
You looked at him.
“You built a self-learning intrusion detection system.”
“An early version.”
“This is years ahead of what existed when you wrote it.”
He shrugged.
“I liked the problem.”
You stared at him.
“Why did you abandon it?”
His expression changed.
“Because Theo took it.”
Silence.
You looked back at the code.
“Did he modify it?”
“Yes.”
“How?”
“He turned the defensive architecture into an offensive one.”
You felt a chill.
“He used the same system to map networks.”
Keeho nodded. “Exactly.”
You looked at him.
“Then the attacks we're seeing…”
“Are based on this.”
You stared at the screen and the realization was immediate. The attacker wasn't copying Keeho - they were using something Keeho had created years ago, something that shouldn't have existed outside his own archives.
You looked at him.
“Where did you keep this?”
“Offline.”
“Completely?”
“Yes.”
“No cloud?”
“No.”
“External backups?”
“One.”
“Where?”
He didn't answer.
“Keeho.”
He looked at you.
“Destroyed.”
You frowned.
“When?”
“Years ago.”
“You're sure?”
“Yes.”
“Then how does Theo have it?”
Keeho looked at the screen. “I don't know.”
That was the first time you realized something important. Keeho didn't always know. The realization made him seem strangely human.
You spent the next several hours examining the old code. The deeper you went, the more sophisticated it became. The system wasn't simply a collection of algorithms. It was an architecture. A framework. A way of thinking. You found modules for anomaly detection, trust scoring, distributed telemetry, adaptive routing and encrypted communication.
You looked at one function.
def evaluate_node(node, baseline):
deviation = measure_deviation(node, baseline)
if deviation < threshold:
return TRUSTED
if deviation < critical:
return SUSPICIOUS
return UNKNOWN
You pointed at it.
“This is strange.”
Keeho looked over. “Why?”
“The classification.”
“What about it?”
“Why three states?”
He shrugged. “Because binary trust is stupid.”
You looked at him. “Explain.”
“Most systems assume something is either safe or dangerous.” He leaned closer. “Real networks don't work like that.”
You waited.
“A device can behave normally ninety-nine percent of the time and still be compromised.” He pointed toward the code. “So instead of asking whether a node is safe, you ask how much you trust it.”
You nodded slowly. “Risk scoring.”
“Exactly.”
You looked at the algorithm. “That's actually clever.”
He smiled. “Was that a compliment?”
“Don't ruin it.”
“Too late.”
You rolled your eyes and he looked pleased with himself, then you noticed something else. A function near the bottom.
⌁ — hacker!keeho (기호) x detective!reader ▸ enemies to lovers, cyber thriller, slow burn
now playing... prey - the neighbourhood
synopsis ▸ the most wanted hacker in the country keeps leaving messages only you can understand. what starts as a manhunt turns into an uneasy partnership, a city-wide cyber conspiracy, and a game neither of you was ever supposed to survive. the closer you get to catching keeho, the more dangerous it becomes to let him go.
contains ▸ hacking, cybersecurity, programming, digital forensics, government corruption, secret organizations, enemies to lovers, slow burn, banter, unresolved tension, trust issues, trauma, action, mystery, morally gray characters, eventual romance, a bit of cursing, no smut
wc. of whole fic 26.6k / chapter one 4k
part two
an ▸ i had the entire (bullshit i wrote this shit in two days) summer to rest, go outside, develop a personality, literally do anything and i chose to research cybersecurity for a fucking fanfiction. i’m currently studying programming with a specialization in ai, despite absolutely fucking hating programming, and have passed exactly one exam so far (the second one is next june, so we’ll see if i actually get that degree). apparently that still wasn’t enough suffering, because i voluntarily opened wireshark. i read about encryption protocols. i looked into networking. all for the sake of making a fictional hacker sound slightly more convincing. genuinely embarrassing behaviour.
the fic itself is basically hacker!keeho x detective!reader, except apparently i wasn’t satisfied with just writing enemies to lovers, so i had to throw in some bullshit and code (which i wrote myself and i have no idea if they even work because programming classes gave me ptsd and i deleted every fucking program i had on my computer) to remind myself why i’m studying programming in the first place. some of it is accurate, some of it is exaggerated, and some of it exists because i thought it would be funny.
anyway, enjoy the fic. i hate programming. i hate that i know this much about it. and somehow i still spent a few days of my summer becoming an even bigger fucking nerd and even bigger fucking loser for this, so you might as well. genuinely embarrassing.
The first thing everyone in the cybercrime division learned about Keeho was that he did not exist.
Not officially, at least.
There was no photograph attached to his name. No confirmed date of birth. No fingerprints in any accessible database. No educational records that had survived verification. No employment history, no medical records, no known relatives, no registered address and, most importantly, no single digital identity that could be confidently attributed to him.
Every attempt to locate him produced the same result: nothing.
Or worse - something that looked like him.
A university record belonging to a man who had died twelve years earlier. A passport number that belonged to someone living on the other side of the world, in Argentina. An employment history that led investigators to a software company that had never existed. Phone numbers registered to prepaid devices that had never connected to a real person.
It was as if someone had taken a person apart and scattered the pieces across the internet.
Keeho was a ghost. But ghosts did not usually breach government infrastructure.
They did not penetrate corporate networks protected by enterprise-grade intrusion detection systems, expose encrypted financial records, or dismantle ransomware operations from the inside. They did not leak evidence of corruption to journalists and disappear before investigators could even determine where the traffic had originated. And they definitely did not leave sarcastic comments inside the code they used to do it.
That was what made him different, because most hackers wanted something.
Money, recognition, political influence, revenge.
Keeho seemed to want information.
Information, and occasionally justice.
The problem was that his definition of justice involved breaking into systems he had absolutely no legal right to access and hat made him a criminal. No matter how morally convenient his targets were.
You had spent almost three years in the cybercrime division, but you had not started your career as a detective.
Before the badge, there had been code.
You had studied computer science because you liked problems that had answers. Programming had made sense in a way people never did. A broken program had a cause. A vulnerability had an origin. A system could be examined, dismantled and understood.
People were different.
They lied, changed their stories.
They looked directly into your eyes and told you things they knew were false.
But code never looked at you. It simply told you what it was and that was why you had eventually ended up in cybercrime.
Your colleagues were excellent investigators. They knew how to reconstruct timelines, identify behavioral patterns, interrogate suspects and connect evidence scattered across hundreds of cases. And you understood the other side.
The machine.
The architecture beneath the crime.
You could look at a malware sample and tell where its author had rushed. You could distinguish copied code from original work. You could recognize when a programmer had changed languages halfway through a project, when they had learned a new technique and started using it everywhere, when they were confident and when they were improvising.
Every programmer had habits. Even the best ones, no, especially the best ones.
And Keeho had more than anyone you had ever studied.
Your alarm went off at 6:15 a.m.
You opened one eye, but the alarm continued screaming.
You stared at your phone with the exhausted hatred usually reserved for people who had personally betrayed you. Then you turned it off.
For several seconds, you simply remained there, staring at the ceiling.
You had gone to sleep at 3:08.
You knew the exact time, because you had looked at the clock after finally closing the forensic report you had been working on. You had told yourself you would finish it tomorrow, but then you had remembered that Keeho had modified the encryption structure.
Then you had told yourself you would only check one thing.
Then another.
Then another.
Three hours disappeared.
Again.
You sat up.
Your apartment looked like the physical manifestation of a programmer slowly losing an argument with reality. Two monitors occupied most of your desk. A third sat vertically beside them, permanently displaying system logs. There were notebooks stacked underneath the desk, several mechanical keyboards scattered around the room and enough empty coffee cups to make you question whether you had ever actually thrown anything away.
On the wall opposite your desk was the investigation board. Most of the photographs had been removed weeks ago. There was literally no need for them anymore, because everything important existed digitally.
Network diagrams.
Timeline fragments.
Hashes.
Domains.
Compromised infrastructure.
Cryptographic signatures.
Behavioral patterns.
There was one word written in the center.
KEEHO.
You walked toward the desk and switched on the monitors before making coffee. You were already opening the forensic environment when your phone vibrated.
Three new messages.
Two internal and one encrypted.
You opened the encrypted one first, there was no sender, only a file.
You stared at it then smiled humorlessly.
“You've got to be fucking kidding me.”
You downloaded the file into an isolated environment and inspected the metadata.
Nothing.
Of course.
You mounted it without executing anything and examined its structure. The whole container was encrypted. You decided to enter the recovery credentials, however the system rejected them.
You tried again.
Rejected.
You frowned.
The credentials were correct. You knew they were correct because you had personally generated the recovery environment.
You inspected the authentication logs.
Nothing.
That made your expression change.
You leaned closer to the screen and moreover there was no failed login attempt.
No invalid credential entry.
No suspicious process.
No network connection.
Nothing.
Someone had modified the container without triggering the logging layer. With a big sigh, you began tracing the filesystem journal.
Your fingers moved faster.
A few seconds later, you found the modification yet not in the encrypted file itself, but in the metadata associated with it.
Someone had altered the way the forensic environment interpreted the container.
Not the encryption. The interpretation.
You sat back, crossing your arms.
“That is fucking annoying.”
You opened the affected binary and began comparing it against the original version. The difference was microscopic - a few instructions, one altered branch. A harmless-looking conditional that changed how the application handled a particular authentication state.
You smiled despite yourself.
There.
That was his handwriting.
You searched the surrounding bytes.
Nothing.
You searched the strings.
Nothing.
You searched comments.
Nothing.
Then you noticed a single line hidden inside a section that should never have contained human-readable text. You extracted it.
you really should sleep more
You stared at the screen. For several seconds, you said nothing. Then you leaned back in your chair, frowning.
“You really have too much free time.”
The cursor blinked.
You knew it was impossible. After all there was no active connection.
But you still typed.
are you watching me?
You waited.
Nothing.
You almost laughed at yourself how ridiculous you were at that moment.
Then the response appeared.
maybe
Your smile disappeared and your body tensed. You immediately checked the machine again.
Network interfaces - disabled.
External connections - none.
Active sockets - none.
The whole environment was isolated.
You typed.
how?
The answer came almost immediately.
wrong question
Your jaw tightened.
then what is the right question?
This time, the response took longer.
how long have i been here?
You stared at the screen, while your fingers hovered above the keyboard.
You hated him.
You hated how he did this.
How he never gave you enough information to prove anything but always gave you enough to make you doubt yourself. You opened the system's memory analysis tools and started looking for anomalous processes.
Nothing.
No injected process.
No suspicious handle.
No unexpected child process.
No persistence mechanism.
Nothing.
You checked the kernel logs.
Nothing.
You checked the event timeline.
Nothing.
You checked the network stack.
Nothing.
It was as if the conversation wasn't happening.
You looked back at the screen.
show yourself
The cursor blinked.
Then:
catch me first
You stared at those three words for a long moment. You should have called your supervisor long time ago. Instead, you smiled. Because finally, after months of chasing fragments, the ghost had spoken to you directly. And somehow, you knew he was doing it deliberately. Not exactly because he wanted to scare you. Because he wanted you to keep looking.
The cybercrime division was already chaotic when you arrived later that morning.
People were moving between desks with coffee cups in their hands. Phones rang constantly. Someone was arguing about a court order. Two analysts were staring at a packet capture projected across a large screen.
You dropped your bag beside your desk.
“Morning.”
You looked up. Jiung stood there with a coffee. He studied your face, then frowned. “You look terrible.”
You took the coffee from him. “Good morning to you too.”
“I mean it affectionately.”
“That somehow makes it worse.”
He pulled out the chair opposite you. “You slept?”
You took a sip. “Technically.”
“That wasn't my question.”
“I slept.”
“For how long?”
You looked at your monitor.
He sighed. “You were working on Keeho again.”
You didn't answer.
Jiung pointed at you. “That silence is basically a confession.”
You turned toward him. “What do you want me to say?”
“I want you to admit that you're obsessed.”
“I'm not obsessed.”
“You have an entire wall dedicated to one person.”
“It's an investigation board.”
“It's one name.”
“Because it's one suspect.”
“It's one suspect you've been studying for eight months.”
You leaned back. “Because nobody else can identify his patterns.”
Jiung stared at you, and after a moment his expression softened. “Maybe because he doesn't want anyone else to.”
You looked at him, frowning. “What?”
“He talks to you.”
Your expression hardened. “He doesn't talk to me.”
Jiung raised an eyebrow. “He leaves messages.”
“That's not talking.”
“He specifically leaves them where you will find them.”
You were quiet, he noticed.
“See?”
You sighed.
“That doesn't mean anything.”
“Then why do you think he does it?”
“I don't know.”
“That's bothering you.”
“Yes.”
“Why?”
You looked down at the coffee in your hands. “Because I don't understand his motive.”
Jiung leaned forward, his forearms on his thighs. “You understand his motive better than most people here.”
“That's the problem.”
You looked toward the investigation board. “He isn't doing this for money.”
“No.”
“He isn't trying to build a reputation.”
“No.”
“He doesn't sell the information he steals.”
“No.”
“He doesn't hurt civilians.”
Jiung nodded slowly.
“And that bothers you because?”
“Because it means he has a line.”
Jiung studied you.
“A line?”
“Everyone has one.”
You looked back at the screen.
“The question is where his is.”
You didn't know it yet, but that was the first mistake you made with Keeho. You assumed his line was moral, however you would eventually learn that it was personal.
That night, you stayed late.
Again.
The office emptied slowly until only the hum of computers remained. You were analyzing a malware sample recovered from a financial institution when you noticed something unusual.
The code was good. Well… Very good.
The architecture was modular. The communication layer was separated from execution. The payload remained dormant until it verified the environment. It checked for virtualized hardware. Debugging artifacts. Known analysis tools. Timing discrepancies. Everything about it suggested an experienced operator.
But something was wrong.
You zoomed into a function responsible for generating identifiers.
The code was unnecessarily complicated.
Not inefficient.
Deliberately complicated.
You isolated it.
Then you saw the pattern. A specific mathematical sequence.
Not random.
A signature.
You compared it against previous samples.
There it was.
Keeho.
You leaned back. “You're getting sloppy.”
A voice came from behind you. “You're getting arrogant.”
You froze.
Slowly, you turned around. But… Nobody was there.
Your heart started beating faster and hand, which was on the mouse, started slightly trembling.
You looked back at the screen. A new line appeared.
or maybe i'm getting bored
You stared.
Then typed, drop of your sweat fell on the keyboard.
you're inside again
technically
that's not reassuring
it wasn't supposed to be
You leaned closer.
why me?
The response didn't appear immediately. That was the first time, Keeho seemed to hesitate. Seconds passed, or maybe even minutes, you started to think that you are going insane, after all, you haven’t slept well for god knows how long.
Then:
because you actually read the code
You frowned.
everyone here reads the code
no
Another message appeared.
they read what the code does
you read why it does it
You stared at that sentence longer than you wanted to admit. There was something uncomfortable about being understood by someone you were trying to arrest.
You typed:
you're still a criminal
A few seconds passed.
i know
then stop
you know it isn't that simple
You looked at the screen.
make it simple
The reply came quickly.
catch me
You almost smiled.
of course i will
This time, there was no answer. You didn't know whether that meant he was gone or whether he was watching you type.
Three weeks later, you found the location.
It came from a network anomaly buried inside traffic belonging to a telecommunications provider that had been inactive for almost two years. The signal existed for only seconds at a time, nevertheless short enough to evade conventional monitoring. Long enough to be noticed by someone who knew what they were looking for.
You.
You stared at the map.
An abandoned office building outside the city.
You zoomed in.
“That's him.”
Your supervisor stood behind you.
“You're sure?”
You nodded.
“Not completely.”
He frowned.
“That's not reassuring.”
“He wants us to see this.”
“Then it's a trap.”
“Probably.”
“And you're still going?”
You looked at him.
“Yes.”
He sighed.
“I knew you were going to say that.”
The building was surrounded before midnight. You decided to enter through the western side. When you were already inside, the hallway smelled like dust, old concrete, and something faintly metallic. Your flashlight swept across the walls as you stepped further inside, illuminating peeling paint, exposed wiring, and doors hanging crookedly from their hinges.
At first, nothing seemed unusual.
Then you realized what was bothering you.
There was no graffiti.
Not a single tag. No stupid initials carved into the walls, no faded stickers, no spray-painted names covering the concrete. Nothing.
That should not have been possible.
Every abandoned building in the city had graffiti. Especially one this isolated. Teenagers, urban explorers, squatters - someone always got there first. Usually, the walls were the easiest way to tell how long a place had been left untouched.
But here, the concrete was almost perfectly clean.
You stopped walking.
Your eyes adjusted to the darkness, and suddenly the building felt less abandoned than it had five minutes ago.
You crouched beside the wall, running your fingers over the dusty floor. There was a thin layer of dirt everywhere, but beneath it were faint marks - shoeprints. Fresh enough that the edges hadn't completely disappeared.
Someone had been here.
Recently.
You slowly stood up, and for a few seconds, you listened.
Nothing. Silence.
You decided to walk further. Your flashlight moved slowly across the walls.
No motion sensors.
No visible cameras.
No obvious traps.
Everything bothered you more than if there had been.
Keeho didn't make mistakes. Everyone knew that.
If he wanted to kill someone, they wouldn't even know they were in danger. But he hadn't killed anyone.
Ever.
That thought stayed in your head as you reached the server room. The door was locked. You sighed quietly and with shaky hand you reached out and bypassed it. You took the deep breath and slowly walked in.
Inside, the building suddenly came alive.
Servers.
Fans.
Monitors.
Data streams.
The room was filled with equipment that shouldn't have been there. And in the middle of it all sat a man.
He was typing.
Calmly.
Too calmly.
As if he were sitting in his own bedroom instead of an abandoned data center surrounded by police.
You bit your lower lip and raised your weapon.
“Keeho.”
His fingers stopped, and for several seconds, he didn't move.
Then he slowly removed his headphones.
He turned around, you swallowed the gulp in your throat.
You had seen hundreds of photographs of criminals, but none of them had prepared you for the fact that Keeho looked painfully ordinary.
Dark hair.
Tired, brown eyes.
A black hoodie, baggy morro jeans with a chain on the side.
A small scar near his eyebrow.
He looked younger than you expected.
Not harmless… Just young.
His eyes moved from your weapon to your face.
Then he smiled.
“Detective.”
Your grip tightened.
“Hands where I can see them.”
He raised both hands.
“That's usually how arrests work.”
“You're not in a position to make jokes.”
“I make jokes when I'm nervous.”
“You don't look nervous.”
“That doesn't mean I am.”
You took another step.
“Step away from the computer.”
Keeho looked at the monitors.
Then back at you.
“Which one?”
“All of them.”
He smiled.
“You know that's not technically possible.”
“Try me.”
Something flickered in his expression.
Interest.
Not fear. Not arrogance.
Interest.
“You really are different.”
“From what?”
“Everyone else who has come looking for me.”
You kept the weapon trained on him.
“Most of them probably didn't know what they were looking at.”
His eyebrows lifted slightly.
“That sounded almost insulting.”
“It was.”
He laughed quietly.
You hated that the sound made the room feel less tense.
“You've been studying me.”
“Yes.”
“How long?”
“Eight months.”
He nodded slowly.
“That explains the comments.”
You frowned.
“What comments?”
“The ones you leave in your reports.”
Your expression changed.
“You've read my reports?”
“Some.”
“You accessed classified case files.”
“Yes.”
“That's another felony.”
“I'm aware.”
“You say that like you don't care.”
“I care.”
“Doesn't look like it.”
Keeho's smile faded.
“I care about consequences.”
He looked at you.
“I just don't always agree with the consequences people choose.”
For a moment, neither of you spoke. You lowered the weapon slightly, though not enough to give him any reason to relax.
“Why did you let us find you?”
His expression became unreadable.
“I didn't.”
“You expect me to believe that?”
“No.”
“Then what happened?”
He glanced toward one of the monitors.
“You found something I didn't expect you to find.”
“What?”
“Me.”
You frowned.
“That doesn't answer the question.”
“It does.”
“No, it doesn't.”
He looked at you for several seconds. Then he said quietly,
“You weren't supposed to trace the relay.”
“Why?”
“Because the relay wasn't mine.”
The room seemed to become colder. Your expression changed.
“What?”
Keeho turned toward the monitors.
“Someone used my signature.”
You immediately stepped closer.
“Who?”
“I don't know yet.”
“You expect me to believe that someone impersonated you?”
“Yes.”
“Why?”
“Because I know my own code.”
He looked back at you.
“And whoever did this knows it too.”
You studied his face and for the first time since you entered the room, the amusement had disappeared.
“You're saying someone copied you.”
“I'm saying someone is trying to make you think I did something I didn't.”
You glanced at the monitors. The traffic patterns were different now that you knew what you were looking for. They were too clean. Too deliberate.
A perfect imitation.
Not Keeho.
Someone pretending to be him.
You looked back at him.
“Why should I trust you?”
His expression softened slightly.
“You shouldn't.”
That answer surprised you, he continued.
“Trust is earned. And you've spent eight months trying to put me in prison.”
“Because you broke into government systems.”
“I know.”
“You stole classified information.”
“I know.”
“You compromised private networks.”
“I know.”
“You've interfered with active investigations.”
His mouth twitched.
“Several.”
You stared at him.
“You're impossible.”
“I've been told.”
You lowered the weapon another fraction.
“Then give me one reason not to arrest you.”
Keeho looked at you. Not at your weapon. Not at the officers waiting outside.
At you.
“Because if you arrest me tonight,” he said quietly, “you'll never find the person who is actually responsible.”
You remained silent. He stood slowly.
You immediately raised the weapon again.
“Slowly.”
“I am moving slowly.”
“Keep your hands visible.”
He obeyed. Then he looked directly into your eyes.
“And Detective?”
“What?”
“You should probably stop looking for me.”
Your expression hardened.
“Why?”
His eyes moved briefly toward the monitors.
“Because someone is already looking for you.”
Then… The lights went out. Every monitor in the room went black. Your instincts took over. You stepped backward, weapon raised.
“Keeho.”
“I didn't do that.”
The emergency lights flickered on.
Red.
Then one monitor came back. White text appeared against a black screen.
HELLO, KEEHO.
Keeho went completely still. Chill ran down your spine and then you looked at him.
For the first time since you had met him, you saw something you had never seen in his eyes before.
Fear.
Not pretend fear. Not calculated fear. Real fear.
“Keeho?” He didn't answer, but another line appeared.
YOU BROUGHT HER.
Your stomach dropped. Keeho quickly moved toward the terminal. You immediately grabbed his arm. “What are you doing?”
“Getting you out.”
“Who is this?”
He looked at you. And whatever answer he had been about to give disappeared. The screen changed again.
SHE IS NOT PART OF THIS.
Then…
YET.
All of the monitors shut down. For several seconds, neither of you moved. Keeho looked towards the door.
“We need to leave.”
You tightened your grip on his arm. “Not until you tell me what's happening.”
“Now isn't the time.”
“You don't get to decide that.”
“Yes, I do.” His voice was suddenly sharp.
You stared at him. He seemed to realize what he had done. His expression softened. “I'm sorry.”
You released his arm.
“Who is he?”
Keeho looked away.
“I don't know.”
“That's a lie.”
Keeho closed his eyes for a second. After a short moment, he opened them. “His name is Theo.”
The name meant nothing to you. But the way Keeho said it did. It sounded like a wound.
“Who is Theo?”
Keeho looked at the dead monitors. “The person who taught me how to become a ghost.”
You waited. He didn't continue.
“Keeho.”
He finally looked at you.
His voice was quiet. “And if he's back…” He swallowed. “…then you were never supposed to find me.”
A distant alarm began sounding somewhere inside the building. Your team shouted from the corridor. Keeho looked toward the door. Then back at you.
“You need to decide something.”
“What?”
“Whether you're going to arrest me.”
You stared at him. “And if I don't?”
His eyes held yours.
“Then tonight is the last night you get to pretend I'm your biggest problem.”
The alarm grew louder. Your colleagues were approaching. You had seconds. Seconds to decide what to do and what is the best. You looked at the man you had spent eight months hunting. The hacker who had broken into government networks. The criminal who had humiliated your department more times than anyone could count. The ghost nobody could find. And suddenly, for the first time, you weren't looking at him like a suspect.
You were looking at him like a warning.
You lowered your weapon. Keeho noticed.
His expression changed almost imperceptibly.
“You're making a mistake,” he whispered.
“Probably.”
“You don't trust me.”
“No.”
“Then why?”
You looked at the dead screen. Then at him. “Because you looked scared.”
For once, Keeho had no answer. The door burst open and your colleagues rushed inside, weapons raised.
“Detective!”
You stepped between them and Keeho.
“Lower your weapons.”
Everyone froze. Your supervisor stared at you.
“What the hell are you doing?!”
You didn't take your eyes off Keeho. You knew you were making a mistake. You just didn't know yet whether it was the biggest mistake of your career…
or the first correct decision you had made since his name appeared on your desk.
Keeho looked at you from across the room.
And for the first time, he didn't smile.
He simply nodded.
As if he understood exactly what you had just done. As if, somehow, the two of you had reached an agreement neither of you had spoken aloud. The hunt was no longer about finding the ghost. Because someone had finally found him first.
And now they were coming for both of you.
tags : @jongseobmpreg @chippiiiiiz @hxraiiii hello
first fic (no but lets pretend it is) kinda nervous about this one ngl
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality✓ Free Actions
Free to watch • No registration required • HD streaming