Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Trang 1 của 3 123 CuốiCuối
Kết quả 1 đến 10 của 29
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    [ Solved ]Mổ xẻ mà nguồn Oph***** nào các pro

    Hiện tại mình đang nghiên cứu mã nguồn của Ophc r a c k(một chương trình dựa trên thuật toán rainbown-table để dò tìm mật khẩu của Windows OS).

    Mã:
    http://ophc r a c k.sourceforge.net/
    Tại đây các bạn có thể tải bộ nguồn của chương trình này. Nhưng hiện nay mình đăng gặp phải vấn đề là biên dịch chương trình: Không biên dịch chạy được.

    Bác nào Pro xin chỉ giáo, một vào chiêu.

    ______

    ophc r a c k = viết liền[IMG]images/smilies/21.gif[/IMG]

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cậu không có bản design của nó làm sao mà đọc cho nổi [IMG]images/smilies/wink.png[/IMG] ! Install cậu mò còn không ra thì cậu nên quên ý định hiểu mã nguồn nó đi !

  3. #3
    Ngày tham gia
    Sep 2015
    Đang ở
    Số 60 Thái Hà, Đống Đa, Hà Nội
    Bài viết
    0
    Thế mình mới phải nhờ các bạn trên này. Không ai tự nhiên mà biết được mà. Mong các bạn giúp đỡ.

    Source của nó

    Mã:
    http://www.mediafire.com/?zwzn4mnnhv1

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Vậy cậu học C/C++ được bao lâu rồi ?

  5. #5
    Ngày tham gia
    Sep 2015
    Đang ở
    Số 60 Thái Hà, Đống Đa, Hà Nội
    Bài viết
    0
    Trước đây 3 năm mình có học qua. Nhưng nói thật là không "sâu" nên giờ chỉ biết "qua qua". Mong các bạn giúp thui.

    Có thể mình hỏi nhưng cái cơ bản, hay "gà" thì các bạn bỏ quá, và giúp mình. ~_~"

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bạn thử dùng trình biên dịch MinGW xem, nó là trình biên dịch của Linux chạy trên win đó.

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    - Vấn đề cậu phải hiểu là C/C++ là ngôn ngữ khó, ( đặc biệt là C++ ). Những người lập trình 2-3 năm hầu hết sẽ rất thành thạo với cách đọc documentation và biết cách thế nào để install với goolge là người bạn đồng hành. Tui down code về thì tui cũng chẳng hiểu cái gì hết ngoại trừ tui biết nó được viết hầu hết là bằng C. Cách đặt câu hỏi của cậu đủ cho tui biết cậu chỉ mới học sơ qua C/C++ vì lý do đó tui mới nói cậu hãy bỏ ý định này đi vì nó không phải là chuyện đơn giản nếu cậu không có bản design hay ý tưởng của chủ nhân nó. Và dù nếu tui bị đưa vào tình huống có 1 project bắt tui phải hiểu code tui cũng không biết bao lâu tui sẽ hoàn thành nó vì đọc source của 1 project lớn là cả 1 vấn đề chứ không phải chuyện chơi.
    - Và một câu tui muốn hỏi cậu là cậu cần tìm hiểu cái này làm gì ? Có rất nhiều intermidiate project cho cậu tìm hiểu ví dụ game chẳng hạn [IMG]images/smilies/wink.png[/IMG] ! Vì dù có ai giải thích hết cho cậu tui nghĩ cũng rất khó để cậu tiếp thu hết.
    - Tui nói thế không phải chê cậu mà chỉ cho cậu hiểu cách học và tìm hiểu cái đúng với trình độ với mình mà thôi, với lại tui nghĩ chẳng có ai ở đây đủ thời gian để ngồi giải thích hết cho cậu. Nếu muốn thực sự bắt đầu với nó, ít nhất cậu phải chạy được 1/4 quãng đường trước khi hỏi rồi cậu à.

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    theo mình nggix các bác không cần phải quan tâm đến toàn bộ project đâu,điều mà chúng ta quan tâm là người ta đã cài đặt thuật toán đó như thế nào và cách mà người ta đã thâm nhập được vào file SAM của windows,mình nghĩ chỉ dò theo tên của mỗi file chắc là sẽ tìm được 2 module đó

    còn đây là hướng dẫn trên mạng mình đọc được

    cách windows lưu password :

    Password được windows lưu giữ và bảo vệ với bảng hash, việc lưu trữ này được thực hiện bằng cách dùng các phương trình một chiều để tính toán và chuỗi hash cho từng password mà người dùng windows nhập vào. Do việc sử dụng những hàm một chiều cho nên việc tính ngược từ chuỗi hash để có thể lấy được password là không thể. Ví dụ với password là : “Sommer1968” thì chuỗi hash của nó sẽ là : “b2a024a4c6b13672e3517200d4b26a68”. Windows sẽ lưu những chuỗi hash cho từng người sử dụng máy trong file SAM dưới đường dẫn : %windir%\system32\config. Khi người sử dụng nhập vào password thì chuỗi hash sẽ được tính toán và được so sánh với chuỗi hash được lưu trong file SAM, nếu không giống nhau thì người dùng sẽ không thể đăng nhập vào windows được biggrin.gif.

    2.Kiểu truyền thống để ***** password :

    Cho đến nay, những chương trình dùng để phá password đều làm việc với phương thức là tìm và thử tất cả các khả năng có thể có. Chương trình sẽ tìm đầu tiên chẳng hạn với 1 chữ cái và rồi 2 chữ cái … và tính chuỗi hash cho nó rồi so sánh cho đến khi nào hai chuỗi bằng nhau thì thành công. Kiểu làm việc này gọi là brute force attack biggrin.gif. Trong quá trình làm việc này thì việc chiếm nhiều thời gian nhất là việc tính toán từ password để thu được chuỗi hash là chiếm nhiều thời gian nhất và chương trình phải làm việc và tính toán cho từng password. Với một password rắc rối với độ dài là 8 ký tự thì việc brute force này có thể kéo dài tận 1 năm rưỡi wink.gif - - - > password càng dài thì sẽ càng chắc chắn wink.gif.

    3.Phương thức mới để ***** password :

    Chuyên gia về mã hóa Martin Hellman đã suy nghĩ từ năm 1980 về một phương thức nhanh hơn để có thể giải mã password và đã phát triển phương thức “Time-Memory-Trade-off” (xin lỗi không biết tiếng Việt là gì wink.gif). Ý tưởng : thay vì mỗi lần lần nữa tính toán lại tất cả các khả năng thì người ta nên tính toán trước tất cả các chuỗi hash cho tất cả các password có thể và lưu lại đâu đó. Sau đó, chỉ cần từ chuỗi hash trong hệ thống, so sánh với các chuỗi hash đã tính và lôi ra password thực của chuỗi đó. Như vậy, các password sẽ dễ dàng được tìm kiếm như việc bạn giở một cuốn telephone book ra vậy wink.gif. Tất nhiên có cái lợi thì cũng phải có cái bất cập là nếu bạn muốn tìm những password có độ dài lớn thì cái “telephone book” của bạn sẽ có độ dài đến hàng Terabyte wink.gif.

    4. Rainbow tables: Bảng hash đã được tính toán :

    Phương thức “Time-Memory Trade-off” có nhiệm vụ là làm cho cái “password-telephone book” nhỏ lại, một sự tổng hợp (Trade-off) từ thời gian cần có cho việc giải mã (Time) và dung lượng bộ nhớ cần có (Memory) cho tệp tin. Mọi thứ hoạt động dựa trên một công thức thông minh cho phép người dùng lưu lại password và chuỗi hash của nó vào một bảng nhỏ. Gần 20 năm sau Hellman, Phillippe Oechslin đã cải tiến và hoàn thiện phương thức này, kiểu mới của bảng mã được ông đặt tên là Rainbow Table. Ở đây, những công thức toán học sẽ không được giải thích và nêu lên nhưng nguyên tắc chung là như sau :
    Người ta chọn một password và tạo ra từ đó một chuỗi hash, chuỗi hash này sẽ được thông qua một công thức và được rút gọn. Chuỗi hash được rút gọn này sẽ tạo ra một password mới, và người ta sẽ tính từ đó ra một chuỗi hash khác, cứ như vậy, người ta sẽ tạo ra một chuỗi hàng nghìn lần rút gọn.
    Càng lúc càng nhỏ : Từ mỗi chuỗi người ta loại bỏ hết tất cả các giá trị trừ giá trị đầu và giá trị cuối và sau đó lưu vào một bảng. Việc làm này làm cho độ lớn của “password telephone book” nhỏ đi trông thấy. Khi tìm kiếm một password, người ta lại sử dụng chính cái chuỗi của sự rút gọn đó, mỗi lần rút gọn thì giá trị của chuỗi hash sẽ được so sánh lại, nếu phù hợp thì password sẽ “có thể “ nằm trong chuỗi rút gọn đó.
    Tìm kiếm trong một chuỗi : Từ một giá trị hash, người ta không thể tính ngược lại được. Giống như vậy thì người ta cũng không thể đi ngược lại chuỗi của các sự rút gọn. Nhưng người ta có thể “nhảy” đến đầu của chuỗi rút gọn và tính được giá trị password thực của chuỗi đó.

    5. Oph***** có thẻ chỉ ra sự không an toàn của windows password :

    Chương trình tiếng Anh Oph***** có thể ***** password của windows trong vài giây. Philippe Oechslin đã phát triển chương trình này, để chứng minh khả năng của bộ Rainbow Table của ông

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Quả thực là đọc được hết cả 1 project này không phải là ngày một ngày hai là đọc hết được. Nếu mà đọc để hiểu ý tưởng của nó thôi cũng là một điều khó khăn và đòi hỏi nhiều thời gian rồi chưa nói đến là hiểu được code của nó được hoạt động như thế nào nữa???

    Với những thông tin như Coder_gate đưa thì chúng ta có thể thu hẹp nó lại còn từ 2 - 4 Module để mà đọc nó và hiểu nó. Nhưng để hiểu được 2-4 Module này có khả năng rất cao là chúng ta phải đọc hết cả thư mục src vì ít nhiều nó đều có liên quan tới nhau .

    zkday mới chỉ xem qua nó thôi mà đã chóng mặt với đống code này rồi ^-^.

    @coder_gate: chia vui vơi coder_gate vì đã thi xong. Phải tự tin với bài làm của mình chứ nhỉ [IMG]images/smilies/wink.png[/IMG] (tất nhiên là trừ môn triết học [IMG]images/smilies/biggrin.png[/IMG])

  10. #10
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cảm ơn các bác.

    Có lẽ giờ mình chỉ hỏi một câu thui. Có lẽ hợp lý hơn cả, còn mình đồng ý với các bạn là để nghiên cứu thấu đáo một opensource như ophc r a c k thì quả thật là khó. Việc bàn luận về code mình xin không hỏi nữa. Vì với trình độ mình thì chắc hẳn còn khó gấp vạn lần để "hiểu" nó.

    Câu hỏi mình muốn đưa ra thế này thôi: Compile nó để "run" được ntn ?

    Câu hỏi không biết là quá khó không ? vì mình cũng đã thử. Với opensource này nó sẽ "make" trên linux (người viết code khuyến cáo)

    Vây: (How To Compile Linux Codes On Windows)

    - Compile nó trên Linux ?
    - Hay sử dụng một chương trình compile giả lập Linux chạy trên Windows ? Chương trình gì ? Chạy thế nào ? Nếu được xin các bạn chỉ dạy chi tiết dùm. Và compile thành công xin để lại "lời nhắn"

    Mình tin rằng việc compile là sẽ thành công, nhưng do chưa nhiều người làm nên kinh nghiệm có thể ở đây nhiều người chưa có. Hãy làm để chúng ta có thêm một kinh nghiệm compile một open source.

    Xin cảm ơn,

    ___
    Mình đã dùng cygwin để complie nhưng nó chưa được

 

 
Trang 1 của 3 123 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •