Skip to content

Nhật ký cập nhật

Mọi bản phát hành của Cam. Cùng nội dung với màn "Có gì mới" trong app.

  1. v1.2.6

    09/11/2026Mới nhất
    • Thử nghiệm: giả key attestation (keystore2) bằng keybox của bạn, để app đích có thể qua Play Integrity mức STRONG; sửa lỗi Trang chủ có thể treo ("không phản hồi") khi mở app

    Thay đổi

    • Giả attestation (thử nghiệm, mặc định tắt): Tính năng → Tự ẩn bootloader → "Giả attestation (keystore2)…". App đích (mặc định Google Play services và Play Store) nhận key attestation ký bằng keybox của bạn, báo máy đã khoá và Verified; app khác vẫn dùng phần cứng thật. Cam không kèm keybox: bạn tự nạp file keybox.xml, Cam kiểm tra chuỗi chứng chỉ, khoá riêng và danh sách thu hồi của Google, khoá riêng ở lại trên máy. Chỉ Android 12 trở lên. Có hiệu lực ở lần khởi động sau
    • Khi bật giả attestation, Cam luôn sửa prop bootloader (như bật "Sửa prop bootloader") để những gì app đọc khớp với chứng chỉ báo máy đã khoá
    • Giả attestation trên máy đã mở khoá: phần cứng ở đó báo khoá và mã boot toàn số 0, điều mà máy khoá thật không bao giờ có. Cam thay bằng giá trị khác 0 và cố định trên mỗi máy (mã boot tính từ phân vùng vbmeta của máy), và các prop ro.boot.vbmeta.* mà app đọc được ép cho khớp chứng chỉ. Chỉ sửa prop máy đã có, không thêm prop mới: Y700 khoá thật không có ro.boot.vbmeta.public_key_digest, nên Cam cũng không tạo prop đó
    • Sửa prop bootloader: ngoài ro.boot.vbmeta.digest, Cam điền thêm ro.boot.vbmeta.public_key_digest bằng giá trị thật của máy khi bootloader có tạo prop này mà để trống. Y700 không có prop này nên không đổi gì
    • Trang attestation: tablet xoay ngang chia 2 cột; "Nạp keybox…" mở trình duyệt tệp của app (như cài module), nút thư mục vẫn mở trình chọn của hệ thống (Drive, USB)
    • Kiểm tra ẩn root: bootconfig / cmdline báo bootloader mở khoá giờ chỉ là cảnh báo, không còn tính là lộ. App thường không đọc được hai tệp này (SELinux chặn), chỉ root mới thấy; các prop bootloader mà app đọc được vẫn tính là lộ như trước

    Sửa lỗi

    • Trang chủ có thể treo rồi hiện "không phản hồi" khi mở Cam lúc một tiến trình phụ của app (chạy khi máy khởi động xong) đang bị Android đóng băng ở nền

    Lưu ý

    • Giả attestation mới chạy thử trên máy ảo với keybox thật (chuỗi chứng chỉ báo khoá/Verified, keystore2 ổn định), chưa thử Play Integrity STRONG trên máy thật. Chỉ bật khi có keybox còn hạn và chưa bị thu hồi. Tắt thì cần khởi động lại để máy về như cũ
    • Bản này không đổi cách kernel chạy trên Y700 (chỉ nhận một sửa của bản gốc cho kernel 7.3 trở lên). Nếu app gợi ý cài lại LKM thì làm hay không đều được. Duck Detector, Luna, Chunqiu trên Y700 giống hệt trước (quét bằng beta.1, giả attestation tắt); beta.2 quét lại bằng Duck Detector trên máy ảo, kết quả giống beta.1. beta.3 chỉ đổi phần prop vbmeta: trên Y700, bật rồi tắt "Sửa prop bootloader" bằng camd của bản này không làm đổi prop nào
  2. v1.2.5

    08/11/2026Tải bản này
    • Y700 Gen5: Chunqiu không còn báo "Found property" do ROM gốc; rule ẩn root v28; trang Kiểm tra ẩn root đo thêm timing App Zygote như Duck Detector; tablet xoay ngang dùng 2 cột ở Trang chủ, Tính năng và Thư viện module; bỏ slime đi dạo; sửa nhiều chữ tiếng Việt

    Thay đổi

    • Y700 Gen5: ROM gốc của Lenovo đặt sẵn cỡ bộ đệm log (persist.logd.size.*), và Chunqiu Native Check báo "Found property" vì tưởng module ghi vào, kể cả trên máy không root. Cam đặt rỗng các giá trị này một lần khi máy khởi động xong; bộ đệm log vẫn như cũ. Đã thử trên Y700: Chunqiu chỉ còn báo gỡ lỗi USB, Duck Detector và Luna không đổi gì. Ai tự chỉnh cỡ bộ đệm log trong Tuỳ chọn nhà phát triển sẽ bị đặt lại mỗi lần khởi động
    • Rule ẩn root v28: theo Duck Detector tới bản nightly 7/11 (d60597ca), bản này chỉ đổi phần build, không đổi phép đo nào. Đã quét trên Y700 bằng chính bản này: không có mục nguy hiểm nào, chỉ 2 cảnh báo do bật gỡ lỗi như trước
    • Kiểm tra ẩn root: đo thêm phép đo thời gian trong App Zygote của Duck Detector (Duck báo SELinux Nguy hiểm khi một context sai bị từ chối chậm hơn bình thường). Trang đo phần ẩn SELinux cộng thêm so với kernel gốc trên từng nhân CPU, và hiện số đó ở mục "Đã ẩn tốt"; trên Y700 là 10–20 ns, giới hạn 50 ns. Mục này không còn trong danh sách "app này chưa có"
    • Bỏ slime đi dạo: slime chỉ còn trong hộp kính ở Trang chủ, không còn đè lên chữ và nút ở các trang khác
    • Tablet xoay ngang: Trang chủ 2 cột, Tính năng và Thư viện module xếp 2 thẻ một hàng, trang Kiểm tra ẩn root nằm giữa màn hình; Hồ sơ ứng dụng đưa thẻ kiểm tra ẩn root sang cột hồ sơ
    • Thẻ Tính năng có vấn đề (xung đột, module nguy hiểm, bootloader còn lộ, kiểm tra ẩn root có lộ) hiện dòng mô tả màu đỏ; Trang chủ báo "!" đỏ khi bootloader còn lộ
    • Ngày giờ ở Thư viện module và tab Tệp, dung lượng tệp theo định dạng của máy (tiếng Việt: 30/10/26 16:51, 48,0 MB)
    • Chữ tiếng Việt: nhãn ở Superuser và Hồ sơ ứng dụng dịch hết, mục bị khoá ở Cài đặt ghi lý do; nhãn nhỏ to hơn cho dễ đọc; thẻ cảnh báo ở chế độ sáng đậm màu hơn
    • Trang Thông tin để link của Cam trước, link của dự án gốc ghi rõ là dự án gốc
    • Cài đặt → "Báo lỗi cho Cam": ghi lỗi gặp phải (không bắt buộc), app gom thông tin máy, Cam và log trong khoảng 10–30 giây rồi gửi cho Cam, và hiện một mã để nhắn Cam. Không gửi danh sách app. Cần liên kết tài khoản trước
    • Mở tệp từ app khác bằng Cam (như MT Manager): bấm một tệp trong Telegram hay trình quản lý tệp, chọn Cam ở "Mở bằng", Cam mở tab Tệp ngay tại thư mục chứa tệp và mở tệp như khi bấm vào nó (văn bản vào trình sửa, APK hỏi cài/xem, tệp nén vào trong, tệp lạ hỏi mở dưới dạng gì, ảnh/nhạc/video hiện menu của tệp). Sửa là sửa thẳng vào tệp gốc khi root thấy được nó, không thì Cam chép tạm một bản. Tệp ZIP vẫn hỏi cài module như trước

    Sửa lỗi

    • Superuser: thẻ hồ sơ mở ngay trong danh sách không còn hiện trạng thái cũ sau khi sửa ở trang hồ sơ đầy đủ rồi quay lại
    • Tab Tệp: ngăn kéo không còn bị thanh điều hướng che
    • Cài đặt: mục "Kiểm tra cập nhật module" có mô tả riêng (trước đó trùng với mô tả của mục cập nhật app), và bật/tắt có hiệu lực ngay, không cần mở lại app. Tắt thì số cập nhật trên thanh điều hướng và nút cập nhật của module cũng ẩn đi
    • Module: một lần kiểm tra cập nhật bị ngắt giữa chừng (mở trang khác, bật/tắt module lúc đang làm mới) không còn làm module đó không bao giờ được kiểm tra lại; sau khi cập nhật một module, nút mời cập nhật đúng bản vừa cài không còn ở lại; quay về từ một trang khác không còn xếp lại danh sách module
    • Kiểm tra ẩn root: Kernel umount, Ẩn SELinux và Ẩn bootloader chỉ đổi khi gạt công tắc, chạm nhầm vào hàng không còn bật/tắt

    Lưu ý

    • Bản này không đổi cách kernel chạy (chỉ nhận mã của bản gốc mà Cam không dùng). Nếu app gợi ý cài lại LKM thì làm hay không đều được
  3. v1.2.3

    04/11/2026Tải bản này
    • App đổi tên thành Cam, là một app mới nên không tự cập nhật được: tải APK ở caesarvn.xyz, cài tay rồi làm theo phần Lưu ý. Ngoài ra sửa một lỗi hiếm có thể làm máy khởi động lại lúc bật ẩn SELinux, cài .xapk không còn làm mất OBB đang dùng, sửa hồ sơ app không còn khựng

    Thay đổi

    • App đổi tên thành Cam, với tên gói và khoá ký mới. Một số app kiểm tra root đọc được tên app cũ qua cài đặt hệ thống của ZUI và đánh dấu nó là app root vì tên có chữ "su" và "kernel"; tên mới không còn chữ nào như vậy. Thư mục sao lưu APK đổi thành Download/Cam/APK, ảnh mã QR lưu vào Ảnh/Cam
    • Ẩn root: app không còn nhận loại link của bản gốc (chỉ còn cam://). Luna dò app nào mở được loại link này để tìm app quản lý root; đã thử trên Y700: Luna không còn báo app nguy hiểm
    • Ẩn root: file cài đặt của app (app khác đọc được) không còn tên nào của bản gốc. Những tên module vẫn dùng (biến môi trường cho script, hàm của WebUI) vẫn chạy như cũ
    • Ẩn SELinux: ghi context SELinux hợp lệ nhanh như máy gốc, nên app đo thời gian ghi context không còn thấy lần ghi hợp lệ chậm hơn bình thường. Có hiệu lực khi cài lại LKM
    • Ẩn SELinux: theo bản gốc, mỗi lần nạp lại chính sách SELinux được tính đúng là một thế hệ mới. App vẫn chỉ thấy số của máy gốc. Có hiệu lực khi cài lại LKM
    • Rule ẩn root v26: theo Duck Detector tới bản nightly 1/11 (31d82eef). Bản nightly này chỉ nâng thư viện build, không đổi phép đo nào; đã quét trên Y700 với kernel của bản này: không có mục nguy hiểm nào, chỉ 2 cảnh báo do bật gỡ lỗi như trước
    • Bật hoặc tắt chữ đậm của hệ thống, đổi SIM: Manager đổi theo tại chỗ, không dựng lại trang
    • Hồ sơ app: thay đổi hiện ngay và được ghi ở nền, nên không còn khựng. Ghi lỗi thì hiện lại đúng giá trị máy đang dùng

    Sửa lỗi

    • Máy có thể khởi động lại đúng lúc kernel bật ẩn SELinux, nếu có tiến trình đổi context SELinux cùng lúc (lỗi từ bản gốc). Rất hiếm: mới thấy một lần trên máy ảo, chưa thấy trên Y700. Có hiệu lực khi cài lại LKM
    • Kernel không đọc được thông tin BTF: trước đây LKM không nạp được và máy mất root. Giờ LKM vẫn nạp, chỉ su trong terminal chạy không có lớp bọc. Y700 không dính lỗi này. Có hiệu lực khi cài lại LKM
    • Khi bật slime đi dạo: đổi màu hình nền hay giao diện hệ thống, hoặc bật tắt cử chỉ quay lại, không còn làm Manager văng
    • Tab Tệp, cài gói .xapk: cập nhật game có OBB cùng tên mà bấm Huỷ hoặc gói bị lỗi lúc chép thì OBB đang dùng vẫn còn nguyên, trước đây bị xoá. Riêng khi máy gần đầy, không đủ chỗ cho cả hai bản, OBB mới vẫn ghi đè lên bản cũ
    • Tab Tệp, cài gói .xapk: OBB chỉ được chép vào thư mục của đúng app đang cài. Tệp OBB của app khác hoặc nằm sai chỗ không được chép và được báo trong số tệp chưa chép
    • Hồ sơ app: mở ô rule SELinux khi rule chưa đọc xong, hoặc vừa bật root cho app từng có rule, không còn hiện ô trống rồi ghi đè rule cũ
    • Hồ sơ app: rule hoặc bản mẫu có dấu nháy đơn không còn có thể chạy thành lệnh bằng root. Rule bắt đầu bằng dấu gạch ngang không còn được báo hợp lệ rồi không lưu gì
    • Tab Tệp, nút Sửa quyền: không còn lấy thư mục cha bị sai nhóm hay sai nhãn làm mẫu. Nếu chính Download hay DCIM bị khoá thì chỉ sửa riêng thư mục đó, không đi qua mọi tệp bên trong
    • Khi Manager đặt sáng hoặc tối khác hệ thống: nền cửa sổ theo đúng chế độ của Manager, không còn loé màu ngược lúc bàn phím đẩy nội dung hay chuyển trang
    • Ẩn SELinux: nếu một tiến trình root nạp hẳn một chính sách SELinux khác (không qua Cam), kernel không còn dùng số của chính sách cũ khi app đổi context, trước đây có thể đổi nhầm sang domain khác. Bình thường không ai làm vậy. Có hiệu lực khi cài lại LKM
    • Kiểm tra ẩn root ở app bản cũ (trước bản này): từ chiều 4/11, rule tải về bỏ sót mount do module tạo. Đã sửa trên máy chủ (rule v25), app bản cũ tự tải lại, không cần cài gì

    Lưu ý

    • Chuyển sang app Cam (app cũ không tự cập nhật lên được, bấm cập nhật trong app cũ sẽ báo lỗi): (1) tải APK ở caesarvn.xyz và cài, app Cam nằm cạnh app cũ; (2) mở app cũ, tab Superuser, cấp root cho Cam; (3) mở Cam, cài lại LKM rồi khởi động lại; (4) gỡ app cũ. Cài đặt của app cũ không chuyển sang: vào Cài đặt → Tài khoản đăng nhập lại. Module, root đã cấp cho các app khác và dữ liệu trong /data/adb vẫn giữ nguyên
    • Sau bước (3), LKM mới chỉ nhận app Cam làm app quản lý. App cũ vẫn còn root tới khi bị gỡ, và tên của nó vẫn bị app kiểm tra root nhận ra, nên nhớ làm bước (4). Đừng cài lại LKM từ app cũ sau khi đã chuyển: LKM đó không nhận app Cam
    • Bản này có thay đổi ở kernel: cài lại LKM rồi khởi động lại để có các phần sửa kernel ở trên
  4. v1.2.2

    01/11/2026Tải bản này
    • Rule ẩn root v23 theo Duck Detector mới nhất; ẩn SELinux nhanh hơn một chút và không còn báo lỗi khi chính sách SELinux được nạp lại; WebUI của module đọc ghi được file và tải được file về máy; tablet xoay ngang hiện danh sách và chi tiết cạnh nhau; tablet xoay ngang cài được module ngay cạnh danh sách; bấm tab có hiệu ứng thẻ bay lên; kernel không còn giữ file thừa và bớt hẳn log khi cấp root

    Thay đổi

    • Rule ẩn root v23: theo Duck Detector tới bản nightly 31/10 (9dcefa06). Duck Detector bỏ một phép đo cũ nhắm vào bản gốc (theo dõi ai mở thư mục cài đặt của app); Cam vốn không làm việc đó nên không có gì thay đổi với máy của bạn
    • Rule ẩn root v22: theo Duck Detector tới bản nightly 31/10 (8acd43e6). Duck Detector thêm phép đo nhắm vào lỗi giữ file thừa của bản gốc khi mở lại terminal của su (Cam sửa trong bản này, xem Sửa lỗi). App thường không giữ terminal đó nên phép đo không chạy được với Cam; đã thử trên Y700: không có mục nguy hiểm nào, chỉ 2 cảnh báo do bật gỡ lỗi như trước
    • Kernel không còn ghi một dòng log cho từng tiến trình mỗi lần cấp hay thu root (trên Y700 khoảng 3.500 dòng mỗi lần, đẩy trôi các log khác), cùng các log lặp lại mỗi lần mở app (từ bản gốc). Có hiệu lực khi cài lại LKM
    • Tablet xoay ngang: nút + ở Module mở trình duyệt file ngay cột bên phải, chỉ hiện thư mục và file zip, vào được cả chỗ cần root. Chọn zip nào là thấy đó là module gì, bản mới hay bản cập nhật, có nằm trong danh sách nguy hiểm không, rồi cài ngay tại đó, chọn được nhiều zip cài một lượt. Xoay dọc giữa chừng vẫn cài tiếp. Vẫn có nút mở trình chọn file của hệ thống cho Drive hay USB
    • Bấm tab: trang cũ mờ đi, các thẻ của trang mới bay từ dưới lên lần lượt. Áp dụng cho mọi tab; vuốt vẫn kéo trang theo tay như cũ
    • Tablet xoay ngang: nút của cột trái gộp thành một thanh ở góc trái, nút đóng và các nút của cột phải thành thanh dọc ở góc phải, cùng chỗ với nút menu của tab Tệp; nút cài module về góc trái màn hình
    • Sau khi bật, tắt hay gỡ module, thông báo kèm nút khởi động lại nằm ở phía trên thay cho thanh đen dưới đáy, và ở lại tới khi bấm Xong
    • Trang flash, trang Action của module và khung cài module dùng chung một giao diện: thẻ trạng thái với các nút có nhãn, log cuộn trong thẻ riêng. Trang Action giờ báo đúng là thành công hay lỗi
    • Logo lúc cài module đổi thành Cam
    • Tablet xoay ngang: Superuser, Module và Nhật ký SU để danh sách bên trái, mục đang chọn bên phải, đổi app hay module không phải mở rồi đóng trang. Module có phần chi tiết mới (mô tả đầy đủ, các nút, ID, mã phiên bản, nguồn cập nhật); một sự kiện trong Nhật ký SU mở thẳng hồ sơ của app đó. Xoay dọc hoặc dùng điện thoại thì vẫn như cũ
    • Trang chủ có thẻ Tình trạng ẩn root: kết quả lần kiểm tra gần nhất, các công tắc ẩn và phiên bản rule; chạm để mở trang Kiểm tra ẩn root
    • WebUI của module: thêm io() để đọc ghi file bằng root, pm() để xem thông tin app, và tải file về thư mục Download, kể cả file lớn (từ bản gốc). File lớn hơn 10 MB ở bản gốc không tải được, đã sửa trong Cam. io() vẫn có root khi tắt tương thích su
    • Rule ẩn root v21: theo Duck Detector tới bản nightly 29/10 (824591e6). Duck Detector không còn lấy nhầm kết quả của lượt quét trước khi đo thời gian ghi context SELinux từ App Zygote, nên số đo đáng tin hơn; không có cách đo mới nào nhắm vào Cam. Đã thử trên máy với kernel của bản này, kể cả khi cố ý chuyển Duck Detector qua lại giữa các nhân CPU: thẻ SELinux vẫn sạch
    • Rule ẩn root v20: theo Duck Detector tới bản nightly 25/10 (4c2e29e2). Duck Detector thêm phép đo thời gian lời gọi prctl nhắm vào bản gốc đời cũ; Cam không có gì trên đường đó, đo trên máy không thấy mẫu nào trên cả 8 nhân CPU
    • Rule ẩn root v19: theo Duck Detector tới bản nightly 25/10 (b4083aee). Duck Detector giờ hỏi quyền SELinux thêm một đường nữa, ghi đọc thẳng vào selinuxfs thay vì qua thư viện của Android, và xét thêm vài quy tắc mà các bản root hay thêm vào. Phần ẩn SELinux của Cam trả lời đường này giống hai đường cũ, theo chính sách gốc của máy, nên không cần sửa gì thêm
    • Ẩn SELinux: khi app mở trạng thái SELinux, kernel không còn phải chờ khoá trước khi đưa trang trạng thái giả (từ bản gốc). Có hiệu lực khi cài lại LKM
    • Thanh tiến trình cho các việc phải chờ: cài APK và chép tệp để mở/chia sẻ trong tab Tệp, sao lưu APK, tải bản cập nhật. Hiện phần trăm, dung lượng, tốc độ và thời gian còn lại; sao chép/di chuyển/giải nén cũng có thêm tốc độ và thời gian còn lại. Cài APK giờ chạy nền như sao chép (có thông báo và nút Huỷ khi đang chép vào trình cài đặt)

    Sửa lỗi

    • Tab Tệp, cài gói .xapk: tệp OBB trong gói giờ chỉ được chép vào Android/obb. Trước đây một gói cố ý đặt tên tệp lạ có thể ghi tệp ra bất kỳ đâu bằng quyền root, kể cả thư mục của Cam. Chỉ cài .xapk từ nguồn tin cậy
    • Tab Tệp, cài gói .xapk: bấm Huỷ lúc đang chép OBB không còn để lại tệp OBB chép dở (game có thể đọc nhầm), và báo đúng số tệp OBB chưa được chép thay vì báo lỗi
    • Khi bật slime đi dạo: đổi chế độ sáng/tối, cỡ chữ hay cỡ hiển thị của máy làm Manager văng ngay. Giờ Manager đổi theo tại chỗ, không dựng lại trang
    • WebUI của module: đóng WebUI của một module không còn làm hỏng việc đọc ghi tệp hay tải tệp đang dở ở WebUI của module khác đang mở cùng lúc
    • Tablet xoay ngang: chọn một app đã có root trong Superuser không còn làm khựng hiệu ứng mở hồ sơ
    • Tab Tệp, nút Sửa quyền: mở thẳng một thư mục con (ví dụ Download/Cam/APK) mà thư mục cha cũng bị khoá thì sửa xong vẫn không mở được. Giờ sửa từ thư mục bị khoá cao nhất
    • Máy chạy kernel 6.6 bản mới (từ 6.6.144): kernel có thể gặp lỗi nghiêm trọng và khởi động lại khi dùng su trong terminal, do Google đổi cách kernel sắp xếp dữ liệu SELinux (từ bản gốc). Có hiệu lực khi cài lại LKM; Y700 (kernel 6.12) không dính lỗi này
    • Mỗi lần một lệnh chạy bằng su trong terminal mở lại terminal của chính nó, kernel giữ thừa một file tới lần khởi động sau (từ bản gốc). Có hiệu lực khi cài lại LKM
    • Tablet dựng dọc với cỡ hiển thị nhỏ vẫn bị chia hai cột. Giờ chỉ chia khi nằm ngang
    • Cột chi tiết bên cạnh danh sách: nội dung bị cắt cứng ở thanh trên khi cuộn và thẻ đầu lệch với cột trái. Giờ mờ dần như cột danh sách, thẻ đầu hai cột bằng nhau, kể cả ở Nhật ký SU
    • Chế độ jailbreak: sau khi khởi động lại mềm, kernel báo lỗi trong log và theo dõi danh sách app thành hai lần. Có hiệu lực khi nạp lại LKM; máy cài LKM vào init_boot như Y700 không dính lỗi này
    • Xoay máy đôi khi làm Manager văng, nhất là trong vài giây đầu sau khi mở app. Xoay giờ không dựng lại trang nữa, nên các tab cũng giữ nguyên chỗ đang xem
    • Tải lại một file đã xoá bằng tab Tệp (hoặc bằng root) báo thất bại, kể cả khi tải module trong thư viện module. Nguyên nhân là Android vẫn nhớ file cũ; giờ tải lại bình thường
    • Khi tắt tương thích su: trang Nhật ký SU và việc vá ảnh boot từ gói ROM tải về không còn mất quyền root
    • Manager không còn văng lúc mở trên máy mà GPU chỉ có OpenGL ES 2.0 (chủ yếu là máy ảo): thẻ trạng thái chỉ hiện phông nền, không có slime. Máy Y700 không dính lỗi này
    • Máy x86_64 có tính năng IBT (máy ảo): nạp LKM trên kernel 6.6 không còn làm máy khởi động lại. Máy Y700 không dính lỗi này
    • Ẩn SELinux: nếu chính sách SELinux được nạp lại đúng lúc một app đổi context SELinux, app có thể nhận lỗi trong khi máy gốc vẫn chạy bình thường. Giờ kernel thử lại trên chính sách mới như máy gốc (từ bản gốc). Có hiệu lực khi cài lại LKM
    • Tab Tệp: thư mục Download/Cam báo "Không có quyền (đã cấp root chưa?)". Sao lưu APK bản cũ tạo thư mục này thẳng bằng root mà không cho bộ nhớ chung quyền đọc, nên không ai mở được, kể cả root. Sao lưu APK giờ ghi qua bộ nhớ chung như mọi tệp tải về và tự sửa thư mục cũ; tab Tệp có nút Sửa quyền cho mọi thư mục bị như vậy

    Lưu ý

    • Bản này có thay đổi nhỏ ở kernel: cài lại LKM (thẻ trên trang chủ) rồi khởi động lại để có phần sửa ẩn SELinux, sửa lỗi giữ file thừa và bớt log. Không cài lại thì mọi thứ vẫn chạy như 1.2.1
    • Bản beta.7 có thay đổi kernel cho mọi máy, kể cả Y700: nên cài lại LKM một lần. Đã thử cài LKM của bản này trên Y700: root, module, ẩn root và Widevine vẫn bình thường
    • Bản beta.8 lại đổi kernel, nhưng phần sửa chỉ cần cho máy kernel 6.6: máy Y700 không bắt buộc cài lại LKM dù thẻ trên trang chủ vẫn gợi ý. LKM của bản này đã thử nạp trên kernel của ROM Y700 bằng máy giả lập, chưa thử trên máy thật
    • Đang biết: khi bật slime đi dạo, quay lại app sau hơn 10 giây chạy nền hoặc bật/tắt "Cử chỉ quay lại dự đoán" vẫn có thể làm Manager văng. Tắt slime đi dạo (mặc định) thì không gặp
  5. v1.2.1

    25/10/2026Tải bản này
    • Rule ẩn root v18 theo Duck Detector mới nhất; trang Kiểm tra ẩn root bắt thêm Gỡ lỗi không dây và module giấu ADB mà vẫn bị lộ

    Thay đổi

    • Rule ẩn root v18: theo Duck Detector tới bản nightly 23/10 (a5b72479). Duck Detector giờ xem cả socket của ADB: ADB đang chạy là cảnh báo như trước, còn ADB bị báo là đã dừng mà socket vẫn còn thì là nguy hiểm (chỉ có khi có thứ sửa giá trị đó để giấu ADB). Cam không sửa giá trị này nên tự nó không bị báo
    • Kiểm tra ẩn root: mục ADB giờ cũng hiện khi chỉ bật Gỡ lỗi không dây (trước đây chỉ bắt Gỡ lỗi USB), giống Duck Detector. Thêm mục mới khi có module hoặc script sửa hay xoá trạng thái ADB cho giống đã dừng trong khi ADB vẫn chạy: app vẫn thấy ADB, nên nên gỡ thứ đó và tắt hẳn gỡ lỗi. Mục này kể ra module và file có sửa trạng thái ADB (kèm nút tắt module), kể cả module vừa tắt mà chưa khởi động lại, và chỉ báo khi hai lần đo cách nhau đều thấy vậy, nên bật hay tắt ADB đúng lúc đang kiểm tra không bị báo nhầm
    • Rule ẩn root v17: theo Duck Detector tới bản nightly 23/10 (e0a57418). Duck Detector giờ vẫn chấm phép đo thời gian khi App Zygote ghi context SELinux kể cả khi máy đổi nhân CPU giữa lúc đo (trước đó lượt đo như vậy bị bỏ). Đã thử với kernel 1.2.0, có cả những lượt cố ý chuyển Duck Detector qua lại giữa các nhân CPU: thẻ SELinux vẫn sạch, không cần sửa kernel. Trang Kiểm tra ẩn root vẫn chưa có cách đo này và ghi nó trong mục Duck Detector
    • Duck Detector bản mới không còn tính "OEM unlock allowed" là dấu hiệu. Trên Android 16, bản cũ báo nguy hiểm mỗi khi có sys.oem_unlock_allowed, kể cả giá trị 0 do Ẩn bootloader đặt; giờ chỉ hiện giá trị. Trang Kiểm tra ẩn root cũng thôi báo lộ khi máy cho phép mở khóa OEM (Ẩn bootloader vẫn sửa giá trị này như cũ)

    Sửa lỗi

    • Kiểm tra ẩn root: hết báo "ADB đang bật" khi đã tắt cả gỡ lỗi USB lẫn không dây. ROM của Lenovo vẫn để lại một giá trị cũ báo ADB sau khi tắt; giờ trang xem ADB có thật sự đang chạy hay không, giống Duck Detector, và ghi rõ dấu hiệu nào cho thấy ADB đang bật
    • Khởi động lại mềm: sửa lỗi crash của chương trình nhỏ chờ Android dừng hẳn trước khi khởi động lại (từ bản gốc)

    Lưu ý

    • Bản này không đổi kernel: không cần cài lại LKM. Ai chưa cài lại LKM sau khi lên 1.2.0 thì vẫn nên cài lại để có phần sửa ẩn SELinux của 1.2.0
  6. v1.2.0

    23/10/2026Tải bản này
    • Ẩn SELinux trước cách đo mới của Duck Detector; kiểm tra ẩn root chính xác hơn: hết báo nhầm file của WebView, bắt thêm vài kiểu file root trước đây lọt qua

    Sửa lỗi

    • Ẩn root: Duck Detector mới thêm cách đo thời gian ghi context SELinux từ App Zygote. Phần ẩn SELinux của Cam làm lần ghi sai chậm hơn máy gốc 0,1-0,26 µs, đủ để đo ra (Duck Detector hiện số đo này như thông tin, chưa tính là dấu hiệu root). Giờ chênh dưới 0,02 µs, Duck Detector không phân biệt được với máy gốc. Có hiệu lực khi cài lại LKM
    • Ẩn root: phần ẩn SELinux giờ cũng khớp thời gian máy gốc khi app ghi context hoặc hỏi quyền qua selinuxfs, không chỉ riêng lần ghi attr/current. Có hiệu lực khi cài lại LKM
    • Ẩn SELinux: ở bản 1.2.0-beta.4, bật ẩn SELinux sau khi máy đã khởi động xong thì công tắc tự tắt lại khi lưu, nên khởi động lại xong vẫn không ẩn. Giờ công tắc giữ trạng thái bật và có hiệu lực từ lần khởi động lại tiếp theo như thông báo; trước lần đó app vẫn thấy trạng thái SELinux thật. Ai đã bật ở beta.4 mà sau khi khởi động lại thấy tắt thì bật lại một lần rồi khởi động lại. Có hiệu lực khi cài lại LKM
    • Ẩn SELinux: thêm hai chỗ khớp máy gốc — (1) khi app kiểm context qua selinuxfs, bảng sid của chính sách đang chạy nay vẫn lớn lên như máy gốc (bản 1.2.0-beta.4 bỏ bước này, app đọc được chênh lệch qua ss/sidtab_hash_stats); (2) đường ghi context qua lsm_set_self_attr (lời gọi hệ thống mới, nhân 6.8 trở lên) nay cũng được ẩn như ghi attr/current. Có hiệu lực khi cài lại LKM
    • Kiểm tra ẩn root: vẫn còn báo nhầm "App đang nạp file root trong bộ nhớ" với file của WebView khi mã ngẫu nhiên trong tên thư mục cài app có chữ giống "Riru" (bản 1.1.9 mới sửa được trường hợp "edxp"). Giờ mã ngẫu nhiên được nhận đúng và bỏ qua, chỉ xét tên app, cả trong tên vùng nhớ Android đặt theo app (dex và app image giải nén trong bộ nhớ)
    • Kiểm tra ẩn root: chỉ bỏ qua mã ngẫu nhiên trong thư mục cài app. File root đặt ở chỗ khác mà tên trông giống mã ngẫu nhiên vẫn bị báo
    • Kiểm tra ẩn root: phần "nhìn từ trong app" giờ bắt được vùng nhớ ẩn danh có dấu cách trong tên và tên viết bằng chữ giống chữ thường (như ký hiệu Kelvin thay cho chữ k), giống kết quả của camd. Một thư viện đã bị xoá không còn hiện hai lần
    • Kiểm tra ẩn root: một tên file hay tên tiến trình có ký tự lạ (không phải UTF-8) không còn khiến camd bỏ qua cả app đó hay cả danh sách mount
    • Kiểm tra ẩn root: phần "nhìn từ trong app" luôn báo file trong /data/adb và /debug_ramdisk, kể cả khi rule tải về không liệt kê
    • Kiểm tra ẩn root: lần quét đầu sau khi cập nhật hiện như lần đầu thay vì so với lần quét cũ (tên mục đã đổi), nên không còn đánh dấu "mới" nhầm

    Thay đổi

    • Rule ẩn root v15: theo Duck Detector tới bản nightly 22/10. Cách đo thời gian SELinux mới của Duck Detector đã được xử lý ở kernel; trang Kiểm tra ẩn root chưa có cách đo này và ghi nó trong mục Duck Detector

    Lưu ý

    • Bản này có thay đổi kernel: sau khi cập nhật, bấm "Cài lại LKM" (thẻ trên trang chủ) rồi khởi động lại. Chưa cài lại LKM thì phần sửa ẩn SELinux chưa có hiệu lực
  7. v1.1.9

    21/10/2026
    • Chặn module nguy hiểm, sao lưu và khôi phục chính các module, cài module không cần khởi động lại (với module có hỗ trợ)

    Tính năng mới

    • Chặn module nguy hiểm (tab Tính năng): Cam không cài module nằm trong danh sách mã độc hoặc phá máy. Danh sách có chữ ký và tự cập nhật cùng rule ẩn root. Module đã cài mà nằm trong danh sách có nhãn đỏ "Nguy hiểm", bấm vào để xem lý do và tắt. Tắt công tắc "Từ chối module nguy hiểm" thì chỉ cảnh báo rồi vẫn cài
    • Sao lưu module (Cài đặt → Sao lưu cấu hình → Module): lưu chính các module đã cài vào một file .tar. Khôi phục thì chọn từng module, module được thay ở lần khởi động sau như một lần cập nhật và giữ trạng thái bật hay tắt như lúc sao lưu
    • Cài module không cần khởi động lại, với module tự khai hỗ trợ (hot install, từ bản gốc). Module khác vẫn cần khởi động lại như cũ
    • Intro khi mở app: logo Inner Veterans được ráp lại từ từng mảnh giáp, đạn găm vào khung, điện chạy quanh viền rồi nổ tung, mở ra trang chủ với slime đã chạy sẵn. Chạm để bỏ qua, tắt trong Cài đặt → Chủ đề (tắt thì màn hình chờ có logo như cũ)
    • Nền kính mới "Hầm chỉ huy Inner Veterans" (Cài đặt → Chủ đề → Nền kính): logo làm nền sống động, ánh sáng lạnh lướt trên các mảnh thép và viền chrome, thỉnh thoảng một viên đạn găm vào khung. Nghiêng máy thấy chiều sâu và vệt phản chiếu trượt theo, kéo để làm mới thì viền nung sáng rồi chớp, cấp root hay cài module xong thì tâm ngắm khoá mục tiêu
    • Hầm chỉ huy làm hình nền máy: chọn nền "Hầm chỉ huy Inner Veterans" rồi bấm "Đặt làm hình nền máy". Hình nền động, logo nằm phía trên thanh dock nên không bị che, chỉ chạy khi đang nhìn thấy
    • Module preinit (từ bản gốc): module có thư mục preinit/ chạy được vài việc trước khi Android nạp SELinux (nạp kernel module, chạy chương trình, ghi vào /proc, /sys). Khởi động lỗi 3 lần liên tiếp thì preinit tự tắt; module nào không chạy được preinit có dòng cảnh báo đỏ dưới thẻ module

    Thay đổi

    • Hiệu ứng chuyển trang mới: trang mở ra từ đúng dòng hoặc thẻ vừa bấm (Cài đặt, Superuser, Module, Thư viện module, Trang chủ, Tính năng, Mẫu hồ sơ), các thẻ bay ra lần lượt, trang cũ lùi xuống phía sau. Quay lại thì trang thu về chỗ cũ, theo cả thao tác vuốt
    • Superuser, Module và Thư viện module hiện các thẻ mờ trong lúc tải lần đầu thay cho vòng xoay
    • Bấm "Mở hồ sơ đầy đủ" trong Superuser: icon và tên app bay từ thẻ sang trang hồ sơ, quay lại thì bay về thẻ (theo cả thao tác vuốt)
    • Mở app nhanh hơn một chút sau mỗi lần cập nhật: các phần hay dùng được biên dịch sẵn
    • Bật/tắt "Hiện app hệ thống" trong Superuser nhanh hơn

    Sửa lỗi

    • Kiểm tra ẩn root: sau khi mở WebUI của module (hoặc app có WebView), trang báo "App đang nạp file root trong bộ nhớ" với các file của WebView. Đó là báo nhầm: tên thư mục cài app có mã ngẫu nhiên trùng chữ "edxp" (EdXposed). Giờ chỉ xét tên app, không xét mã ngẫu nhiên
    • Cài một file zip module bị hỏng giờ báo lỗi thay vì làm camd dừng đột ngột
    • Chặn module kernel (trang Cài đặt LKM): chặn nhầm module mà máy cần ngay lúc mới khởi động không còn làm máy bootloop. Cam để module đó nạp bình thường và chỉ chặn những module chặn được an toàn. Có hiệu lực khi cài lại LKM
    • Quyền root và hồ sơ của các app không còn có thể bị xoá hàng loạt khi danh sách gói của Android có một dòng đọc không được
    • Root của Cam chỉ được cấp lại khi chữ ký khớp đúng bản app đang cài (chặt hơn lúc gỡ rồi cài lại app)
    • Máy Android 17 QPR3 khởi động được với Cam (từ bản gốc)
    • Ẩn root: trên máy có file init.rc được gắn từ chỗ khác, phần kernel chạy lúc khởi động giờ cũng được gỡ sau khi máy lên như các máy khác, để app không đo được nó (Duck Detector mới thêm cách đo này; sửa từ bản gốc). Đã đo trên máy thử, chưa thử trên máy có init.rc gắn từ chỗ khác. Có hiệu lực khi cài lại LKM
    • Ẩn root: bỏ một quyền mà thư viện AndroidX tự thêm vào app. Duck Detector dò quyền này để tìm app quản lý của bản gốc; Cam chưa từng bị tìm ra theo cách này, bỏ đi để sau này cũng không bị (từ bản gốc)
    • Kiểm tra ẩn root: mục Duck Detector luôn báo "không kiểm tra được" từ khi Duck Detector đổi cách phát hành bản nightly (18/10), và có máy báo nhầm "có bản nightly mới" với một bản cũ hơn rule đang dùng. Giờ Cam lấy bản nightly mới nhất từ caesarvn.xyz (không hỏi GitHub nữa) và so theo ngày, chỉ báo bản mới khi Duck Detector thật sự có bản mới hơn. Không lấy được thì dòng Duck Detector ghi rõ "không kiểm tra được bản nightly mới nhất"

    Lưu ý

    • Bản này có thay đổi kernel: sau khi cập nhật, bấm "Cài lại LKM" (thẻ trên trang chủ) rồi khởi động lại. Chưa cài lại LKM thì module sẽ không chạy ở lần khởi động sau
  8. v1.1.8

    15/10/2026
    • Bản cập nhật quan trọng, nên cài ngay: chống bootloop tắt hết module và chỉ ra module gây lỗi, flash phân vùng an toàn hơn, trang ẩn root có nút sửa ngay, sao lưu cấu hình

    Tính năng mới

    • Chống bootloop: khi máy khởi động lỗi liên tục, tất cả module được tắt để máy lên chắc chắn, và Cam chỉ ra module nghi gây lỗi kèm lý do (mới cài hoặc cập nhật, có init rc chạy rất sớm, hay log của lần khởi động lỗi nhắc tới nó, có cả dòng log). Một nút bật lại các module còn lại
    • Chống bootloop giờ cứu được cả máy treo rất sớm lúc khởi động do init rc hỏng (của module, hoặc file trong /data/adb/initrc.d): lần khởi động sau bỏ qua các init rc đó để máy lên được, không phải bấm phím vào safe mode
    • Thẻ module báo "Có bản mới" khi thư viện module của Cam có phiên bản mới hơn bản đang cài (cả module không tự khai cách cập nhật); bấm vào để cập nhật
    • Trang Kiểm tra ẩn root: thêm mục Widevine DRM (mức L1/L3 mà app xem phim dùng để chọn HD hay SD, System ID, phiên bản, HDCP). Tự chẩn đoán vì sao máy dưới L1 (xin thử chứng chỉ từ Google để biết keybox còn hợp lệ không, dịch vụ Widevine có chạy không, bootloader khoá hay mở) và có nút "Cấp lại chứng chỉ DRM": lưu file cũ, xoá, xin chứng chỉ mới, tệ hơn thì tự trả lại
    • Sao lưu cấu hình (Cài đặt → Sao lưu cấu hình): quyền root, hồ sơ app, công tắc ẩn root, module đang bật và bookmark tab Tệp vào một file; khôi phục trên máy mới hoặc sau khi flash ROM, xem trước những gì sẽ đổi
    • Trang Kiểm tra ẩn root: mỗi mục có nút sửa ngay ("Bật umount module cho app này", bật umount trong hồ sơ mặc định, bật công tắc đang tắt, mở Tuỳ chọn nhà phát triển) và lời khuyên cụ thể cho mục không tự sửa được

    Thay đổi

    • Flash vào phân vùng (tab Tệp): kiểm tra image đúng loại trước khi ghi (chặn flash nhầm boot vào init_boot, file zip, file nén), luôn sao lưu phân vùng hiện tại vào CamBackup trước, cảnh báo khi chọn slot máy không chạy, bước cuối phải gõ tên phân vùng
    • Chống xung đột module: nhận ra cả thư mục được thay thế bằng xattr của overlayfs (module làm cho metamodule overlay), không chỉ file .replace
    • Chống bootloop: bỏ lựa chọn "Khi can thiệp", giờ luôn tắt tất cả module
    • Tab Tệp: máy tính bảng để dọc cũng hiện hai panel cạnh nhau (từ 600dp), điện thoại vẫn một panel
    • Chạy nền nhẹ hơn: slime 3D trả lại bộ nhớ đồ hoạ (khoảng 470 MB) sau 10 giây ở nền, quay lại thì hiện như cũ

    Sửa lỗi

    • Văng app hiếm gặp ở thẻ trạng thái khi xoay máy hoặc quay lại app đúng lúc slime đang diễn đoạn mở màn
    • Ẩn SELinux: sửa lỗi có thể làm máy khởi động lại khi tắt tính năng lúc app đang đọc selinuxfs, chặn lộ qua thông báo nạp policy (netlink), không còn dò hàm kernel qua kallsyms

    Lưu ý

    • Cập nhật quan trọng: sửa lỗi ẩn SELinux có thể làm máy khởi động lại và chống bootloop chắc chắn hơn, Cam khuyến nghị mọi máy cập nhật
    • Bản này có thay đổi kernel: sau khi cập nhật, bấm "Cài lại LKM" ở màn "Có gì mới" rồi khởi động lại
  9. v1.1.7

    14/10/2026
    • Tab Tệp: sửa file lớn, đổi bảng mã, so sánh hai file, terminal root, thùng rác; giao diện mới kiểu iOS

    Tính năng mới

    • Trình sửa văn bản: file trên 128 KB giờ sửa được (sửa từng dòng, vẫn cuộn mượt), không còn chỉ đọc
    • Mở lại file bằng bảng mã khác (GBK, Big5, Windows-1258...) và lưu sang bảng mã khác; chuyển kiểu xuống dòng sang LF hoặc CRLF
    • So sánh hai file: chọn file ở mỗi panel (hoặc hai file trong một panel) rồi bấm "So sánh"; chạm một dòng để mở file đúng dòng đó
    • Terminal root ngay trong tab Tệp; chạy script bằng root và gõ trả lời khi script hỏi
    • Thùng rác: file xoá trong tab Tệp được giữ lại để khôi phục
    • Sao lưu phân vùng và flash ảnh boot từ tab Tệp
    • Ảnh thu nhỏ cho ảnh, video và APK; danh sách tự làm mới khi thư mục thay đổi
    • Mở file bằng app khác mà không phải chép ra trước

    Thay đổi

    • Giao diện kiểu iOS: menu mọc ra từ nút, hộp thoại ở giữa màn hình, thông báo dạng banner, công tắc và thanh trượt mới, ô nhập có nút xoá
    • Màn ngang: thanh điều hướng chuyển sang cạnh bên

    Sửa lỗi

    • File lẫn CRLF và LF không còn bị đổi hết sang CRLF khi lưu: mỗi dòng giữ kiểu xuống dòng của nó
    • Ký tự mà bảng mã của file không ghi được giờ báo lỗi thay vì ghi thành "?"
    • Công tắc không còn bật tắt theo giá trị cũ
  10. v1.1.6

    13/10/2026
    • Tab Tệp mới: quản lý file bằng root kiểu MT Manager, hai panel, ngay trong app

    Tính năng mới

    • Tab Tệp (giữa Tính năng và Cài đặt): hai panel, sao chép / di chuyển / xoá / đổi tên, quyền, owner, SELinux context, bookmark, tìm kiếm theo tên và nội dung, checksum, xem hex
    • Mở file nén như thư mục (zip, apk, tar.gz...), giải nén, nén, sửa trực tiếp trong zip (thêm, xoá, đổi tên, sửa file bên trong)
    • Trình sửa văn bản có tô màu (shell, prop, xml, json), tìm / thay thế, đi tới dòng, hoàn tác; file lớn hoặc nhị phân mở ở chế độ chỉ đọc vẫn cuộn mượt
    • Cài APK và bộ split (apks, xapk, apkm) bằng root, xem thông tin APK; cài zip làm module ngay từ tab Tệp
    • Ghi đè file hệ thống kiểu systemless (cần metamodule), xem file như một app đang chạy nhìn thấy
    • Thao tác dài chạy nền với thông báo tiến trình và nút Huỷ

    Sửa lỗi

    • ADB không dây không còn bị tắt khi app được cập nhật hoặc mở lại sau khi buộc dừng (Android 15+)
    • App được biên dịch sẵn sau khi cài / cập nhật nên lần mở đầu không còn giật
  11. v1.1.5

    13/10/2026
    • Cập nhật theo bản gốc mới nhất: thêm tuỳ chọn chỉ cho Shell lấy root qua ADB

    Tính năng mới

    • Cài đặt → "Chỉ cho Shell lấy root qua ADB" (mặc định tắt): khi Shell được cấp root, chỉ phiên adb shell thật hoặc tiến trình đã có root (ví dụ module ADB) mới dùng được, app chiếm được quyền shell qua lỗi hệ thống không leo lên root được

    Thay đổi

    • Cài đặt (cài vào boot): "Chặn module kernel" giờ phải tự tick mới có tác dụng. Trước đây danh sách được điền sẵn và áp luôn, trên một số máy MediaTek chặn nhầm mkp làm máy bootloop
    • Mua truy cập sớm hiện thành cửa sổ ngay trên Home thay cho một trang riêng
    • Bỏ công tắc "Chặn RKP" của các bản thử trước. Máy đang bật sẽ được tự tắt khi mở app lần đầu sau cập nhật, mạng trở lại bình thường mà không cần khởi động lại
  12. v1.1.2

    12/10/2026
    • Bản chính thức đầu tiên: cập nhật, tải về và thư viện module đi qua caesarvn.xyz; nhận sớm bản mới ngay trong app

    Tài khoản

    • Cài đặt → Tài khoản: liên kết app với tài khoản caesarvn.xyz bằng mã 6 ký tự (không nhập mật khẩu trong app), xem email đã liên kết, huỷ liên kết
    • Cập nhật OTA chỉ dành cho thiết bị đã liên kết tài khoản thành viên; bản mới mở cho thành viên sau 20 ngày, hoặc ngay khi mua truy cập sớm
    • Công tắc "Nhận bản thử nghiệm" gửi yêu cầu làm beta tester; được duyệt thì nhận mọi bản ngay, cả bản beta
    • Thông báo cập nhật báo cả bản chưa mở cho tài khoản; chạm vào để xem ghi chú bản, ngày mở và nhận ngay
    • Thanh toán trong app: mã QR (lưu vào thư viện ảnh để app ngân hàng quét), chép số tài khoản và nội dung chuyển khoản, tự xác nhận khi tiền về
    • Mua trong app hay trên caesarvn.xyz đều gắn với tài khoản, hai nơi thấy cùng một quyền
    • Home có thẻ báo bản mới đang chờ mở; Cài đặt → Tài khoản có nút "Nhận ngay" cho từng bản

    Thay đổi

    • Rule kiểm tra ẩn root và thư viện module tải từ caesarvn.xyz

GPL · dựa trên KernelSU