Trang 1 trên tổng số 6 123... Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 54 kết quả

Đề tài: Biên dịch lại dự án từ netExec file.

  1. #1
    Ngày gia nhập
    06 2015
    Nơi ở
    Lagi - Bình Thuận
    Bài viết
    1,571

    Mặc định Biên dịch lại dự án từ netExec file.

    Rebuild project from netExec file
    Biên dịch lại dự án từ netExec file.

    Biên dịch một dự án (primary phase) sinh ra exec file (exe/dll/...); với dotNet tạm gọi là netExec.

    Khác với native exec - Assembly (mã máy), netExec - MsIL (ngôn ngữ trung gian) dễ chuyển sang ngôn ngữ bậc cao netLang (Vb.Net, C#, C++, Delphi, ...) việc phục hồi - dịch ngược là có thể.

    Để bảo vệ netExec người ta thường biên dịch lại (secondary phase - reCompile) với công cụ để chống dịch ngược. Nó sẽ đổi tên định danh, xáo trộn các lệnh, thêm salt code / obfuscate, tạo mapping / proxy, mã hóa, dấu nguồn lực, ... nhằm phá vỡ cấu trúc bậc cao. Một cách dễ hình dung, thay cấu trúc điều kiển bằng goto / label làm chương trình trở nên khó hiểu.

    Nói cách khác, netLang là tập con (sub set) của MsIL : đúng trong MsIL sẽ thành sai trong netLang; làm được trong MsIL còn trong netLang thì không! Định danh trong Cs phải hợp lệ(...), trong MsIL là chuỗi bất kỳ. Control, unicode, unPrinter char trong MsIL được cả; còn netLang : ERROR! Có những keyWord trong MsIL không dịch được sang netLang. OOP là thế giới phẳng, còn NNLT là 3D.

    netExec với bảo mật thấp dễ bị dịch ngược. Tuy nhiên, các công cụ view code, sinh project thường chứa nhiều lỗi. Khi đem biên dịch lại cần sửa - fixed - hết lỗi có trong dự án, mới chỉ lả một phần thành công nhỏ.

    netExec với bảo mật cao còn có khả năng chống debug, xóa dấu hiệu nhận dạng làm các công cụ view / dump bị lỗi. Phối hợp các công cụ fixed - khử bỏ ... phục hồi cấu trúc bậc cao, càng thêm phức tạp cho việc reBuild. Không có ánh xạ một - một, nhận dạng sai, khử sai, lảm kết quả thu được không đúng với logic ban đầu, thường khá lớn. Chưa kể các hàm mã hóa một chiều, không giải được.

    Có đầy đủ công cụ và tài liệu, khi chương trình bị lỗi : runtime / logic Error, tìm được lỗi đã là kỳ công, sửa xong lỗi này biết đâu nó lại sinh ra lỗi khác ?

    Hình dung một dự án đã viết, bị hư HDD - không còn source code - tài liệu thất lạc, bạn sẽ làm gì ?
    Phục chế là một nghề. Xét nghiệm là việc bình thường như sửa khóa - làm chìa thôi mà!

    Bạn có thể tham khảo bài viết, Dịch ngược và biên dịch lại netExec

    trong diễn dàn sinhvienit, link:
    http://sinhvienit.net/forum/dich-nguoc-va-bien-dich-lai-netexec.406996.html

    Văn Hiền, 0906.83.71.25

  2. #2
    Ngày gia nhập
    06 2015
    Nơi ở
    Lagi - Bình Thuận
    Bài viết
    1,571

    Mặc định Code vs Visual

    Sau lần cúp điện, cái form em mới thiết kế cứ hiện những khuyên nhủ vàng vàng. Nào em có sơ xuất gì đâu, bao hiêu năm nay, đang mơ tưởng về nó.. Ấy phụp một cái, nó ra thế này, các bác ạ. Cái UPS khỏe mạnh là thế, lại đến kỳ bảo dưỡng, mới mang đi sáng qua.

    Thiết kế trực quan, quen thuộc với các LTV, thành phản xạ. WinRes.exe : The Windows Forms Resource Editor, trong Vs, trước có đọc thấy trong Msdn, nghịch ngượm, thấy hiện ra form, khi mở .resx or .resources files. Thử sửa đổi nó, tôi thấy nó dễ thương. Designer không có gì là bí hiểm, cao siêu từng lầm tưởng trước đây, và hiện nay có ở nhiều bạn, đó chỉ là ánh xạ giữa code và visual. Không cần đến trí tuệ nhân tạo để làm nổi việc thường thường này.

    Sau này tìm hiểu về mã hóa, tôi thấy hiệu quả của nó, trực quan là nơi yếu nhất của bảo mật. Nhìn vào visual form, gần như có trong tay bộ tài liệu UML của ứng dụng, in ra chục cái tờ - form đặt nơi làm việc thì cứ như phòng đồ họa mang lên giao mình viết code, hơn nhé, thấy luôn nhờ UML- PowerPoint tổng thể, không như ngày nào đứng trong đây chuyền sản xuất : tổ a viết data, tổ b viết thư viện, tổ c viết event, còn tổ z, viết tài liệu cách sử dụng mà chẳng thấy dỏng code nào làm việc đó.

    Bạn không tin sao, SharpDevelop là mã nguồn mở, cho luôn source code, biên dịch chạy rất tốt, tôi đọc đến chục lần mà chưa hình dung được logic làm việc của nó. Mỗi lần cần dịch Cs <==> Vb, tôi vẫn phụ thuộc vào, nhờ đến SharpDevelop. Còn trước đó dùng Vb2Cs, sửa chết bỏ chưa xong, lỗi tè le, tối mơ trong lỗi. Visual Studio cũng tê liệt, vì lỗi quá nhiều, một lần nhấn, vấp phím F6, là chờ, uống xong ly ca phê về nó build chưa xong, từng bó 5-7 ngàn lỗi.

    Smart Assembly còn hơn thế, Main form rất sơ sài, thô ráp khác hẳn khi làm việc. Gia công mỗi chỗ mổi ít, Đông cái này, tây cái kia, dày đặc các gọi hàm, như bài toán mã đi tuần, như cái lưới nhện. Trường hợp a, load control A, trường hợp b, load control B, .. A hóa ra ở trường người ta không biết cái này. Họ không biết đến các phần mềm danh tiếng được ca ngợi, không làm cái họ tưởng tượng ra.

    Tôi thành anh code dạo.

    Thôi, thư giãn, luận mãi phải mệt. Hôm nay, cuối tuần, nhớ lại ngày đi học, mơ ước ngày nào. Không khéo turing machine là tôi, hay tôi là turing machine. Trang Chu mơ bướn, bướm hóa Trang Chu ?
    //Tích giả Trang Chu mộng vi hồ điệp, hủ hủ nhiên hồ điệp dã.

    Chuyện là thế này ...
    Ở vương quốc GuiKing, kinh đô FormTown ngày càng đông đúc.

    - Cụ đem đơn này đến phòng tiếp dân, ngay thủ đô, các anh trên ấy sẽ giải quyết ạ
    - Quý khách vui lòng đợi, cán bộ đương giao ban, mãi thủ đô, đến trong nay mai

    - Bác cứ đến show room chúng em, trên thủ đô, xem giống lúa mới.
    - Proxy chúng tôi, ở thủ đô, vừa nhận fax của ông
    - WebSite chúng tôi, ở thủ đô, đã gửi file bà yêu cầu

    - Con đến ngay cục khảo thí, vào thủ đô, chỉnh lại nguyện vọng
    - Cháu nó vừa tậu cái vi la, giữa thủ đô, ơi sướng nhá
    ...

    Ai ai cũng muốn miếng đất cắm dùi, ở FormTown, được làm dân Hà Nội.

    Các robot xây dựng làm việc vượt công suất, nhà cao tầng mọc tựa cảng công tai nơ, ngửa cổ lên thấy ông giời, khéo, tàu bay hết dầu va vào thỉ khốn; phát tận địa ngục : bãi đỗ xe, ga mê trô, chi chít toàn đường hầm, nhỡ động đất - sóng thần có chốn địa táng, bằng không, ra bể cả. Chuyển động ở thành phố hãi quá, dọc ngang - lên xuống khác pháo bông ngày tết.

    Phải quy hoạch lại đô thị, nào ai chịu về quê, bỏ miếng giữa làng!

    Trung ương ra nghị quyết : ban bệ cấp quốc gia giữ nguyên, văn phòng ảo - trong mây được tiếp tục, còn ca tê ba di trú theo giờ, cuộn theo trục cuốn. Công nghệ nhập trung : TabControl và Splitter.

    Trước hết phải giải phóng mặt bằng, giao đất lập công trường thi công. Khiêng chúng đi đâu bây giờ ? Thu nhỏ bằng gậy như ý, nhét lọt lỗ a, chồng lấn, giẫm đạp lên nhau, tràn ra cả ngoài màn hình, lộn lạc không biết đâu mà dò ... bring to Front, send to Back - lôi lên hạ xuống, ... Khéo! vỡ mất hàng em! Người người thót tim ra đường, UFO lạ lửng lơ, giời, nó ụp vào đầu thì là gặp ngay ông .. vãi

    Còn đâu trực quan của designer thủa nào, drag drop thiếu đất dụng võ.

    //=========
    Thiết kế lại Form một khi khách yêu cầu, nào, ai phản đối thượng đế, xin mạnh dạn cho ý kiến - có mà sớm, lượm thun bắn ruồi.
    Lúc này code-reDeSign bằng tay hiệu quả hơn kéo thả : giải tỏa di dời. Làm việc ở tầng z-Layer, 3D với thế giới phẳng 2D, có khác biệt, đấu được ý đồ trước các thế lực thù địch.
    //=========

    - Gia đình ông A, theo đơn, cho nhập ngay vào Quận 9
    - Bà B, thử việc đã lâu, ký hợp đồng ngay
    - Anh chị CD, công tác tốt, tháng này nhận lương mới
    - Khu dự án 987, thả bò gặm cỏ, ngày mai cho họp chợ, mang đây tôi ký
    - ...
    - Ngay chiều nay, báo cáo cho tôi, trước 4h 30'
    ....

    - Giở nảy, nhà chị còn ở đây, đưa cháu nó đi học kẻo trễ
    - Ơ.. thế ông bà không biết thằng Tủn nhà em được vào công lập Phường này rồi sao

    //
    Ngày khai giảng năm học : 2015 - 2016
    5-9-2015

    anh code dạo gõ phím.

  3. #3
    Ngày gia nhập
    06 2015
    Nơi ở
    Lagi - Bình Thuận
    Bài viết
    1,571

    Dùng SharpDevelop để dịch :
    menu Tools => convert code to ==> ... (Boo, C#, ... Vb.Net)

    Ảnh minh họa :
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		SharpDev_Cnv.jpg
Lần xem:	48
Size:		356.3 KB
ID:		40777

    //
    Nếu có nhu cầu chi tiết, tôi sẽ viết chi tiết hơn.
    ĐT : 0906.83.71.25
    email : vn8hien62@yahoo.com
    http://diendan.congdongcviet.com/threads/t334310::chu-quoc-ngu-da-lac-hau-chua.cpp?p=815219#post815219

  4. #4
    Ngày gia nhập
    06 2015
    Nơi ở
    Lagi - Bình Thuận
    Bài viết
    1,571

    Nhiều người dùng DevExpress, nhiều người dủng Patch để hợp thức hóa.
    //
    Thấy bản Patch 61 dùng cho DevExpress 13.2 nhiều người tìm kiếm.
    //
    Rảnh - nghỉ tết cổ truyền Việt Nam - viết lại cho ai cần, có thể tham khảo.
    Source code viết lại trên Vs2010 - netFx 4.0
    Patch61.rar

    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Patch61.jpg
Lần xem:	1
Size:		21.3 KB
ID:		44538
    Mới chỉ chạy thử trên 2 PC thôi.
    Đã được chỉnh sửa lần cuối bởi Van8Hien62 : 03-02-2016 lúc 09:26 PM. Lý do: Ảnh minh họa
    ĐT : 0906.83.71.25
    email : vn8hien62@yahoo.com
    http://diendan.congdongcviet.com/threads/t334310::chu-quoc-ngu-da-lac-hau-chua.cpp?p=815219#post815219

  5. #5
    Ngày gia nhập
    06 2015
    Nơi ở
    Lagi - Bình Thuận
    Bài viết
    1,571

    Sáng tạo - phát minh và tiếp thu - học hỏi !
    ĐT : 0906.83.71.25
    email : vn8hien62@yahoo.com
    http://diendan.congdongcviet.com/threads/t334310::chu-quoc-ngu-da-lac-hau-chua.cpp?p=815219#post815219

  6. #6
    Ngày gia nhập
    06 2015
    Nơi ở
    Lagi - Bình Thuận
    Bài viết
    1,571

    Mặc định Biên dịch lại dự án từ netExec file.

    Trước đây, cũng đủ lâu, tôi viết trên diễn dàn DDTH và một số forum khác về vấn đề mã hóa netFX. Bạn có thể xem với tiếng Việt ở :

    Công nghệ dịch ngược và kỹ thuật bảo vệ code - Cuộc chiến tranh hiện đại


    Bận bịu công việc nên gián đoạn post bài về nó, nay định tiếp tục để hoàn thiện với điều kiện có thảo luận : viết sách không phải sở thích của tôi
    ĐT : 0906.83.71.25
    email : vn8hien62@yahoo.com
    http://diendan.congdongcviet.com/threads/t334310::chu-quoc-ngu-da-lac-hau-chua.cpp?p=815219#post815219

  7. #7
    Ngày gia nhập
    06 2015
    Nơi ở
    Lagi - Bình Thuận
    Bài viết
    1,571

    Một số kỹ thuật chống dịch ngược :

    A - Obfuscator.NET 2009 thường chèn các lệnh add, sub, mul, div, rem, shr, shl, and, or, xor (và không bao giờ thực hiện - làm CT to hơn, chạy chậm hơn) sau lệnh br, ret là ví dụ điển hình : Reflector báo lỗi nhưng ILSpy đọc được vô tư !

    B - ILSpy chưa phải là thần dược .
    C#:
    Visual C# Code:
    1.     internal sealed class InB{
    2.         private uint du;
    3.         private int d3;
    4.         //
    5.         public void g01(int A_1){
    6.             this.du >>= A_1;
    7.             this.d3 -= A_1;
    8.         }
    9.         ...
    10.     }
    11. }

    Assembly - MsIL tương đương :
    Visual C# Code:
    1. .class private auto ansi sealed beforefieldinit nA.AE extends [mscorlib]System.Object{
    2.     .class auto ansi sealed nested assembly beforefieldinit InB extends [mscorlib]System.Object{
    3.     ...
    4.         .field private uint32 du
    5.         .field private int32 d3
    6.  
    7.         //#define OBF
    8.         // tắt chế độ mã hóa : control flow obf
    9.  
    10.         .method public hidebysig instance void g01(int32 A_1) cil managed{
    11.     #ifdef OBF
    12.         // Code size 59 (0x3b)
    13.         .maxstack 10
    14.         IL_0000: br.s IL_0024
    15.  
    16.         IL_0002: dup
    17.         IL_0003: ldfld uint32 nA.AE/InB::du
    18.         IL_0008: br.s IL_0027
    19.  
    20.         IL_000a: ldc.i4.s 31
    21.         IL_000c: and
    22.         IL_000d: shr.un
    23.         IL_000e: stfld uint32 nA.AE/InB::du
    24.         IL_0013: br.s IL_002a
    25.  
    26.         IL_0015: dup
    27.         IL_0016: ldfld int32 nA.AE/InB::d3
    28.         IL_001b: ldarg.1
    29.         IL_001c: sub
    30.         IL_001d: stfld int32 nA.AE/InB::d3
    31.         IL_0022: leave.s IL_003a
    32.  
    33.         IL_0024: ldarg.0
    34.         IL_0025: br.s IL_0002
    35.  
    36.         IL_0027: ldarg.1
    37.         IL_0028: br.s IL_000a
    38.  
    39.         IL_002a: ldarg.0
    40.         IL_002b: br.s IL_0015
    41.         IL_003a: ret
    42.  
    43.     #else
    44.  
    45.         // Code size 32 (0x20)
    46.         .maxstack 10
    47.         IL_0000: ldarg.0
    48.         IL_0001: dup
    49.         IL_0002: ldfld uint32 nA.AE/InB::du
    50.         IL_0007: ldarg.1
    51.         IL_0008: ldc.i4.s 31
    52.         IL_000a: and
    53.         IL_000b: shr.un
    54.         IL_000c: stfld uint32 nA.AE/InB::du
    55.         IL_0011: ldarg.0
    56.         IL_0012: dup
    57.         IL_0013: ldfld int32 nA.AE/InB::d3
    58.         IL_0018: ldarg.1
    59.         IL_0019: sub
    60.         IL_001a: stfld int32 nA.AE/InB::d3
    61.         IL_001f: ret
    62.  
    63.     #endif
    64.         } // end of method InB::h01
    65.         ...
    66.     } // end of class InB
    67.     ...
    68. } // end of class nA.AE

    Ở đoạn code trên, chỉ cần bật sang chế độ mã hóa ( #define OBF ) thì các version ILSpy ( đến thời điểm này) đều báo lỗi.

    Quay lại (A) trên, bạn có thể đề xuất giải pháp để khử bỏ
    các lệnh add, sub, mul, div, rem, shr, shl, and, or, xor (và không bao giờ thực hiện - làm CT to hơn, chạy chậm hơn) sau lệnh br, ret ?

    Tôi sẽ đưa đoạn code làm việc đó sau.
    ĐT : 0906.83.71.25
    email : vn8hien62@yahoo.com
    http://diendan.congdongcviet.com/threads/t334310::chu-quoc-ngu-da-lac-hau-chua.cpp?p=815219#post815219

  8. #8
    Ngày gia nhập
    06 2016
    Nơi ở
    Công dân Việt Nam
    Bài viết
    71

    Mặc định 1 - Chống dịch ngược với vnReactor

    Chống dịch ngược với vnReactor
    A - phim (clip) minh họa sử dụng :


    Nguồn Chống dịch ngược với vnReactor
    Dịch, sửa, nâng cấp ứng dụng netExec
    email : vn8hien62@yahoo.com

  9. #9
    Ngày gia nhập
    06 2016
    Nơi ở
    Công dân Việt Nam
    Bài viết
    71

    B - Thuyết minh

    vnReactor.exe là chương trình chính (main assembly). Nó có 2 chế độ hoạt động :
    - dòng lệnh (batch mode) - xem help/exam trong sub-folder của vnR
    - giao tiếp đồ họa (GUI mode)

    Sau khi mở (launch), vnR sẵn sàng cho việc tạo mới / mở một dự án đã có. Để tạo mới một project, bạn kéo thả (drag-drop) netExec file (exe/dll/xap) vào comboBox "Main Assembly" hoặc tìm duyệt (click button "Open"). Khi netExec file có các file phụ thuộc (references) bạn cho scan/add/remove để merge/embed vào kết quả.
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		new_Project.jpg
Lần xem:	4
Size:		177.2 KB
ID:		47979

    Bạn thay đổi tùy chọn cơ bản ở "Quick Settings" : Anti IlDasm, Obfucation, Encryption, Compress, CFO, Native EXE, ... và chi tiết ở tabPage "Settings" : Target File, unPrintable chars, Strong name, Digital certificate, ...
    Để biên dịch / kiểm tra, bạn click link "Protect" bên trái trong group Tasks. Tiến trình biên dịch được báo cáo trong tabPage "Protection", phụ thuộc vào những thiết lập đã chọn. Sau khi biên dịch xong button "Browse Folder" hiện ra để mở thư mục chứa kết quả.

    Bạn lưu lại / lưu khác (save as) nếu cần.
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		save_Project.jpg
Lần xem:	4
Size:		197.4 KB
ID:		47980

    Đến thời điểm này, Ms IL Disassembler, Reflector, ILSpy,
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		ILSpy.jpg
Lần xem:	3
Size:		240.0 KB
ID:		47981

    de4dot ... đều không xem / dịch ngược được kết quả mà vnR sinh ra.
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		de4dot.jpg
Lần xem:	4
Size:		223.1 KB
ID:		47978

    Như trên đã nói, vnR viết dựa trên NET Reactor v4.9.7, các chức năng / hoạt động được giữ lại như nguyên mẫu.
    - Phần giao diện, các dialog : trợ giúp ngữ cảnh (help button) được kích hoạt
    - Salt code được loại bỏ
    - Bổ xung các tính năng khác

    Các chức năng khác trong menu, trong các dialog, trong propertyGrid vui lòng xem help hay trao đổi qua email

    Trong phiên bản này (Community Edition), tôi có giới hạn một số tính năng nâng cao.

    C - Download
    (exe) : setup
    (7z) : Zip
    Dịch, sửa, nâng cấp ứng dụng netExec
    email : vn8hien62@yahoo.com

  10. #10
    Ngày gia nhập
    07 2016
    Bài viết
    3

    Mặc định Vì sao diễn dàn ít bài viết giá trị ?

    Có phải vì lưỡi kéo của những admin kém tài, tâm tầm phổ cập bình dân học vụ viện ?

    Một diễn dàn lâu năm, đến 15 vạn thành viên như Cờ Việt này toàn bàn syntax error

    Trong topic trên các thông tin để liên lạc với người viết có đủ để liên lạc, đâu cần phải xóa chữ ký
    còn đoảng còn mìn

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn