Chương 26: Hàm Eval
Tiếng hót vang từ dãy phòng phía tây. Không phải chim — là người. Ngô Phương Sinh, đệ tử Luyện Khí tầng ba, đứng ngoài hành lang nói tiếng yến sáo. Giọng nam thanh niên phát ra âm sẻ nhỏ. Mười đệ tử vây quanh, một người bịt miệng cười đến chảy nước mắt.
GLOBAL scope — payload tràn sang mọi thực thể kết nối qua mạng trận pháp. Ngô Phương Sinh có ký hiệu liên kết hộ cùng khu registration node. Payload chạm vào, ghi đè tham số ngữ âm lên thực thể ưu tiên thấp nhất. Hai giờ nói tiếng yến sáo trước khi giá trị hết hiệu lực.
Hắn tắt debug. Ngón tay lạnh toát.
Hắn cần undo — ghi đè giá trị gốc trước khi hệ thống quét định kỳ phát hiện. Inject payload ngược cùng lúc, hai lệnh triệt tiêu trên cùng địa chỉ bộ nhớ. Trên lý thuyết. Thực tế — cú pháp phức tạp gấp mười. Trận pháp liên tông dùng phương ngữ cổ, dấu câu khác, thứ tự hàm đảo ngược. Sai một stroke, payload ngược bị parse thành payload mới.
Cần người am hiểu cú pháp cổ.
Liễu Thanh Dao mở cửa lúc giờ Mùi. Tóc buộc vội, vết mực xanh trên gò má. Cô không hỏi thêm khi hắn yêu cầu cú pháp reversal — kéo ghế ngồi trước trận bàn, mở bộ ký hiệu cổ photocopy bằng linh lực, bắt đầu.
Hai người thức trắng. Cô đọc cú pháp cổ như tiếng mẹ đẻ, hắn translate: namespace, scope, alias. Cô chỉ dấu, hắn viết code. Đồng hồ nước cạn hai bình.
"Lý Minh." Cô dừng tay. "Lớp thứ ba của cú pháp cổ — không phải cú pháp. Là cấu trúc dữ liệu. Reference pointer. Trỏ đến vùng nhớ nằm ngoài trận pháp liên tông."
Con trỏ ra ngoài hệ thống. Nếu payload triệt tiêu vô tình trigger nó — không được nghĩ đến. Ưu tiên: triệt tiêu payload.
Hoàn thành trước gà gáy. Ba tần số đối xứng, inject qua recv_input(). Giá trị ghi đè overwrite về gốc. Ngô Phương Sinh thoát. Hắn thở dài — vai trái đau, quên thuốc cả đêm.
Debug: Ngô Phương Sinh tham số gốc. Anomaly 0.001 — dưới ngưỡng.
Nhưng: "Scope leak partial contained. Residual footprint: 2.7%." Không undo hết. 2.7% đủ nhỏ để hệ thống bỏ qua, đủ lớn để hắn biết Global scope không bao giờ biến mất hoàn toàn.
Và trong lúc phân tích, hắn phát hiện thêm — eval() có quyền đọc. Truyền tham chiếu thay vì payload, eval() sẽ đọc nội dung vùng nhớ đó.
Đọc. Không phải ghi.
Hắn truyền tham chiếu nhắm vùng bộ nhớ đánh giá thí sinh. Bốn thí sinh hiện ra.
Cố Vân Phi — Vân Tiêu Các. Trúc Cơ sơ kỳ. Kiếm tu. Linh lực 34,780. Liễu Viêm Sương — Hỏa Long Điện. Luyện Khí tầng chín. Hỏa tu. Tích dồn hỏa, phòng ngự thấp. Mộc Thanh Y — Bách Thảo Viên. Trúc Cơ sơ kỳ. Dược tu. Chất kịch độc, thể chất mỏng. Tô Mạn Đình — Thiên Kiếm Tông. Trúc Cơ trung kỳ. Thủy linh. Linh lực 52,100.
52,100. Gấp mười hắn thật. Registration hiển thị tầng năm — eval() ghi đè — nhưng giá trị linh lực thật vẫn là Luyện Khí. Lần đầu có intel. Reconnaissance. Lập trình viên gọi là reading the docs.
Liễu Thanh Dao tỉnh, dụi mắt. "Xong rồi?"
"Contain. 2.7% footprint — không biến mất."
Cô gật. "Giống mực đỏ viết lên giấy trắng — xóa đi vẫn còn vết." Bước ra cửa. "Lần sau gọi sớm hơn."
Chiều. Hắn ở phòng thí nghiệm phía bắc, eval() footprint duy trì kết nối đọc yếu ớt với bảng đánh giá thí sinh.
Tô Mạn Đình bước vào từ cửa sau. Hắn không nghe thấy — tập trung khiến giác quan tắt.
"Người đang làm gì?"
Hắn giật mình. Quay lại. Váy trắng, tay khoanh trước ngực.
"Đọc hướng dẫn sử dụng."
Cô nhìn ký hiệu. "Không ai đọc hướng dẫn sử dụng trận pháp. Hướng dẫn không vẽ bằng tần số bytecode."
Cô đọc được bytecode nhưng không thấy eval() layer — lớp ẩn chỉ debug interface hiện.
"Thế giới chia hai loại người." Hắn nhìn thẳng. "Người đọc documentation và người không."
Tô Mạn Đình nghiêng đầu. Đôi mắt dài, đen, sắc. Rồi khóe miệng hơi cong — không cười, tín hiệu thông tin đủ thú vị để lưu lại.
"Người thuộc loại nào?"
"Loại đọc."
"Loại đọc không cần giấu." Cô quay người. "Giải đấu còn ba ngày. Tập trung vào việc không thua."
"CÓ CHUYỆN!"
Tống Tử Du xông vào bằng cả cơ thể, cánh cửa bật tung. "Không kịp gõ! Hậu sơn — trận pháp phòng ngự tự kích hoạt! Bắn chùm sáng xanh rồi tắt. Trưởng lão Thanh Vân nói 'dao động linh khí bất thường'."
Hắn đã hiểu. GLOBAL scope leak tạo dao động lan qua mạng trận pháp liên tông. Hậu sơn là node liền kề — sóng chạm vào, kích hoạt chu kỳ quét tự vệ. May mắn dừng đúng lúc.
Mở debug. Thông tin — không phải cảnh báo. Trận pháp hậu sơn sau tự kích hoạt mở vùng bộ nhớ tạm. Footprint 2.7% đủ để hắn nhìn vào.
Truyền tham chiếu. Eval() nhận. Trả về.
Cấu trúc phân cấp — nhiều lớp, index, timestamp. Catalogue. Lớp trên cùng: "Thiên Cơ Các — Bản lưu trữ số 7."
Hắn đông cứng.
Catalogue trong ngọc giản Trần Huyền Cơ — tàn dư 30%, 30 trong 74 mục. Bản lưu trữ số 7 — nếu sáu bản khác tồn tại — catalogue đầy đủ nằm ngay trong trận pháp liên tông. Trận pháp bốn tông dùng hàng trăm năm. Mọi đệ tử coi là luật tự nhiên.
Bên dưới bytecode, bên dưới eval(), bên dưới mọi lớp khai thác — vẫn còn thứ khác. Reference pointer lớp thứ ba Liễu Thanh Dao phát hiện rất có thể trỏ đến đây. Bản lưu trữ số 7 — bị ẩn, bị mã hóa, vô tình lộ ra khi eval() residual chạm vào.
"Sao mặt ngươi trắng thế?" Tống Tử Du hỏi.
Hắn không trả lời. Đóng debug. Catalogue Thiên Cơ Các không chỉ là quá khứ — nó nằm trong hệ thống hiện tại, hàng trăm năm, chờ ai đó tìm thấy. Và hắn vừa tìm thấy qua GLOBAL scope leak vô tình.
Giải đấu còn ba ngày. Sáu bản còn lại ở đâu? Ai mã hóa chúng khi Thiên Cơ Các đã bị tiêu diệt?
Gió lạnh mang hơi kim loại từ hậu sơn. Giọng Tống Tử Du nhẹ hơn bình thường: "Nếu có chuyện gì... ngươi có thể nói cho ta biết."
Hắn không quay lại. Nhưng gật đầu.