[Guidance] Vấn đề reverser .NET và Dotfucate |
06/12/2011 21:34:23 (+0700) | #1 | 250751 |
wkiamiuemth
Member
|
0 |
|
|
Joined: 13/11/2010 13:44:55
Messages: 17
Offline
|
|
Hiện nay các phần mềm .NET trên thị trường đang chiếm ưu thế lớn, vì thế nên các cách bảo vệ mã nguồn cũng trở nên phong phú và bảo mật hơn. Tôi đã đọc qua loạt TUT về reverser .NET của anh RongChauA(trong loạt TUT này thì đều là những CrackMe hay một vài phần mềm không bị Dotfucate), nhưng một phần mềm nếu bị Dotfucate với các tên function và tên biến bị thay đổi (tôi đã thử dịch một vài phần mềm thì thấy tên hàm và biến toàn hình vuông), như thế, liệu các cracker có bó tay trước điều đó không?vì một phần mềm lớn thì các function và các class là rất nhiều, không thể phán đoán theo kiểu mò mẫm được. Vậy các bạn có ý kiến gì chia sẻ ko. rất mong được anh em chỉ bảo. |
|
|
|
|
[Guidance] Vấn đề reverser .NET và Dotfucate |
08/12/2011 22:29:37 (+0700) | #2 | 250861 |
|
khigiadano
Member
|
0 |
|
|
Joined: 27/02/2008 18:20:56
Messages: 370
Location: http://aspx.vn
Offline
|
|
Mình hỏi ngu tí.
Mình hay dùng chức năng public của Visual Studio để đóng gói thành các file .DLL
Mình làm như vậy vẫn có thể bị kẻ xấu dịch ngược ra để xem mã nguồn của mình được hả bạn ? |
|
Yahoo ID: khigiadano - Tel: 0907.870.676 - Email: khigiadano@gmail.com
Mình rất kém, vào đây học hỏi kinh nghiệm thôi... |
|
|
|
[Guidance] Vấn đề reverser .NET và Dotfucate |
08/12/2011 23:07:20 (+0700) | #3 | 250863 |
phanledaivuong
Member
|
0 |
|
|
Joined: 23/05/2008 17:34:21
Messages: 315
Location: /dev/null
Offline
|
|
khigiadano wrote:
Mình hỏi ngu tí.
Mình hay dùng chức năng public của Visual Studio để đóng gói thành các file .DLL
Mình làm như vậy vẫn có thể bị kẻ xấu dịch ngược ra để xem mã nguồn của mình được hả bạn ?
Bị dịch ngược, download .NET Reflector về dùng thử |
|
|
|
|
[Guidance] Vấn đề reverser .NET và Dotfucate |
08/12/2011 23:09:26 (+0700) | #4 | 250864 |
|
chube
Member
|
0 |
|
|
Joined: 22/10/2010 02:34:04
Messages: 105
Location: ░░▒▒▓▓██
Offline
|
|
- chào bạn, bạn nên đọc thêm các tài liệu về reverse trên nền dotNet ở các diễn đàn thế giới, obfus thì có de-obfus, và để de-obfus được thì bạn phải hiểu được cấu trúc pe trên nền dotnet, il code, opcode table, có thể trace hoặc dump memory từ ram bằng các tool được public như dotnet tracer, generic unpacker, hay Xecostring (của anh rong).... try à còn việc obfucas không làm bó tay ấy anh reverser đâu à nha hihi |
|
.-/ / )
|/ / /
/.' /
// .---.
/ .--._\ Awesome Season to hack :') Dont you think so? xD
/ `--' /
/ .---'
/ .'
/ |
|
|
|
[Guidance] Vấn đề reverser .NET và Dotfucate |
09/12/2011 20:05:08 (+0700) | #5 | 250899 |
wkiamiuemth
Member
|
0 |
|
|
Joined: 13/11/2010 13:44:55
Messages: 17
Offline
|
|
chube wrote:
- chào bạn, bạn nên đọc thêm các tài liệu về reverse trên nền dotNet ở các diễn đàn thế giới, obfus thì có de-obfus, và để de-obfus được thì bạn phải hiểu được cấu trúc pe trên nền dotnet, il code, opcode table, có thể trace hoặc dump memory từ ram bằng các tool được public như dotnet tracer, generic unpacker, hay Xecostring (của anh rong).... try à còn việc obfucas không làm bó tay ấy anh reverser đâu à nha hihi
Cảm ơn bạn đã gợi ý. Nhưng trong một chương trình .NET mà đã bị Offu, mình muốn xem các luồng dữ liệu chạy trong đó (việc này không chỉ là Crack,ví dụ tham khảo thuật toán của họ) thì có thể dịch ngược được không?theo mình được biết, khi ứng dụng .NET sử dụng Dotf và được build ra file exe thì mã nguồn của nó khi mang đi vốn đã được biến đổi thành những ô vuông hay những kí tự vô nghĩa (chỉ có ở ngôn ngữ IL mới đọc được), vậy De-Offu dùng cơ chế gì để có thể hiểu được đoạn mã đó và dịch thành các ngôn ngữ bậc cao (C#,VB) để mình có thể hiểu được nó? |
|
|
|
|
[Guidance] Vấn đề reverser .NET và Dotfucate |
10/12/2011 00:09:09 (+0700) | #6 | 250905 |
|
al0nex
Member
|
0 |
|
|
Joined: 31/05/2009 23:35:40
Messages: 17
Offline
|
|
wkiamiuemth wrote:
.....nghĩa (chỉ có ở ngôn ngữ IL mới đọc được), vậy.....
và cổng đã dc mở ra bạn biết bao nhiêu về IL language rùi |
|
|
|
|
[Guidance] Vấn đề reverser .NET và Dotfucate |
10/12/2011 11:06:40 (+0700) | #7 | 250919 |
phanledaivuong
Member
|
0 |
|
|
Joined: 23/05/2008 17:34:21
Messages: 315
Location: /dev/null
Offline
|
|
al0nex wrote:
wkiamiuemth wrote:
.....nghĩa (chỉ có ở ngôn ngữ IL mới đọc được), vậy.....
và cổng đã dc mở ra bạn biết bao nhiêu về IL language rùi
Nói là mã IL thì có vẻ hợp lý hơn là ngôn ngữ IL |
|
|
|
|
[Guidance] Vấn đề reverser .NET và Dotfucate |
10/12/2011 11:15:13 (+0700) | #8 | 250920 |
|
al0nex
Member
|
0 |
|
|
Joined: 31/05/2009 23:35:40
Messages: 17
Offline
|
|
phanledaivuong wrote:
Nói là mã IL thì có vẻ hợp lý hơn là ngôn ngữ IL
Common Intermediate Language (CIL, pronounced either "sil" or "kil") is the lowest-level human-readable programming language defined by the Common Language Infrastructure (CLI) specification and is used by the .NET Framework and Mono. |
|
|
|
|
[Guidance] Vấn đề reverser .NET và Dotfucate |
10/12/2011 11:39:05 (+0700) | #9 | 250921 |
phanledaivuong
Member
|
0 |
|
|
Joined: 23/05/2008 17:34:21
Messages: 315
Location: /dev/null
Offline
|
|
al0nex wrote:
phanledaivuong wrote:
Nói là mã IL thì có vẻ hợp lý hơn là ngôn ngữ IL
Common Intermediate Language (CIL, pronounced either "sil" or "kil") is the lowest-level human-readable programming language defined by the Common Language Infrastructure (CLI) specification and is used by the .NET Framework and Mono.
Viết ở các ngôn ngữ cao rồi dịch về mã IL trước khi chạy thì .NET framework lại dịch mã IL thành mã máy để chạy. bạn lập trình C++, C#, ... trên nền .NET chứ bạn viết mã IL không mã gọi là ngôn ngữ IL?
nếu gọi là ngôn ngữ IL thì chữ L ở đây được nhắc đến 2 lần rồi đấy, 1 là ở trong chữ "IL" 1 là đã được dịch về tiếng việt ở chữ "ngôn ngữ" hình như bạn sơn al0nex rất thích chữ "L" |
|
|
|
|
[Guidance] Vấn đề reverser .NET và Dotfucate |
10/12/2011 11:53:30 (+0700) | #10 | 250923 |
|
al0nex
Member
|
0 |
|
|
Joined: 31/05/2009 23:35:40
Messages: 17
Offline
|
|
phanledaivuong wrote:
Viết ở các ngôn ngữ cao rồi dịch về mã IL trước khi chạy thì .NET framework lại dịch mã IL thành mã máy để chạy. bạn lập trình C++, C#, ... trên nền .NET chứ bạn viết mã IL không mã gọi là ngôn ngữ IL?
nếu gọi là ngôn ngữ IL thì chữ L ở đây được nhắc đến 2 lần rồi đấy, 1 là ở trong chữ "IL" 1 là đã được dịch về tiếng việt ở chữ "ngôn ngữ" hình như bạn al0nex rất thích chữ "L"
mã máy => ASM => Assembly languages (vậy ra mã máy ko phải là ngôn ngữ Assembly)
IL => CIL => Common Intermediate Language
cậu bắt bẻ cái gì ! đứng cố tỏ ra hiểu biết |
|
|
|
|
[Guidance] Vấn đề reverser .NET và Dotfucate |
10/12/2011 11:58:44 (+0700) | #11 | 250925 |
phanledaivuong
Member
|
0 |
|
|
Joined: 23/05/2008 17:34:21
Messages: 315
Location: /dev/null
Offline
|
|
al0nex wrote:
phanledaivuong wrote:
Viết ở các ngôn ngữ cao rồi dịch về mã IL trước khi chạy thì .NET framework lại dịch mã IL thành mã máy để chạy. bạn lập trình C++, C#, ... trên nền .NET chứ bạn viết mã IL không mã gọi là ngôn ngữ IL?
nếu gọi là ngôn ngữ IL thì chữ L ở đây được nhắc đến 2 lần rồi đấy, 1 là ở trong chữ "IL" 1 là đã được dịch về tiếng việt ở chữ "ngôn ngữ" hình như bạn sơn al0nex rất thích chữ "L"
mã máy => ASM => Assembly languages (vậy ra mã máy ko phải là ngôn ngữ Assembly)
IL => CIL => Common Intermediate Language
cậu bắt bẻ cái gì ! đứng cố tỏ ra hiểu biết
Mã máy là ngôn ngữ asm, tôi biết trước bạn sẽ đưa ra ví dụ này.lol, nên tôi mới nói ở trên là bạn có code mã IL không mã gọi là ngôn ngữ IL.
còn trường hợp asm thì người ta lập trình asm, code bằng ngôn ngữ asm luôn rồi dùng các compiler như nasm để compile thế nên gọi là ngôn ngữ Assembly là chuyện bình thường. |
|
|
|
|
[Guidance] Vấn đề reverser .NET và Dotfucate |
10/12/2011 12:04:19 (+0700) | #12 | 250927 |
|
al0nex
Member
|
0 |
|
|
Joined: 31/05/2009 23:35:40
Messages: 17
Offline
|
|
|
|
[Guidance] Vấn đề reverser .NET và Dotfucate |
10/12/2011 12:08:05 (+0700) | #13 | 250929 |
phanledaivuong
Member
|
0 |
|
|
Joined: 23/05/2008 17:34:21
Messages: 315
Location: /dev/null
Offline
|
|
al0nex wrote:
phanledaivuong wrote:
al0nex wrote:
phanledaivuong wrote:
Viết ở các ngôn ngữ cao rồi dịch về mã IL trước khi chạy thì .NET framework lại dịch mã IL thành mã máy để chạy. bạn lập trình C++, C#, ... trên nền .NET chứ bạn viết mã IL không mã gọi là ngôn ngữ IL?
nếu gọi là ngôn ngữ IL thì chữ L ở đây được nhắc đến 2 lần rồi đấy, 1 là ở trong chữ "IL" 1 là đã được dịch về tiếng việt ở chữ "ngôn ngữ" hình như bạn sơn al0nex rất thích chữ "L"
mã máy => ASM => Assembly languages (vậy ra mã máy ko phải là ngôn ngữ Assembly)
IL => CIL => Common Intermediate Language
cậu bắt bẻ cái gì ! đứng cố tỏ ra hiểu biết
Mã máy là ngôn ngữ asm, tôi biết trước bạn sẽ đưa ra ví dụ này.lol, nên tôi mới nói ở trên là bạn có code mã IL không mã gọi là ngôn ngữ IL.
còn trường hợp asm thì người ta lập trình asm, code bằng ngôn ngữ asm luôn rồi dùng các compiler như nasm để compile thế nên gọi là ngôn ngữ Assembly là chuyện bình thường.
xin thưa mã máy ! hay machine code thì chỉ gồm các kí tự 0 với 1 thôi
ASM với CIL là ngôn ngữ hẳn hoi chắc cậu nhầm gì đó chắc cậu chưa xem qua 1 quyển dạy đọc + code = CIL
Thật ra đọc đoạn này là biết rồi.
Code:
//Test.IL
//A simple programme which prints a string on the console
.assembly extern mscorlib {}
.assembly Test
{
.ver 1:0:1:0
}
.module test.exe
.method static void main() cil managed
{
.maxstack 1
.entrypoint
ldstr "I am from the IL Assembly Language..."
call void [mscorlib]System.Console::WriteLine (string)
ret
}
Mà đang thử khả năng phản biện của cậu thế nào |
|
|
|
|
[Guidance] Vấn đề reverser .NET và Dotfucate |
10/12/2011 14:30:00 (+0700) | #14 | 250939 |
|
bolzano_1989
Journalist
|
0 |
|
|
Joined: 30/01/2007 12:49:15
Messages: 1406
Offline
|
|
phanledaivuong wrote:
al0nex wrote:
phanledaivuong wrote:
Viết ở các ngôn ngữ cao rồi dịch về mã IL trước khi chạy thì .NET framework lại dịch mã IL thành mã máy để chạy. bạn lập trình C++, C#, ... trên nền .NET chứ bạn viết mã IL không mã gọi là ngôn ngữ IL?
nếu gọi là ngôn ngữ IL thì chữ L ở đây được nhắc đến 2 lần rồi đấy, 1 là ở trong chữ "IL" 1 là đã được dịch về tiếng việt ở chữ "ngôn ngữ" hình như bạn sơn al0nex rất thích chữ "L"
mã máy => ASM => Assembly languages (vậy ra mã máy ko phải là ngôn ngữ Assembly)
IL => CIL => Common Intermediate Language
cậu bắt bẻ cái gì ! đứng cố tỏ ra hiểu biết
Mã máy là ngôn ngữ asm, tôi biết trước bạn sẽ đưa ra ví dụ này.lol, nên tôi mới nói ở trên là bạn có code mã IL không mã gọi là ngôn ngữ IL.
còn trường hợp asm thì người ta lập trình asm, code bằng ngôn ngữ asm luôn rồi dùng các compiler như nasm để compile thế nên gọi là ngôn ngữ Assembly là chuyện bình thường.
NASM không phải là compiler đâu, nó được gọi là assembler. |
|
Kiểm tra các file bạn nghi ngờ có virus:
http://goo.gl/m3Fb6C
http://goo.gl/EqaZt
http://goo.gl/gEF8e
Nhận mẫu virus qua FB: http://goo.gl/70Xo23
HVA Malware Response Team: kiemtravirus@gmail.com
Trợ giúp diệt virus: http://goo.gl/2bqxY |
|
|
|
[Guidance] Vấn đề reverser .NET và Dotfucate |
10/12/2011 15:22:56 (+0700) | #15 | 250941 |
wkiamiuemth
Member
|
0 |
|
|
Joined: 13/11/2010 13:44:55
Messages: 17
Offline
|
|
Thôi các bạn đừng cãi nhau về câu chữ nữa, coi như mình dùng từ chưa chính xác,sr nhé.Mình muốn hỏi thêm về MartAssembly ai có thể cho mình cái nhìn sơ lược về cách làm phức tạp ColtrolFlow của nó không?Hiện mình đang dùng DeCode của anh rongchaua, phiên bản 1.9, nhưng dịch ngược ra thấy Flow của nó rất loằng ngoằng (dùng Label... để nhảy trên các đoạn chương trình).(và cả cách vượt qua điều đó nữa được không?) |
|
|
|
|
[Guidance] Vấn đề reverser .NET và Dotfucate |
11/12/2011 21:33:35 (+0700) | #16 | 250987 |
|
chube
Member
|
0 |
|
|
Joined: 22/10/2010 02:34:04
Messages: 105
Location: ░░▒▒▓▓██
Offline
|
|
chào wkiamiuemth , mình cũng có đề cập ở trên, bất cứ trình protector hay pack nào cũng đều dựa theo cấu trúc pe, nắm vững được nó và các địa chỉ thì mới hiểu được nguyên lý hay các trick của nó rồi từ đó đưa ra phương hướng, ví như .net reactor sử dụng các tip như chèn các chỉ thị 'branch','load int0' hay 'pop' vào mỗi method để anti-decompile và dĩ nhiên điều cần tìm hiểu tiếp theo là 1 cuốn sách nói về il, vì .net sử dụng nhiều api của win32 cho nên hiểu thêm về hệ thống cũng cần thiết.
- mình nghĩ flow-control tốt là thuật giải tốt và cấu trúc dữ liệu hợp lý,trên dotnet có 3 cột trụ hướng lập trình OOP : encapsulation, polymorphism và inhenritance, hiểu được từng ưu nhược điểm, áp dụng vào chương trình demo nhỏ thực tiễn , reverse code những file demo đó, tham khảo tài liệu sẽ giúp bạn nhiều điều thực tiễn hơn , good luck! |
|
.-/ / )
|/ / /
/.' /
// .---.
/ .--._\ Awesome Season to hack :') Dont you think so? xD
/ `--' /
/ .---'
/ .'
/ |
|
|
|
[Guidance] Vấn đề reverser .NET và Dotfucate |
14/12/2011 17:57:53 (+0700) | #17 | 251105 |
wkiamiuemth
Member
|
0 |
|
|
Joined: 13/11/2010 13:44:55
Messages: 17
Offline
|
|
Hiện tại khi reflec một vài phần mềm .NET, nó có sử dụng vài kĩ thuật offu, do chưa có (chưa tìm thấy) tool nào chống lại được kĩ thuật làm rối control flow của nó. Vậy ai có thể định hướng cho mình là mình phải dùng những tool nào (có hướng dẫn chi tiết càng tốt) để có thể crack nó?Cảm ơn rất nhiều!!
ps: đang hào hứng trong việc reverser .NET thì gặp ngay khó khăn này -->tắc tịt, mong các bạn chỉ dùm để có hướng đi đúng. |
|
|
|
|
[Guidance] Vấn đề reverser .NET và Dotfucate |
15/12/2011 15:12:24 (+0700) | #18 | 251131 |
|
computerline
Member
|
0 |
|
|
Joined: 30/03/2007 13:46:50
Messages: 144
Offline
|
|
Các bạn tìm hiểu về Deofucate cho .NET có thể tham khảo code này https://github.com/0xd4d/de4dot, sẽ rất có ích cho các bạn ! |
|
Không có nghề gì trong xã hội là thấp hèn cả - chỉ có nhân cách mới phân biệt thấp cao |
|
[Guidance] Vấn đề reverser .NET và Dotfucate |
15/12/2011 16:10:44 (+0700) | #19 | 251137 |
|
TheShinichi
Member
|
0 |
|
|
Joined: 25/03/2005 01:40:31
Messages: 182
Offline
|
|
[Guidance] Vấn đề reverser .NET và Dotfucate |
15/12/2011 17:45:44 (+0700) | #20 | 251145 |
|
al0nex
Member
|
0 |
|
|
Joined: 31/05/2009 23:35:40
Messages: 17
Offline
|
|
@ShiniChi:
Code:
Expert .NET 2.0 IL Assembler
Inside Microsoft .NET IL Assembler
...
|
|
|
|