Có phần mềm nào có thể lập chỉ mục nội dung của sổ đăng ký để tra cứu nhanh không? [đóng cửa]


16

Tìm kiếm trong sổ đăng ký Windows có thể được ------ ry ------ lo ---- ng.

Có một số công cụ có sẵn có thể lập chỉ mục nội dung của toàn bộ sổ đăng ký, hoặc nội dung của một tổ ong, sao cho có thể tra cứu nhanh? (ví dụ: tạo một số cơ sở dữ liệu SQLite có bật FTS3 hoặc FTS4 để tìm kiếm toàn văn bản)

Cảm ơn bạn.

Tái bút Tôi không muốn RegScanner hoặc các công cụ thực hiện tìm kiếm tuyến tính mới mỗi lần. Tôi muốn một người lập chỉ mục , sau đó tìm kiếm có thể là tức thời. Xem bình luận câu hỏi.



có một cái nhìn ở đây: majorgeek.com/doads15.html
bubu

2
@Benoit: Điều này làm phiền tôi rất nhiều, tôi sẽ cố gắng viết ứng dụng như vậy ngày hôm nay.
Tamara Wijsman 17/03/2016

1
@TomWij: Nó sẽ là thương mại? Mã nguồn mở? Tôi có thể thử nghiệm bản beta không? -)? Đây là một dự án tuyệt vời, và tôi ủng hộ nó.
Benoit

1
@TomWij: Tôi không chắc ý của bạn là "nó hoạt động tốt", nhưng lưu ý rằng bạn thực sự đã mở khóa ControlSet001(hoặc có thể ControlSet002hoặc một số khác), không CurrentControlSet . CurrentControlSetthực sự là một liên kết đến các khóa đó và không thể xem chính liên kết đó bằng các hàm .NET thông thường; bạn cần một chức năng như NtOpenKeyđể mở liên kết tượng trưng thực tế thay vì mục tiêu. Hãy xem ở đâyở đây .
Mehrdad

Câu trả lời:


11

Giới thiệu

Tôi đã viết một ứng dụng lập chỉ mục đăng ký và một ứng dụng khác tìm kiếm chỉ mục này.

Điều này dẫn đến kết quả gần như ngay lập tức trong khi bạn nhập, điều này cho phép bạn nhanh chóng tìm kiếm một số thứ.

Xem video trình diễn này , cho thấy kết quả nhanh như thế nào, ba tìm kiếm khác nhau và hai lần đăng ký nhảy.

Chỉ số

nhập mô tả hình ảnh ở đây

Đối với mục đích lập chỉ mục, tôi đang sử dụng Lucene.net , điều đó nghe có vẻ quen thuộc phải không?

Điều này cho phép tôi lập chỉ mục dữ liệu ra khỏi sổ đăng ký mà không cần sử dụng cơ sở dữ liệu SQL để lưu trữ dữ liệu. Ngoài ra, Lucene.net có rất nhiều tùy chọn lập chỉ mục và các tính năng liên quan đến tìm kiếm có ích!

Chỉ số này sẽ được lưu trữ trong %LOCALAPPDATA%\RegistryIndexvà có kích thước khoảng 160 MB.

Ứng dụng 1: RegistryIndex.exe

Điều này sẽ kết xuất toàn bộ sổ đăng ký vào thư mục chỉ mục đã đề cập ở trên,
xin lưu ý rằng HKEY_CLASSES_ROOTHKEY_CURRENT_USERlà các phím tắt và do đó không được lập chỉ mục.

Mặc dù nó hoạt động mà bạn không muốn cấu hình để tự động chạy với tư cách quản trị viên .

Khi ứng dụng hiển thị rằng nó đã được thực hiện, bạn có thể đóng cửa sổ và do đó chỉ mục đã được thực hiện.

Ứng dụng 2: RegistrySearch.exe

Điều này là đơn giản, nhập một cái gì đó để tìm kiếm trong hộp văn bản ở trên và kết quả sẽ chảy vào.

Nhập cú pháp sai sẽ dẫn đến một hộp văn bản màu vàng và lỗi trong thanh trạng thái ở phía dưới.

Các tính năng tìm kiếm đặc biệt như ký tự đại diện và thao tác boolean được hỗ trợ, xem Cú pháp truy vấn để biết thêm thông tin. Xin lưu ý rằng các trường chỉ định sẽ không hoạt động trong cài đặt hiện tại, hệ thống tìm kiếm theo cách nối các giá trị và đường dẫn được mã hóa. Vậy A \ B \ C có giá trị DEF trở thành ABCDE F.

Ví dụ về tìm kiếm một đường dẫn chính xác: "HKEY_LOCAL_MACHINE SOFTWARE"

Việc tìm kiếm được giới hạn ở 1000 kết quả.

Nhấp đúp vào một mục để chuyển đến mục đó trong sổ đăng ký, điều này sử dụng regjump.exe từ SysIternals .
Bạn cần chạy chương trình tìm kiếm với tư cách quản trị viên để nhảy hoạt động, chấp nhận EULA lần đầu tiên.

Các tính năng trong tương lai

Xem phiên bản hiện tại dưới dạng Bản xem trước kỹ thuật, nó hoạt động nhưng có thể sử dụng tái cấu trúc và trang điểm.

  • Biểu tượng và phiên bản ứng dụng
  • Cấu hình
  • Kết quả nổi bật
  • Gói cài đặt
  • Giám sát dịch vụ (Theo dõi các thay đổi đăng ký bằng cách sử dụng hook và cập nhật chỉ mục)

Thay đổi

  • 21/03: Bây giờ lưu trữ trong %LOCALAPPDATA%, xin Administratorsphép.

Tải xuống

Nhấn vào đây để tải xuống , giải nén tất cả các tệp đến một vị trí ưa thích, tạo lối tắt đến RegistryIndex / Search.exe.

Nguồn

Nó không bị xáo trộn, vì vậy để kiểm tra IL bạn có thể sử dụng Reflector nếu muốn.

Tôi có thể phát hành nguồn khi nó được cấu trúc lại với một số tính năng hơn, có lẽ tôi có thể đưa nó lên CodePlex.


2
Sẽ tốt hơn nếu ứng dụng của bạn sử dụng% LOCALAPPDATA% chứ không phải% APPDATA%.
edusysadmin

1
@edusysadmin: Đã điều chỉnh, hiện lưu vào% LOCALAPPDATA% và yêu cầu quyền của quản trị viên.
Tamara Wijsman

1
Cảm ơn bạn. Tôi đã tải xuống gói, sử dụng Win Vista bằng ngôn ngữ tiếng Pháp và thậm chí chạy RegistryIndex.exe khi quản trị viên không thành công. (Tiếp tục nói, xin vui lòng chạy với tư cách quản trị viên). Bạn có biết tại sao điều này có thể thất bại?
Benoit

@Benoit: Tôi đang sử dụng mã từ trang web của Microsoft cho phần quản trị viên, nhưng dường như đó là mã phi quốc tế. Tất cả các mã khác nhìn mọi thứ lên quốc tế. Vấn đề là nó tìm kiếm nhóm "Quản trị viên" để tìm kiếm các quyền, vì nhóm này được gọi khác nhau trên máy tính của bạn nên không thành công. Điều này đã được giải quyết bây giờ bằng cách sử dụng new System.Security.Principal.SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, null).Translate(typeof(System.Security.Principal.NTAccount)).ToString().Split('\\').Last()để có được tên nhóm.
Tamara Wijsman

1
Xin chào, dự án vẫn còn sống? Tôi đang làm rất nhiều kỹ thuật đảo ngược thời gian qua và điều đó có thể rất hữu ích. Bất kỳ liên kết mới?
Dmitry Gusarov

3

Nhìn vào RegScanner của NirSoft . Không phải là một người lập chỉ mục, nhưng nó tìm ra RegEdit và nó sẽ mở RegEdit cho bạn một lần truy cập được chọn, trong số các tính năng thú vị khác. Chắc chắn thử nó trước khi bạn bắt đầu một dự án phát triển (trừ khi bạn muốn thực hiện dự án vì lợi ích của nó) - bạn có thể thấy bạn không thực sự cần nhiều hơn.


Như đã nói trong một bình luận: nó là một công cụ tốt, nhưng nó sẽ không lập chỉ mục gì cả.
Benoit

Và như tôi cũng đã nói. Nhưng câu hỏi của bạn, trong câu đầu tiên, giải quyết tốc độ chậm của RegEdit, chứ không phải kỹ thuật của nó, và như vậy, RegScanner giải quyết khá tốt. Tôi sẽ để lại gợi ý cho bất kỳ ai có thể giúp đỡ trong tương lai.
JRobert

Công cụ rất đẹp! +1
Piotr Dobrogost

1

Bạn có thể xuất sổ đăng ký sang tệp văn bản .reg và sử dụng trình soạn thảo yêu thích của bạn để tìm kiếm nó.


Đây thực sự là một ý tưởng hay nhưng có lẽ không tối ưu vì không có chỉ mục.
Benoit

Lưu ý rằng tất nhiên, sau đó chèn tất cả tệp reg theo cách nào đó vào SQLite khi bật FTS3 hoặc FTS4 có lẽ là một cách làm.
Benoit

@Benoit: Trên thực tế, tôi đã bắt đầu chỉ bằng cách liệt kê toàn bộ sổ đăng ký vào một tệp văn bản đơn giản và việc tìm kiếm bằng Notepad ++ thực sự rất nhanh. Tôi đang sử dụng Lucene.Net để thực hiện lập chỉ mục vì nó được viết đặc biệt cho tác vụ đó và không yêu cầu tôi tạo giải pháp SQL, nó cũng hỗ trợ các tính năng nổi bật (có nghĩa là cho các công cụ tìm kiếm, btw, SE sử dụng Lucene.net cho công cụ tìm kiếm ở đây) mà tôi sẽ cố gắng đưa vào, có lẽ trên phiên bản mới hơn. Tôi đoán rằng việc lập chỉ mục / FTS cho kết quả tìm kiếm trong khi bạn nhập , nhưng chưa thử nó ...
Tamara Wijsman
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.