Выбрать главу

“Charlie was in touch with people at brokerage houses,” Dagmar said. “He’d discovered that someone was using illegal copies of Rialto, and he wanted to send a patch to those copies to shut them down.”

Richard looked at her.

“That’s kind of interesting,” he said. “I heard that from one of the Great Big Idea people, and when I told some folks on the AvN Soft side, they said they hadn’t heard anything about it.”

“You’re hearing about it now,” said Dagmar.

Richard drew a finger down the side of his jaw.

“Okayyy,” he said slowly.

Dagmar reached into her jeans pocket and took out the memory stick.

“Here’s the final version of Charlie’s patch,” she said, “along with all the IP addresses that have been harvested so far. There will be more on Monday, when Tapping the Source goes into play.”

Richard took the portable memory and looked at it.

“What do you want me to do with this?” he asked.

“Copy it to a secure location,” Dagmar said, “because I think that’s what got Charlie killed.”

The white-noise generator hissed as Richard looked at the memory stick in his hand.

“Maybe,” he said, “we should find out if this thing works.”

“How?”

“We’ve got the patch. We’ve got IP addresses. Let’s send it out and see what happens.”

Dagmar considered this.

“Firewall the hell out of it,” she said, “and let’s go for a drive.”

Dagmar moved one of the office chairs so that she could watch over Richard’s shoulder. He plugged the memory stick into one of his sliver-thin state-of-the-art laptops and downloaded the patch onto a virtual drive that he created especially for the program. He made certain his firewalls were in place and then ran the program.

A window appeared on his display.

›Insert target address. ›

“Well,” Dagmar said, “the display’s a classic.”

Richard opened one of the files of addresses and typed.

›161.148.066.255

Richard hit Enter, and another prompt appeared. Richard clicked on another window, one of his firewalls, and gave permission for a message to go out.

“It sent some kind of ping,” he said.

Richard typed in another address, hit Enter, and then repeated the procedure several times.

One of the firewall windows opened.

“That first address is responding,” he said.

He gave permission for the firewall to let the message enter.

›161.148.066.255 infected. Patch sent.

“Damn,” Richard said. “We got lucky first time out.”

He had to give permission for the patch to clear the firewall. Less than a minute later, another message appeared.

›161.148.066.255 clean.

And not only was 161.148.066.255 clean, Dagmar knew, but it was now busy scrubbing other computers, spreading the patch to every machine in its network.

They had done all this, she reminded herself, without knowing where the target computer was or who it belonged to. Who any of them belonged to.

She and Richard spent the next half hour sending the patch to IP addresses on Charlie’s list. Twenty-eight percent were infected and were cleansed with Charlie’s patch.

Charlie’s plan, his demented plan, was working.

Richard pushed his chair back from the machine and rolled his shoulders.

“How many IP addresses left?”

“Thousands. Maybe hundreds of thousands-I haven’t looked.”

Richard blinked. It was one thing to test your ninja mettle against a cunning opponent; it was another to slave over a keyboard in order to type in zillions of addresses.

“Let’s call it a day’s work, shall we?” he said.

“Now you understand,” said Dagmar, “why we want millions of players to work with these IP addresses.”

He nodded.

She raised her arms and stretched, opening her chest, filling her lungs with air.

One of Richard’s other machines gave a chime. He wheeled his office chair to another part of his desk and frowned at the display.

“Someone’s trying to go through the firewall,” he said.

“Not one of the targets?”

“No. They’d be identified by IP address only. This is someone at the company.” He paused as he read the monitor, then turned to look over his shoulder at Dagmar.

“It’s you,” he said.

She looked at him in surprise.

“What do you mean? ” she asked.

“It’s someone using your account.”

She bolted out of her chair to look at the display. “Who?”

Richard shrugged. “He’s calling from off-site,” he said. He frowned at the screen for a moment. “We could let him do what he wants,” he said, “and find out what he’s after.”

“Have you got a secure copy of the patch?”

Richard wheeled to the computer with the patch on it, pulled the memory stick, and held it so that Dagmar could see it. She took the stick from his hand. That left only the copy on the hard drive.

Richard let the intruder through the firewall, and they watched as Patch 2.0 was overwritten by something else.

“Slightly smaller file size,” Richard said after a few minutes’ analysis. “Still an executable file. Best guess is that it’s an earlier version of the patch.”

“Or a patch that’s been rewritten.”

Richard frowned. “Let’s do a comparison.”

More firewalls, software run, code rolling at near light speed on the monitors.

“There’s a difference,” Richard said, pointing. Code highlighted in blinking red. Dagmar narrowed her eyes, looked from one screen to the next.

“It’s a bank routing code,” Dagmar said. “The… intruder”-the other me-“he’s changing the program to send money to a different account.” She looked at the prefix. “An account in a different country, I think.”

Richard’s scanning program found other changes. Dagmar scanned the symbols and compared one to the next and tried to summon the programming skills she’d once possessed.

You could tell the difference between the programmers. The original code was elegant and concise; the new stuff consisted of code laid down in huge swaths, clumsy and overhasty.

But it would work, this new code. It would work perfectly well.

“Charlie’s patch,” she said, “sends the patch to every other bot the program knows about, then turns the bot off. But that feature has been deleted in this new one. It just lets the program run.”

“But it changes the bot’s owner.”

“Yes. All the profits get sent to the new account.”

Richard nodded. “Elegant,” he said. “Meet the new boss, same as the old boss.”

The new boss kills people, she thought. Dips nails in rat poison and packs them around explosive cores.

He looked at her. “Which one of the bosses is the bomber? Which is the Maffya?”

She thought about it. “Does it matter?”

Richard’s face took on a grim cast. He rolled his chair to a third machine and began typing.

“I’m going to find out what our intruder’s been up to.”

He scanned data for a moment, then turned to Dagmar again.

“You’ve been in all sorts of places where you’re not allowed,” he said. “Someone’s given you superuser status.”

“Who can do that?” Dagmar asked.

“Me. And Charlie Ruff, but he’s dead.”

“Can you find out who made me a superuser?”

More tapping. He frowned. “Someone who shouldn’t be a superuser, either, but he is. He has the handle CRAPJOB.”

A thousand pieces fell into place in Dagmar’s head, an action like a reverse explosion, a million bits of shrapnel flying together to form a perfect, seamless platonic solid.

She was astonished there was no sound. She should have heard the universe cracking.

Her heart and the jolt of adrenaline caught up long after the moment of comprehension, too late, useless for anything except making her hands tremble…