มีซอฟต์แวร์ที่สามารถจัดทำดัชนีเนื้อหาของรีจิสทรีเพื่อการค้นหาอย่างรวดเร็วหรือไม่? [ปิด]


16

การค้นหาในรีจิสทรีของ Windows สามารถเป็นได้ ------ ry ------ lo ---- ng

มีเครื่องมือบางอย่างที่สามารถสร้างดัชนีเนื้อหาของรีจิสทรีทั้งหมดหรือเนื้อหาของกลุ่มเดียวเช่นมีการค้นหาที่รวดเร็วหรือไม่ (ตัวอย่างเช่นการสร้างฐานข้อมูล SQLite บางตัวที่เปิดใช้งาน FTS3 หรือ FTS4 สำหรับการค้นหาข้อความแบบเต็ม)

ขอขอบคุณ.

PS ฉันไม่ต้องการ RegScanner หรือเครื่องมือที่ดำเนินการค้นหาเชิงเส้นใหม่ทุกครั้ง ฉันต้องการตัวสร้างดัชนีซึ่งการค้นหาสามารถทำได้ทันที ดูความคิดเห็นของคำถาม



ดูได้ที่นี่: majorgeeks.com/downloads15.html
bubu

2
@Benoit: สิ่งนี้ทำให้ฉันรำคาญมากฉันจะลองเขียนใบสมัครในวันนี้
Tamara Wijsman

1
@TomWij: มันจะเป็นการค้าหรือไม่ โอเพ่นซอร์ส? ฉันขอทดสอบเบต้าได้ไหม :-) นี่เป็นโครงการที่ยอดเยี่ยมและฉันกลับมา
เบอนัวต์

1
@TomWij: ผมไม่แน่ใจว่าสิ่งที่คุณหมายโดย "ทำงานดี" แต่แจ้งให้ทราบว่าคุณได้จริงเปิดกุญแจControlSet001(หรือบางทีControlSet002หรือบางคนอื่น ๆ ) ไม่ได้ เป็นจริงการเชื่อมโยงไปยังคีย์เหล่านั้นและมันเป็นไปไม่ได้ที่จะดูการเชื่อมโยงตัวเองโดยใช้ฟังก์ชั่น .NET ปกติ; คุณต้องการฟังก์ชันที่ต้องการเปิดลิงก์สัญลักษณ์จริงแทนที่จะเป็นเป้าหมาย ลองดูที่นี่และที่นี่ CurrentControlSetCurrentControlSetNtOpenKey
user541686

คำตอบ:


11

บทนำ

ฉันได้เขียนแอปพลิเคชันที่ทำดัชนีรีจิสทรีและแอปพลิเคชันอื่นที่ค้นหาดัชนีนี้

ผลลัพธ์นี้อยู่ใกล้กับผลการค้นหาทันใจในขณะที่คุณพิมพ์ซึ่งจะช่วยให้คุณค้นหาหลายสิ่งได้อย่างรวดเร็ว

ดูวิดีโอสาธิตนี้แสดงผลการค้นหาอย่างรวดเร็วการค้นหาที่แตกต่างกันสามครั้งและการข้ามรีจิสตรีสองครั้ง

ดัชนี

ป้อนคำอธิบายรูปภาพที่นี่

สำหรับการทำดัชนีวัตถุประสงค์ฉันใช้Lucene.netไม่ได้ว่าเสียงที่คุ้นเคย ?

สิ่งนี้ทำให้ฉันสามารถจัดทำดัชนีข้อมูลโดยตรงจากรีจิสตรีโดยไม่ต้องใช้ฐานข้อมูล SQL เพื่อเก็บข้อมูลนอกจากนี้ Lucene.net มีตัวเลือกการจัดทำดัชนีจำนวนมากและคุณสมบัติการค้นหาที่เกี่ยวข้องซึ่งมีประโยชน์!

ดัชนีนี้จะถูกเก็บไว้ใน%LOCALAPPDATA%\RegistryIndexและมีขนาดประมาณ 160 MB

แอปพลิเคชัน 1: RegistryIndex.exe

การทำเช่นนี้จะถ่ายโอนรีจิสตรีทั้งหมดไปยังโฟลเดอร์ดัชนีที่กล่าวถึงข้างต้น
โปรดทราบว่าHKEY_CLASSES_ROOTและHKEY_CURRENT_USERเป็นกลุ่มทางลัดจึงไม่ได้จัดทำดัชนี

แม้ว่ามันจะไม่ทำงานโดยที่คุณอาจต้องการที่จะกำหนดค่าให้โดยอัตโนมัติเรียกใช้ในฐานะผู้ดูแล

เมื่อแอปพลิเคชันแสดงว่าเสร็จสิ้นคุณสามารถปิดหน้าต่างและทำดัชนีได้

แอปพลิเคชัน 2: RegistrySearch.exe

อันนี้ง่ายพิมพ์สิ่งที่ต้องการค้นหาในกล่องข้อความด้านบนและผลลัพธ์จะไหลเข้า

การพิมพ์ไวยากรณ์ที่ไม่ถูกต้องจะส่งผลให้กล่องข้อความสีเหลืองและข้อผิดพลาดในแถบสถานะที่ด้านล่าง

รองรับคุณสมบัติการค้นหาพิเศษเช่นการทำงานของไวด์การ์ดและบูลีนดูที่Query Syntaxสำหรับข้อมูลเพิ่มเติม โปรดทราบว่าการระบุฟิลด์จะไม่สามารถใช้งานได้ในการตั้งค่าปัจจุบันระบบจะทำการค้นหาโดยใช้การรวมพา ธ และค่าโทเค็นเข้าด้วยกัน ดังนั้น A \ B \ C ที่มีค่า DEF จะกลายเป็น ABCDE F

ตัวอย่างการค้นหาเส้นทางที่แน่นอน: "HKEY_LOCAL_MACHINE SOFTWARE"

การค้นหาถูก จำกัด ไว้ที่ 1,000 ผลลัพธ์

คลิกสองครั้งที่รายการเพื่อข้ามไปยังรายการรีจิสทรีซึ่งใช้regjump.exeจาก SysInternals
คุณต้องเรียกใช้โปรแกรมค้นหาในฐานะผู้ดูแลระบบเพื่อข้ามไปทำงานยอมรับ EULA ในครั้งแรก

คุณสมบัติในอนาคต

ดูรุ่นปัจจุบันเป็นตัวอย่างทางเทคนิคมันใช้งานได้ แต่สามารถใช้การปรับโครงสร้างและการแต่งหน้าใหม่ได้

  • ไอคอนและเวอร์ชันของแอปพลิเคชัน
  • องค์ประกอบ
  • เน้นผลลัพธ์
  • แพ็คเกจติดตั้ง
  • บริการการตรวจสอบ (ติดตามการเปลี่ยนแปลงรีจิสทรีโดยใช้ hook และอัปเดตดัชนี)

การเปลี่ยนแปลง

  • 21/03: ตอนนี้ร้านค้าใน%LOCALAPPDATA%ขอAdministratorsอนุญาต

ดาวน์โหลด

คลิกที่นี่เพื่อดาวน์โหลดแตกไฟล์ทั้งหมดไปยังตำแหน่งที่ต้องการสร้างทางลัดไปยัง RegistryIndex / Search.exe

แหล่ง

มันไม่ยุ่งเหยิงดังนั้นเพื่อตรวจสอบ IL คุณสามารถใช้ Reflector ได้ถ้าต้องการ

ฉันอาจปล่อยแหล่งที่มาเมื่อมีการ refactored ด้วยคุณสมบัติอีกเล็กน้อยบางทีฉันสามารถวางไว้ใน CodePlex


2
จะดีกว่าถ้าแอปของคุณใช้% LOCALAPPDATA% ไม่ใช่% APPDATA%
edusysadmin

1
@edusysadmin: ปรับตอนนี้บันทึกเป็น% LOCALAPPDATA% และขอสิทธิ์ผู้ดูแลระบบ
Tamara Wijsman

1
ขอขอบคุณ. ฉันดาวน์โหลดแพคเกจโดยใช้ Win Vista เป็นภาษาฝรั่งเศสและแม้แต่เรียกใช้ RegistryIndex.exe เนื่องจากผู้ดูแลระบบล้มเหลว (พูดว่า“ กรุณาเรียกใช้ในฐานะผู้ดูแลระบบ”) คุณมีความคิดว่าทำไมสิ่งนี้จึงล้มเหลว
เบอนัวต์

@Benoit: ฉันกำลังใช้รหัสจากไซต์ Microsoft สำหรับส่วนผู้ดูแลระบบ แต่ดูเหมือนว่าจะไม่ใช่รหัสสากล รหัสอื่น ๆ ทั้งหมดดูเป็นสากล ปัญหาคือมันค้นหากลุ่ม "ผู้ดูแล" เพื่อค้นหาสิทธิ์เนื่องจากกลุ่มนี้เรียกว่าแตกต่างกันในคอมพิวเตอร์ของคุณจึงล้มเหลว สิ่งนี้ได้รับการแก้ไขแล้วในขณะนี้new System.Security.Principal.SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, null).Translate(typeof(System.Security.Principal.NTAccount)).ToString().Split('\\').Last()เพื่อรับชื่อกลุ่ม
Tamara Wijsman

1
สวัสดีโครงการนี้ยังมีชีวิตอยู่หรือไม่? ฉันทำวิศวกรรมย้อนกลับจำนวนมากในครั้งที่แล้วและอาจมีประโยชน์มาก ลิงค์ใหม่ ๆ ?
Dmitry Gusarov

3

ดูRegScanner NirSoft ของ ไม่ใช่ตัวสร้างดัชนี แต่เป็นทางออกของการค้นหา RegEdit และจะเปิด RegEdit ให้คุณได้รับความนิยมที่เลือกรวมถึงคุณสมบัติที่ยอดเยี่ยมอื่น ๆ ลองใช้อย่างแน่นอนก่อนที่จะเริ่มโครงการพัฒนา (เว้นแต่คุณต้องการทำโครงการเพื่อทำ) - คุณอาจพบว่าคุณไม่ต้องการอะไรมากขึ้น


ดังที่ได้กล่าวไปแล้วในความคิดเห็น: มันเป็นเครื่องมือที่ดี แต่จะไม่สร้างดัชนีอะไรเลย
เบอนัวต์

และอย่างที่ฉันบอกไป แต่คำถามของคุณในประโยคแรกนั้นกล่าวถึงความเร็วที่ช้าของ RegEdit ไม่ใช่เทคนิคและเป็นเช่นนั้น RegScanner ตอบคำถามที่ค่อนข้างดี ฉันจะทิ้งคำแนะนำไว้สำหรับใครก็ตามที่อาจช่วยได้ในอนาคต
JRobert

เครื่องมือที่ดีมาก! +1
Piotr Dobrogost

1

คุณสามารถส่งออกรีจิสทรีไปยังไฟล์ข้อความ. reg และใช้โปรแกรมแก้ไขรายการโปรดของคุณเพื่อค้นหา


นี่เป็นความคิดที่ดี แต่อาจไม่ดีนักเนื่องจากไม่มีการจัดทำดัชนี
เบอนัวต์

โปรดทราบว่าแน่นอนว่าจากนั้นการแทรกไฟล์ reg ทั้งหมดในทางใดทางหนึ่งลงใน SQLite ด้วยการเปิดใช้งาน FTS3 หรือ FTS4 อาจเป็นวิธีที่ทำได้
เบอนัวต์

@Benoit: ที่จริงแล้วฉันเริ่มต้นด้วยการแจกแจงรีจิสตรีทั้งหมดไปยังไฟล์ข้อความธรรมดาในตอนแรกและการค้นหาด้วย Notepad ++ จริงๆแล้วมันเร็วด้วยตัวเอง ฉันใช้ Lucene.Net เพื่อจัดทำดัชนีตามที่เขียนไว้เป็นพิเศษสำหรับงานนั้นและไม่ต้องการให้ฉันสร้างโซลูชัน SQL แต่ยังรองรับคุณสมบัติการเน้น (สำหรับเครื่องมือค้นหา btw, SE ใช้ Lucene.net สำหรับเครื่องมือค้นหาที่นี่) ซึ่งฉันจะลองใส่อาจเป็นรุ่นที่ใหม่กว่า ฉันเดาว่าการจัดทำดัชนี / ผลลัพธ์ FTS ในผลการค้นหาขณะที่คุณพิมพ์แต่ยังไม่ได้ลอง ...
Tamara Wijsman
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.