Remove pass macro

giaiphapvba

Administrator
Thành viên BQT
Em chưa hiểu code này. Cứ mang về diễn đàn cái đã. Vừa dùng thử thấy ổn. Excel 2010/2013 (đã test) 64-Bit on 64-Bit Windows 7
1. Mở file excel có chứa macro cần phá pass.
2. Mở file excel mới, cho code này vào:
Mã:
Option Explicit

Private Const PAGE_EXECUTE_READWRITE = &H40

Private Declare PtrSafe Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" _
(Destination As LongPtr, Source As LongPtr, ByVal Length As LongPtr)

Private Declare PtrSafe Function VirtualProtect Lib "kernel32" (lpAddress As LongPtr, _
ByVal dwSize As LongPtr, ByVal flNewProtect As LongPtr, lpflOldProtect As LongPtr) As LongPtr

Private Declare PtrSafe Function GetModuleHandleA Lib "kernel32" (ByVal lpModuleName As String) As LongPtr

Private Declare PtrSafe Function GetProcAddress Lib "kernel32" (ByVal hModule As LongPtr, _
ByVal lpProcName As String) As LongPtr

Private Declare PtrSafe Function DialogBoxParam Lib "user32" Alias "DialogBoxParamA" (ByVal hInstance As LongPtr, _
ByVal pTemplateName As LongPtr, ByVal hWndParent As LongPtr, _
ByVal lpDialogFunc As LongPtr, ByVal dwInitParam As LongPtr) As Integer

Dim HookBytes(0 To 5) As Byte
Dim OriginBytes(0 To 5) As Byte
Dim pFunc As LongPtr
Dim Flag As Boolean

Private Function GetPtr(ByVal Value As LongPtr) As LongPtr
    GetPtr = Value
End Function

Public Sub RecoverBytes()
    If Flag Then MoveMemory ByVal pFunc, ByVal VarPtr(OriginBytes(0)), 6
End Sub

Public Function Hook() As Boolean
    Dim TmpBytes(0 To 5) As Byte
    Dim p As LongPtr
    Dim OriginProtect As LongPtr

    Hook = False

    pFunc = GetProcAddress(GetModuleHandleA("user32.dll"), "DialogBoxParamA")


    If VirtualProtect(ByVal pFunc, 6, PAGE_EXECUTE_READWRITE, OriginProtect) <> 0 Then

        MoveMemory ByVal VarPtr(TmpBytes(0)), ByVal pFunc, 6
        If TmpBytes(0) <> &H68 Then

            MoveMemory ByVal VarPtr(OriginBytes(0)), ByVal pFunc, 6

            p = GetPtr(AddressOf MyDialogBoxParam)

            HookBytes(0) = &H68
            MoveMemory ByVal VarPtr(HookBytes(1)), ByVal VarPtr(p), 4
            HookBytes(5) = &HC3

            MoveMemory ByVal pFunc, ByVal VarPtr(HookBytes(0)), 6
            Flag = True
            Hook = True
        End If
    End If
End Function

Private Function MyDialogBoxParam(ByVal hInstance As LongPtr, _
ByVal pTemplateName As LongPtr, ByVal hWndParent As LongPtr, _
ByVal lpDialogFunc As LongPtr, ByVal dwInitParam As LongPtr) As Integer

    If pTemplateName = 4070 Then
        MyDialogBoxParam = 1
    Else
        RecoverBytes
        MyDialogBoxParam = DialogBoxParam(hInstance, pTemplateName, _
                   hWndParent, lpDialogFunc, dwInitParam)
        Hook
    End If
End Function
Tạo Module2 cho code này vào (thực tế không cần, nhưng tạo Module mới cho gọn):
Mã:
Sub unprotected()
    If Hook Then
        MsgBox "VBA Project is unprotected!", vbInformation, "*****"
    End If
End Sub
Chạy thủ tục ở trên Module2, giờ thì ấn ALT+F11 ra và truy cập vào project của file macro đặt pass.
Nguồn:
 

tuhocvba

Administrator
Thành viên BQT
Bạn đưa file của bạn lên để mình thử xem nào. Theo mình biết là làm được. Nhưng không chắc là làm được với file của bạn. Vậy hãy thử đưa file của bạn lên (upload lên mediafire.com hoặc google driver rồi dẫn link về đây), nếu mình làm được thì mình sẽ hướng dẫn bạn.
 

k300

Yêu THVBA
Bạn đưa file của bạn lên để mình thử xem nào. Theo mình biết là làm được. Nhưng không chắc là làm được với file của bạn. Vậy hãy thử đưa file của bạn lên (upload lên mediafire.com hoặc google driver rồi dẫn link về đây), nếu mình làm được thì mình sẽ hướng dẫn bạn.
đây ad ơi, file này mình lượm lặt được bên giaiphapexcel, đang muốn tìm hiểu để học code 1 cái tương tự. Tks ad.
 

tuhocvba

Administrator
Thành viên BQT
Hiện tại đã thử nhưng chưa được. Tuy nhiên về code này, thì bạn có thể tham khảo ở đây:
File này có lẽ cũ hơn file của bạn, tuy nhiên bạn có thể xem code và sẽ thấy được cách lấy thông tin từ web của họ.
 

giaiphapvba

Administrator
Thành viên BQT
đang muốn tìm hiểu để học code 1 cái tương tự. Tks ad.
1. File của họ đã chỉnh DPB = "FF..F", theo mình biết là không thể can thiệp được nữa.
Ta chỉ có thể làm đến mức này, xem cấu trúc Module.
Bạn cần đăng nhập để thấy hình ảnh

2. Về code, thì mình thấy, cái cần quan tâm là họ lấy thông tin từ web bằng cách nào.
Ở trên đã dẫn tới topic cũ. Tuy nhiên phòng tránh file bị delete, mình backup thêm ra đây, bạn có thể tham khảo:
Về code của họ:
Đặc điểm là không có comment gì hết, cách code cũng khá rối như là không muốn người khác hiểu mình đang làm gì. Ví dụ, thay vì dùng cells, thì họ dùng Range rồi từ đó offset ra, đọc rất mệt.
Tóm lại, họ không muốn chia sẻ, có lẽ họ nghĩ chỉ mình họ làm được, hoặc thứ họ làm được là thiên tài trí tuệ, là cảnh giới không muốn ai đạt tới.
Đọc code người khác, chi bằng tự mình code lấy. Cho nên mình nghĩ, nếu quan tâm thì quan tâm là họ dùng phương thức gì để lấy thông tin từ web.
3. Về lấy thông tin từ web, bạn có thể tham khảo thêm các topic ở đây, đủ cho bạn dùng để lấy thông tin từ web.

Rất tiếc là trên diễn đàn, các thành viên quản trị cũng đã làm vài việc giống như thế, lấy thông tin từ web, hoặc điều khiển thao tác với web, nhưng không có ai có hứng thú với web chứng khoán (vì công việc không liên quan chứ không phải vì khó), vậy bạn hãy tự nghiên cứu. Bởi vì làm về web, sẽ phải nghiên cứu mã html của mỗi trang, việc đó thật sự mất thời gian.

Ngoài lề: Thành viên làm ra cái file này từng ngạo mạn chê bai code của người khác là cơ bản, là da liễu... Nói chung là ngôn từ ngạo mạn và không có đạo đức. Vậy chưa biết tài cán tới đâu, người không có đức thì chúng ta sẽ không dẫn về diễn đàn này. Mong bạn lý giải và hợp tác.
Chúc bạn gặt hái nhiều kiến thức trên diễn đàn.
 
T

thanhphong

Guest
Đối với file như thế này:
Bạn cần đăng nhập để thấy hình ảnh

thì chính bản thân tác giả cũng chịu. Tất nhiên là họ lưu file gốc để ở máy họ.

Đã đưa ra mà miễn phí thì nên chia sẻ. Nhưng đây là khoe khoang thôi:
-Code khóa không chia sẻ. Dù nói là đang phát triển. Chẳng phải vì đang phát triển nên cần lấy ý kiến mọi người cho hoàn thiện hơn hay sao?
Thật ra cái cậu này thì trước giờ cứ coi mình là trung tâm của vũ trụ, tỏ ra mình nguy hiểm cho người khác sợ, chứ kiến thức đã phải là đệ nhất thiên hạ đâu mà thái độ cứ như mình là chúa tể. Tôi thấy buồn cười.

-Đã miễn phí + khóa code thì không nên xin tài trợ. Đằng này lại trưng biểu ngữ tài trợ, tôi đọc mà cười không nhặt được răng. Đã biết file của ông có an toàn hay không để mà sử dụng ấy chứ! Mà tại sao phải xin tài trợ từ nhà hảo tâm nào nhỉ.

Cứ thấy mâu thuẫn thế nào ấy. Miễn phí + khóa code + xin tài trợ từ nhà hảo tâm.
Cái mình muốn nhưng lại ngại, cái mình nói cho đi nhưng lại sợ người khác biết, thành ra là file thì chia sẻ nhưng khóa, nói là miễn phí nhưng muốn nhận tài trợ hảo tâm. Thôi từ sau đừng đưa mấy file này lên diễn đàn. Nhức đầu lắm.
 

tuhocvba

Administrator
Thành viên BQT
tks AD rất nhiều!
Ừ không có gì. Cũng may là làm được.
Mình đã xem qua code, có những cái có thể cải thiện tốt hơn. Nhưng mà thôi, đó là vấn đề cá nhân của họ. Cũng như là vấn đề của riêng bạn khi học hỏi code của người khác.
Tạm thời mình chưa công khai cách unlock, vì nếu công khai, mọi người sẽ biết cách làm cho chặt hơn dẫn tới không thể bẻ được hoặc việc bẻ trở nên khó khăn hơn.
Chúc bạn thu hoạch được nhiều kiến thức trên diễn đàn.
 
Đây là file lấy link của các file trên máy tính, em có down được file trên của anh Bé trên web khác. Mục đích của em là xây dựng 1 file quản lý tài liệu ở công ty, em sẽ dùng file lấy link này để list toàn bộ file trong ổ đĩa chứa tài liệu, sau đó dùng form tìm kiếm theo từ khóa để truy suất đến tài liệu cần tìm. Tuy nhiên vấn đề của em là file này không đưa ra được đường dẫn ở dạng text (cần đoạn text này để phân loại file tài liệu) và file này bị khóa. Kính mong các Ad và các bác giúp em với.
Mong muốn của em là tự động xuất ra text chỉ đường dẫn của file như ảnh.
Cảm ơn và mong được giúp đỡ !

Bạn cần đăng nhập để thấy hình ảnh
 

tuhocvba

Administrator
Thành viên BQT
@Embevinhphuc : File này thì có gì đâu, làm theo bài viết #1 là unlock được.
Link download:
Nếu có hỏi pass thì password = "123456". Trong khuôn khổ topic này tôi unlock giúp bạn.
Các yêu cầu khác nằm ngoài chủ đề password macro thì hãy lập topic mới trong , hoặc .
 

giaiphapvba

Administrator
Thành viên BQT
Mong muốn của em là tự động xuất ra text chỉ đường dẫn của file như ảnh.
Cảm ơn và mong được giúp đỡ !
Bạn cần đăng nhập để thấy hình ảnh
Bài viết của bạn đã được tôi chuyển thành topic mới, bạn theo dõi tại đây:
 

chung nguyen

Yêu THVBA
Hình như code này không phá được với bản excel 32bit-win10 , em đã sài nhưng nó cứ bị quay quay file sau đó tự đóng excel
 
V

vothanhthu

Guest
Hình như code này không phá được với bản excel 32bit-win10 , em đã sài nhưng nó cứ bị quay quay file sau đó tự đóng excel
Bạn thử gởi file lên cho mọi người xem thử!
 
Sửa lần cuối bởi điều hành viên:
V

vothanhthu

Guest
e dùng với mấy file đều bị a, có file thì e đã remove được pass dễ dàng khi dùng code này luôn ạ.Em gửi file lên mọi người xem ạ
Bạn đợi mình chút, mình sẽ xem thử nó có hoạt động trên máy tính không
 
V

vothanhthu

Guest
@chung nguyen Máy tính mình dùng cách #1 mở khóa bình thường, mình đang sử dụng Office Excel 2010 - 32 bit. Bạn thử Reset máy tính lại rồi thử lại xem. Nếu vẫn không được thì mình sẽ thử phương pháp khác giúp bạn.
 
Sửa lần cuối bởi điều hành viên:

chung nguyen

Yêu THVBA
@chung nguyen Máy tính mình dùng cách #1 mở khóa bình thường, mình đang sử dụng Office Excel 2010 - 32 bit. Bạn thử Reset máy tính lại rồi thử lại xem. Nếu vẫn không được thì mình sẽ thử phương pháp khác giúp bạn.
Em làm với cả máy tính của e và 1 máy tính khác đều bị như vậy a.Khi run module 2 kia nó báo password remove nhưng mà khi chuyển sang file excel cần phá khoá kích vào module thì nó quay quay vòng vòng rồi tự tắt excel, sau đó nó tự khởi động lại. Không biết e làm bị lỗi gì a.vì có lúc e cũng đã phá đc pass bằng cách này r a.Em dùng excell 2013
 
Top