<![CDATA[Latest posts for the topic "Các anh cho em hỏi hướng giải quyết cái này"]]>
/hvaonline/posts/list/36.html
JForum - http://www.jforum.netCác anh cho em hỏi hướng giải quyết cái này/hvaonline/posts/list/42426.html#263945
/hvaonline/posts/list/42426.html#263945
GMTCác anh cho em hỏi hướng giải quyết cái này/hvaonline/posts/list/42426.html#263946
/hvaonline/posts/list/42426.html#263946
GMTCác anh cho em hỏi hướng giải quyết cái nàyNên học để hiểu 1 chút về HDH Windows, tìm hiểu các ngôn ngữ lập trình, các IDE dùng để code.
Phân biệt được thế nào gọi là pack, thế nào là compiler - Để biết làm sao để có được cái file thực thi (PE file) trước đã.
Pack là làm gì ? Unpack là gì ? tại sao phải làm như thế.
Với nhiêu keyword đó mình nghĩ "tìm hiểu" cũng mất thời gian khá lâu rồi.
Chứ với lượng kiến thức thế này thì chỉ dẫn cái gì ?]]>/hvaonline/posts/list/42426.html#263950
/hvaonline/posts/list/42426.html#263950
GMTCác anh cho em hỏi hướng giải quyết cái này
quygia128 wrote:
Chứ với lượng kiến thức thế này thì chỉ dẫn cái gì ?
Chỉ cho cậu ấy mấy cái auto ấy :").]]>/hvaonline/posts/list/42426.html#263986
/hvaonline/posts/list/42426.html#263986
GMTCác anh cho em hỏi hướng giải quyết cái này
mithacodon wrote:
Chào tất cả các anh chị em trong HVA,
Các anh chị cho em hỏi cái này. Em có 1 phần mềm khi sử dụng ExeInfo để xem thì thấy nó pack bằng (E8) Microsoft Visual C++ 9.0 - Visual Studio 2008, sử dụng PEiD thì ko xác định được, sử dụng PE_Detective thì thấy nó pack bằng Microsoft Visual C++ 8 vậy các anh cho em hỏi chương trình này pack bằng cái gì và xin các anh cho em hướng unpack cái chương trình này luôn. À em còn rất gà về crack nên mong các anh hướng dẫn đầy đủ và dễ hiểu giúp em. Em xin chân thành cảm ơn các anh chị đã đọc bài này!
Cách giải quyết là.... không gì cả, phần mềm này không bị pack.
Chắc lần đầu mới làm quen nên mới nhầm lẫn như thế :D Bạn cứ học hỏi từ từ, không biết nó là gì thì search "Microsoft Visual C++ 8" như lời bạn quygia128
Thân,]]>/hvaonline/posts/list/42426.html#264030
/hvaonline/posts/list/42426.html#264030
GMTCác anh cho em hỏi hướng giải quyết cái này/hvaonline/posts/list/42426.html#264351
/hvaonline/posts/list/42426.html#264351
GMTCác anh cho em hỏi hướng giải quyết cái này
xwhitelight wrote:
Crack ko đòi hỏi một trình độ lập trình chuyên nghiệp, tuy nhiên ko biết một chút gì, đặc biệt lại là C++ nữa thì đừng hòng crack.
^^! Cậu em nhầm đôi chổ rồi.
Thực ra đân RCE biết Assembly nhiều thì dễ nắm bắt các vấn đề hơn liên quan tới RCE hơn. Lập trình dĩ nhiên biết càng nhiều càng tốt nhưng nếu nói như em có đôi chổ chưa thoả đáng lắm, có nhiều cách phân biệt ngôn ngử lập trình dưới đây là cách phân biệt thông qua compiler và cách thực thi của nó.
1. Lập trình sử dụng framework (kết quả là file executable "không hoàn toàn", bản thân nó lệ thuộc vào framework, mọi quá trình tương tác tới các layer thâp hơn đều gián tiếp qua framewok).
+ Java
+ C#/VB.NET
2. Lập trình tạo ra executable binary (ứng dụng stand alone không phải dựa vào framework nào).
+ C/C++
+ Assembly
+ FreeBasic
+ Pascal
+ Delphi
3. Các ngôn ngử kịch bản (script language, chúng giống với framework nhưng không biên dịch mã nguồn hay đóng gói các data để tạo ra một file executable mà chúng là các file text và được thực thi thông qua một chương trình khác).
+ PHP
+ Python
+ Perl
Đấy chỉ là cách chia nôm na như thế nhưng mong rằng cậu em hiểu nó vì nói C++ là chưa đủ, mà phải nói là nhóm ngôn ngử tạo ra "executable thực sự" [2]. Nói thêm là RCE bản thân nó không chỉ giới hạn ở [2] tuỳ mục đích và yêu cầu nữa nhưng theo những gì em viết thì nó liên quan tới [2].
P/S: trong một số trường hợp thì compiler của hãng lại cho một kết quả khác nhau :D, cái này cần có thời gian tìm hiểu nhiều. Phải nói là số lượng compiler nhiều hơn những ngôn ngử lập trình rất nhiều, lên wiki thảy lên "compiler list" rồi thoả sức mà khám & phá.]]>/hvaonline/posts/list/42426.html#264355
/hvaonline/posts/list/42426.html#264355
GMTCác anh cho em hỏi hướng giải quyết cái này/hvaonline/posts/list/42426.html#264407
/hvaonline/posts/list/42426.html#264407
GMTCác anh cho em hỏi hướng giải quyết cái này/hvaonline/posts/list/42426.html#264412
/hvaonline/posts/list/42426.html#264412
GMTCác anh cho em hỏi hướng giải quyết cái này
chiro8x wrote:
Còn chuyện em nói về thuật toán tạo keygen thì không hẳn người viết keygen cần phải lập trình để mô phỏng lại toàn bộ quá trình tạo key, mà họ có thể sử đoạn mã tạo key sẳn có để sinh key.
cái này chỉ áp dụng với trường hợp nó sinh key rồi đem so sánh với chuỗi nhập vào thôi bác :D em thấy phần lớn nó lấy chuỗi nhập vào đem tính toán rồi đưa ra quyết định nên mình không biết thuật toán của nó thì không làm ăn được.
ví dụ đơn giản nhất là nó lấy tổng mã ascii rồi so sánh với 1 hằng số chẳng hạn. ]]>/hvaonline/posts/list/42426.html#264413
/hvaonline/posts/list/42426.html#264413
GMTCác anh cho em hỏi hướng giải quyết cái này/hvaonline/posts/list/42426.html#264415
/hvaonline/posts/list/42426.html#264415
GMTCác anh cho em hỏi hướng giải quyết cái này/hvaonline/posts/list/42426.html#264418
/hvaonline/posts/list/42426.html#264418
GMTCác anh cho em hỏi hướng giải quyết cái này/hvaonline/posts/list/42426.html#264421
/hvaonline/posts/list/42426.html#264421
GMTCác anh cho em hỏi hướng giải quyết cái này
n2tforever wrote:
em thấy phần lớn nó lấy chuỗi nhập vào đem tính toán rồi đưa ra quyết định nên mình không biết thuật toán của nó thì không làm ăn được.
Đoạn này thì bạn phải thừa nhận rằng dù sinh key rồi so sánh, hay nhập chuổi rồi tính toán thì trong đó đều chứa mã sinh key từ argument bạn đưa vào. Không nhất thiết phải viết lại nó bằng C hay ASM, nếu việc debug thuận lợi bạn có thể bê nó ra còn nhìn vào mã Assembly mà nói ra ngay thuật toán thì em phục thật. Chương trình sau khi viết đó là kết quả vận dụng của thuật toán, sau khi compiler thì nó kết quả của compiler. Ngoài thuật toán chúng ta đưa vào ban đầu thì còn có rất nhiều mã do compiler sinh ra. Chưa kể đến obfuscate ! mình chưa đủ tuổi nhìn vào mã assembly nói thuật toán đâu.
n2tforever wrote:
cậu xwl theo ý em hiểu thì cậu ây bảo C++ hay C nó rất gần với asm nên cần học thôi :) còn ý trên của bác em cũng công nhận
PS: hôm nay ngày nghỉ bác làm gì mà dậy sớm thế
Ưm ! tối nhậu xỉn xong ngủ sớm giờ thức dậy ngồi chơi game :).]]>/hvaonline/posts/list/42426.html#264422
/hvaonline/posts/list/42426.html#264422
GMTCác anh cho em hỏi hướng giải quyết cái này
quygia128 wrote:
Bác Chiro8x nói nghe có vẻ đơn giản quá hà. Lão có thể xem coi hiện tại có bao nhiêu Team có thể keygen nổi thằng Winrar mà lão đang dùng hàng ngày ấy.
Tớ không dùng những sãn phẩm như thế này bồ à ! tớ sử dụng 7zip, các sản phẩm tớ dùng phần lớn phân phối theo giấy phép của GNU.]]>/hvaonline/posts/list/42426.html#264434
/hvaonline/posts/list/42426.html#264434
GMTCác anh cho em hỏi hướng giải quyết cái này/hvaonline/posts/list/42426.html#264435
/hvaonline/posts/list/42426.html#264435
GMTCác anh cho em hỏi hướng giải quyết cái này
idid231 wrote:
Những khoá học sử dụng debugger/disassembler, hay nghiên cứu virus đều phải trả phí chứ không public như crack. Các bác trong nghề giải thích giùm em tại sao lại có sự khác biệt này vậy?
Mình không làm về phân tích virus, cũng không làm RCE, nhưng theo như ý kiến riêng của mình thì:
Thứ nhất: Nói về công cụ, tất cả các công cụ dùng để Debug và Disassembler đều là các công cụ chuyên dụng và được thiết kế riêng cho một nhu cầu nào đó trong lĩnh vực RCE, vì vậy việc tìm hiểu và sử dụng công cụ thành thạo không thể chỉ là một sớm một chiều, cần phải đào sâu nghiên cứu, cũng như phải có thời gian luyện tập nhiều mới có thể sử dụng tốt được các công cụ này. Đặc biệt, một số công cụ có giá rất cao và không được public rộng rãi (như IDA chẳng hạn) thì không thể những người bình thường có thể tải về để sử dụng được.
Thứ hai: Việc phân tích Virus và hiểu được cơ chế cũng như cách thức hoạt động của nó, yêu cầu người làm việc phải có mức độ am hiểu và nghiên cứu về Coding, hệ thống, cơ chế hoạt động, cũng như các thành phần tương tác khác nhau của môi trường mà Virus lây lan, vì vậy việc phân tích virus khác xa với việc Cracking, việc Cracking chỉ là việc phá bỏ lớp bảo vệ của phần mềm, và điều hướng nó hoạt động theo ý của người Crack, trong khi RCE là việc hiểu được kiến trúc và kỹ thuật của chương trình. Những người này chắc chắn phải được đào tạo một cách bài bản, hoặc là tự đào tạo một cách có kỷ luật, thì mới có thể làm được.
Từ hai ý kiến trên, mình thấy là người làm về RCE đều phải được qua đào tạo, và phải là một chuyên gia trong lĩnh vực mà họ được đào tạo, vì vậy, không lý gì các kỹ thuật đó lại được public rộng rãi ra mà không có thu phí hết :) ]]>/hvaonline/posts/list/42426.html#264440
/hvaonline/posts/list/42426.html#264440
GMTCác anh cho em hỏi hướng giải quyết cái này
idid231 wrote:
Lâu mới thấy có topic thảo luận RCE...dù là lạc đề =,=
Em xin mạn phép không bàn về việc cracker có cần biết lập trình hay không.
Reverser mới là người cần đào tạo, thế mà các forum lại post tutorial về crack nhiều hơn là tut về virus (tạm gọi chung sâu, mèo què, vi rút là một) việc nghiên cứu 1 con virus cũng hay ho không kém gì crack, bởi nó gồm unpacking, decrypting, đương nhiên, về cơ bản là khó hơn crack. Những khoá học sử dụng debugger/disassembler, hay nghiên cứu virus đều phải trả phí chứ không public như crack. Các bác trong nghề giải thích giùm em tại sao lại có sự khác biệt này vậy?
Không có sự khác biệt nào trong việc RCE virus hay ứng dụng, điều khác ở đây là virus thường được mã hoá và pack tuỳ theo từng người lập trình ra nó chọn lựa phương pháp mã hoá là gì (thường ít thấy ai viết virus mà dùng packer đã được biết nhiều cả). Để RCE virus thì phải hiểu virus là gì cái đã.]]>/hvaonline/posts/list/42426.html#264442
/hvaonline/posts/list/42426.html#264442
GMTCác anh cho em hỏi hướng giải quyết cái này
chiro8x wrote:
Đoạn này thì bạn phải thừa nhận rằng dù sinh key rồi so sánh, hay nhập chuổi rồi tính toán thì trong đó đều chứa mã sinh key từ argument bạn đưa vào. Không nhất thiết phải viết lại nó bằng C hay ASM, nếu việc debug thuận lợi bạn có thể bê nó ra còn nhìn vào mã Assembly mà nói ra ngay thuật toán thì em phục thật. Chương trình sau khi viết đó là kết quả vận dụng của thuật toán, sau khi compiler thì nó kết quả của compiler. Ngoài thuật toán chúng ta đưa vào ban đầu thì còn có rất nhiều mã do compiler sinh ra. Chưa kể đến obfuscate ! mình chưa đủ tuổi nhìn vào mã assembly nói thuật toán đâu.
đoạn này quả thực vẫn chưa hiểu ý bác lắm. theo như cách bác trình bày thì là fishing serial nhưng nếu nó không sinh ra serial để mà so sánh thì bác làm sao mà tóm được nó? giả dụ nhập vào username và key, sau đó nó thực hiện:
x1=f1(username);
x2=f2(key);
x3=f3(x1,x2);
nếu f3==true =>OK
ngược lại => FAILED
như vậy nếu bác không RE xem các hàm f1,f2,f3 nó làm công việc gì thì làm sao đảo ngược lại để keygen được?]]>/hvaonline/posts/list/42426.html#264443
/hvaonline/posts/list/42426.html#264443
GMTCác anh cho em hỏi hướng giải quyết cái này/hvaonline/posts/list/42426.html#264446
/hvaonline/posts/list/42426.html#264446
GMTCác anh cho em hỏi hướng giải quyết cái này/hvaonline/posts/list/42426.html#264448
/hvaonline/posts/list/42426.html#264448
GMTCác anh cho em hỏi hướng giải quyết cái này/hvaonline/posts/list/42426.html#264449
/hvaonline/posts/list/42426.html#264449
GMTCác anh cho em hỏi hướng giải quyết cái này
n2tforever wrote:
không ý em là f1 làm nhiệm vụ biến đổi username thành 1 giá trị x1, f2 biến đổi key nhập vào thành giá trị x2 sau đó mới dùng 1 hàm f3 để xác thực quan hệ giữa x1 và x2 xem có phù hợp không (trường hợp đơn giản nhất là x1 có bằng x2 không).
như vậy dựa vào quan hệ x1 phải bằng x2 bác có thể tận dụng hàm f1 để tính x1 từ đó suy ra được x2, nhưng vấn đề là tìm hàm f2' ngược của f2 để chuyển từ x2 thành key. nếu không biết cụ thể f2 nó làm gì thì làm sao tìm được f2' :)
Okay tớ hiểu ý cậu rồi ! nhưng bạn có nghĩ về việc f2 là hàm một cửa chưa ?.]]>/hvaonline/posts/list/42426.html#264453
/hvaonline/posts/list/42426.html#264453
GMTCác anh cho em hỏi hướng giải quyết cái này
chiro8x wrote:
n2tforever wrote:
không ý em là f1 làm nhiệm vụ biến đổi username thành 1 giá trị x1, f2 biến đổi key nhập vào thành giá trị x2 sau đó mới dùng 1 hàm f3 để xác thực quan hệ giữa x1 và x2 xem có phù hợp không (trường hợp đơn giản nhất là x1 có bằng x2 không).
như vậy dựa vào quan hệ x1 phải bằng x2 bác có thể tận dụng hàm f1 để tính x1 từ đó suy ra được x2, nhưng vấn đề là tìm hàm f2' ngược của f2 để chuyển từ x2 thành key. nếu không biết cụ thể f2 nó làm gì thì làm sao tìm được f2' :)
Okay tớ hiểu ý cậu rồi ! nhưng bạn có nghĩ về việc f2 là hàm một cửa chưa ?.
Trường hợp này chắc chắn phải patch, hoặc brute force!]]>/hvaonline/posts/list/42426.html#264456
/hvaonline/posts/list/42426.html#264456
GMTCác anh cho em hỏi hướng giải quyết cái này
TQN wrote:
Để làm gì, phân tích, tái tạo lại source code ban đầu của nó, cho mày open source luôn đi, giấu làm gì !
Thế này là ăn cắp bản quyền hả bác? Mình RCE để xem code có gì hay rồi lắp qua phần mềm của mình, biến một close source thành open source :D
TQN wrote:
Còn cờ rắc, tui không bàn. Chỉ cần một vài cậu biết xài OllyDbg nhuần nhuyễn là cờ rắc được rồi. Chứ thực ra, hiểu quái gì thằng coder nó code đâu ?
Em tưởng keygening thì phải biết thuật toán thằng coder nó viết mới keygen đc? Em nghĩ trong crack thì hiểu đc thuật toán là ok chứ thằng coder nó code gì quan tâm làm chi :D]]>/hvaonline/posts/list/42426.html#264477
/hvaonline/posts/list/42426.html#264477
GMTCác anh cho em hỏi hướng giải quyết cái này
idid231 wrote:
TQN wrote:
Để làm gì, phân tích, tái tạo lại source code ban đầu của nó, cho mày open source luôn đi, giấu làm gì !
Thế này là ăn cắp bản quyền hả bác? Mình RCE để xem code có gì hay rồi lắp qua phần mềm của mình, biến một close source thành open source :D
TQN wrote:
Còn cờ rắc, tui không bàn. Chỉ cần một vài cậu biết xài OllyDbg nhuần nhuyễn là cờ rắc được rồi. Chứ thực ra, hiểu quái gì thằng coder nó code đâu ?
Em tưởng keygening thì phải biết thuật toán thằng coder nó viết mới keygen đc? Em nghĩ trong crack thì hiểu đc thuật toán là ok chứ thằng coder nó code gì quan tâm làm chi :D
Con lạy thánh sống ! nhìn code được obfuscate sau khi mở bằng ollydbg ra thánh kể cho con các thuật toán mà nó dùng thì con lạy lia lịa.
"Mình RCE để xem code có gì hay rồi lắp qua phần mềm của mình, biến một close source thành open source" => Lắp thế nào đây bạn ?.]]>/hvaonline/posts/list/42426.html#264479
/hvaonline/posts/list/42426.html#264479
GMTCác anh cho em hỏi hướng giải quyết cái này
chiro8x wrote:
Okay tớ hiểu ý cậu rồi ! nhưng bạn có nghĩ về việc f2 là hàm một cửa chưa ?.
khi đăng kí thì mình cung cấp username cho thằng tác giả và nó đưa lại key cho mình mà. điều đó chứng tỏ có thể tìm key từ x2 do vậy f2 không thể là hàm hash được. em nghĩ vậy không biết đúng khong? :)]]>/hvaonline/posts/list/42426.html#264518
/hvaonline/posts/list/42426.html#264518
GMTCác anh cho em hỏi hướng giải quyết cái này/hvaonline/posts/list/42426.html#264520
/hvaonline/posts/list/42426.html#264520
GMTCác anh cho em hỏi hướng giải quyết cái này
chiro8x wrote:
Hì hì ! cái ý tưởng lúc đầu của bồ, tính tổng tất cả mã Ascii các kí tự trong chuổi của bồ là một hàm một cửa đấy ;).
Bạn í chỉ lấy nhầm ví dụ thui mà. :D
Lúc này để cung cấp serial cho khách, công ty cần brute force. Nhưng chẳng ai dùng hàm này đâu.:D]]>/hvaonline/posts/list/42426.html#264542
/hvaonline/posts/list/42426.html#264542
GMTCác anh cho em hỏi hướng giải quyết cái này
chiro8x wrote:
idid231 wrote:
TQN wrote:
Để làm gì, phân tích, tái tạo lại source code ban đầu của nó, cho mày open source luôn đi, giấu làm gì !
Thế này là ăn cắp bản quyền hả bác? Mình RCE để xem code có gì hay rồi lắp qua phần mềm của mình, biến một close source thành open source :D
TQN wrote:
Còn cờ rắc, tui không bàn. Chỉ cần một vài cậu biết xài OllyDbg nhuần nhuyễn là cờ rắc được rồi. Chứ thực ra, hiểu quái gì thằng coder nó code đâu ?
Em tưởng keygening thì phải biết thuật toán thằng coder nó viết mới keygen đc? Em nghĩ trong crack thì hiểu đc thuật toán là ok chứ thằng coder nó code gì quan tâm làm chi :D
Con lạy thánh sống ! nhìn code được obfuscate sau khi mở bằng ollydbg ra thánh kể cho con các thuật toán mà nó dùng thì con lạy lia lịa.
"Mình RCE để xem code có gì hay rồi lắp qua phần mềm của mình, biến một close source thành open source" => Lắp thế nào đây bạn ?.
Nói như bác thì em cũng thua, toàn bổ vào mặt người khác. Obfuscate thì có deofuscator, cũng có thể là không thể deofuscate đc, trường hợp này thì keygen theo kiểu RIP Code, hoặc k thể keygen, mà thế chả có gì hay ho để nói :|
Theo như em hiểu ý của bác TQN là " tái tạo lại source code ban đầu của nó", tức là mình hiểu đc code của nó rồi, thấy cái đoạn function hay library nào hay thì đem qua ghép vô code của mình, bác hỏi "lắp thế nào" ý là sao? Em chưa hiểu.]]>/hvaonline/posts/list/42426.html#264557
/hvaonline/posts/list/42426.html#264557
GMTCác anh cho em hỏi hướng giải quyết cái này
idid231 wrote:
Theo như em hiểu ý của bác TQN là " tái tạo lại source code ban đầu của nó", tức là mình hiểu đc code của nó rồi, thấy cái đoạn function hay library nào hay thì đem qua ghép vô code của mình, bác hỏi "lắp thế nào" ý là sao? Em chưa hiểu.
Bạn nói " tái tạo lại source code ban đầu của nó", tôi biết việc này khả thi, thậm chí có chương trình để thực hiện nó. Nhưng khi bạn bê hàng của người khác, bạn phải hiểu sự liên kết giữa món hàng bạn định bê đi với chương trình.
Quá trình phân tích và viết "mã tương đương" (đây là cách nói tôi dùng thay cho cái mà bạn gọi là "mã ban đầu") nó có thể đạt được ở một phạm vi nhỏ, với chương trình lớn việc đầu tư cho RCE tốn kém hơn việc viết mới một module, library, cùng chức năng.]]>/hvaonline/posts/list/42426.html#264576
/hvaonline/posts/list/42426.html#264576
GMTCác anh cho em hỏi hướng giải quyết cái này/hvaonline/posts/list/42426.html#264604
/hvaonline/posts/list/42426.html#264604
GMTCác anh cho em hỏi hướng giải quyết cái này/hvaonline/posts/list/42426.html#264651
/hvaonline/posts/list/42426.html#264651
GMTCác anh cho em hỏi hướng giải quyết cái này/hvaonline/posts/list/42426.html#265209
/hvaonline/posts/list/42426.html#265209
GMT