today no part 4 of accessdenied cuz #nerd #throwback

Product Placement
Fai_Ryy
"I'm Dorothy Gale from Kansas"
Lint Roller? I Barely Know Her

No title available
The Bright Sessions
The Bowery Presents
Game of Thrones Daily
taylor price

ellievsbear
occasionally subtle

roma★
Cosimo Galluzzi

No title available

bliss lane
Phantogram Three
Claire Keane
I'd rather be in outer space 🛸
The Stonewall Inn
PUT YOUR BEARD IN MY MOUTH

seen from United States

seen from United States
seen from Australia
seen from Brazil
seen from United States

seen from Türkiye

seen from Türkiye
seen from United Kingdom
seen from Saudi Arabia
seen from Colombia
seen from Brazil
seen from United States

seen from Spain
seen from Vietnam
seen from United States
seen from Kenya

seen from Bangladesh
seen from Russia
seen from Canada

seen from Brazil
@keehompreg
today no part 4 of accessdenied cuz #nerd #throwback
accessDenied(exception = "you") {p.3};
⌁ — 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
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.
taglist @jongseobmpreg @chippiiiiiz @hxraiiii
accessDenied(exception = "you") {p.2};
⌁ — 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
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.
03:41 - unauthorized access detected.
03:42 - authentication logs modified.
03:43 - internal network segmentation compromised.
03:44 - privileged account created.
03:45 - evidence archive accessed.
03:46 - external relay established.
03:47 - system shutdown.
Seven minutes.
Seven minutes was all it had taken.
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.
Then you opened the decompiled version.
“Look at the control flow.”
You highlighted several branches.
“They intentionally inserted irregular execution paths.”
Your supervisor frowned.
“What does that mean?”
“It means the code is pretending to be messy.”
You looked at the screen.
“Keeho's code is actually messy. This isn't.”
Someone laughed nervously.
“You can tell the difference?”
“Yes.”
“How?”
You paused. Then answered honestly.
“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.”
“Everything?”
“Reverse engineering. Exploit development. Cryptography. Network architecture. Operating systems. Social engineering. Hardware security.”
He paused.
“OPSEC.”
“You disappeared because of him.”
“Yes.”
“How?”
Keeho's jaw tightened.
“I found out what he was actually building.”
“And?”
“A system.”
“What kind?”
“A system that could map people.”
You frowned.
“People?”
“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.
def forget(node):
history.remove(node)
baseline.rebuild()
trust.reset()
You frowned. “What's this?”
Keeho's expression changed. “Don't touch it.”
You looked at him. “Why?”
“Because that's not mine.”
taglist : @jongseobmpreg @chippiiiiiz @hxraiiii
second part is here hellooooooooo
accessDenied(exception = "you") {p.1};
⌁ — 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
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
throwback to haku SHOT🥃a bday😢😢😢
“I’m Keeho” Js Sybau and lemme syd omg😭😭😭😭✌🏽✌🏽✌🏽✌🏽💔💔💔🥀🥀🥀🥀
I need all six members of P1H to pass me around like a blunt ASAP. Doctors orders
That whole LOYL video is just them post hookup at a party im crying p1harmony i know what you are😭😭😭