Tạo script c.r.a.c.k hàng loạt file easy

Kỹ thuật Cracking

5.0 (2 đánh giá)
Tạo bởi K9 Cập nhật lần cuối 11:56 05-03-2022 1.066 lượt xem 1 bình luận
Tác giả/Dịch giả: K9
Học nhanh

Danh sách bài học

Tạo script c.r.a.c.k hàng loạt file easy

Chỉnh sửa hàng loạt file exe cơ bản và tạo lại một bản patch của nó.

Mong kỹ thuật này sẽ giúp các bạn hiểu hơn phần nào về ngành CNTT có thể làm được.

Để chuẩn bị tốt nhất cho buổi này bạn nên tải phần Project ở phía dưới.

Tải phần mềm OllyDbg  để có thể dịch ngược code và chỉnh sửa.

Cài đặt Visual Studio Code để có thể lập trình Python .

Cài đặt các package cần thiết liên quan đến python: Python và pip-packages

Tài liệu tham khảo về OPCode (viết tắt của operation code tham khảo wiki)

Thử luyện tập OPCode tại đây

Code easy:

import os
path = "."
os.chdir(path)

def mod(file,namefile):
    data = b''
    with open(file, "rb") as f:
        byte = f.read(1)
        while byte != b"":
            data += byte
            byte = f.read(1)
    mod = data.replace(b'u\x1e',bytes.fromhex('9090'))
    with open(f"{namefile}-p.exe", "wb") as b:
        b.write(mod)

for file in os.listdir():
    if file.endswith(".exe"):
        file_path = f"{path}\{file}"
        nameF = os.path.splitext(file)[0]
        mod(file_path,nameF)

Code demo 256 files:

import os
import zipfile
import struct
import pefile
import io


def rshift(val, n):
    """
    Implements arithmetic right shift on 32 bits
    """
    return (val % 0x100000000) >> n

def process(buf):
    # Load the Pe file
    pe = pefile.PE(data=buf, fast_load=True)

    # RVA of Entry Point
    ep = pe.OPTIONAL_HEADER.AddressOfEntryPoint

    imagebase = pe.OPTIONAL_HEADER.ImageBase

    # $+1F  >|.  A1 00304000       mov eax,dword ptr [403000]
    # $+24  >|.  B9 EDA7A8A1       mov ecx,A1A8A7ED
    eax = pe.get_dword_at_rva(pe.get_dword_at_rva(ep + 0x1f + 1) - imagebase)
    ecx = pe.get_dword_at_rva(ep + 0x24 + 1)

    # $+29  >|.  E8 CFFFFFFF       call <op_sub>
    fn_offs = struct.unpack('<i', pe.get_data(ep + 0x29 + 1, length = 4))[0]

    # function rva = instruction address + length + func offset from imagebase
    fn_rva = 0x29 + 5 + fn_offs 

    # Get the first byte of the function (op_sub)
    func_byte = ord(pe.get_data(rva = ep+fn_rva, length=1))

    # Perform the operation based on the function byte

    # op_xor
    # 31C8            xor eax,ecx
    # C3              ret
    if func_byte == 0x31:
        eax ^= ecx

    # op_add
    # 01C8            add eax,ecx
    # C3              ret
    elif func_byte == 0x1:
        eax += ecx

    # op_sub
    # 29C8            sub eax,ecx
    # C3              ret
    elif func_byte == 0x29:
        eax -= ecx

    else:
        raise 'Error'

    # $+36  >|.  8A0D 07304000     mov cl,byte ptr [403007]
    # $+3C  >|.  D3F8              sar eax,cl
    # $+3E  >|.  25 FF000000       and eax,0FF
    cl = ord(pe.get_data(pe.get_dword_at_rva(ep+0x36+2)-imagebase, 1))

    return chr(rshift(eax, cl) & 0xFF)

if __name__ == '__main__':
    output = io.StringIO()
    path = "256exes"
    os.chdir(path)
    for file in os.listdir():
        if file.endswith(".exe"):
            file_path = f"./{path}/{file}"
            nameF = os.path.splitext(file)[0]
            dir = os.path.join(os.getcwd(), file)
            with open(dir, "rb") as f:
                buf = f.read(fname)
                output.write(process(buf))
    rs = output.getvalue()
    print(rs)
    print('Done!!')
    


Tải xuống

Project

Nếu việc thực hành theo hướng dẫn không diễn ra suôn sẻ như mong muốn. Bạn cũng có thể tải xuống PROJECT THAM KHẢO ở link bên dưới!


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Nội dung bài viết

Tác giả/Dịch giả

K9

Nhà sáng lập Howkteam.com, KQuiz.vn & tác giả các khóa học C#, Auto, Unity3D, Python....

Với mong muốn mang đến kiến thức chất lượng, miễn phí cho mọi người, với tâm huyết phá bỏ rào cản kiến thức từ việc giáo dục thu phí. Tôi đã cùng đội ngũ Kteam đã lập nên trang website này để thế giới phẳng hơn.
Hãy cùng chúng tôi lan tỏa kiến thức đến cộng đồng! 

Khóa học

Kỹ thuật Cracking

Thông qua chuỗi STREAM KỸ THUẬT C.R.A.C.KING này, Kteam sẽ hướng dẫn bạn những kỹ thuật c.r.a.c.k khá cơ bản.

Chuỗi livestream được tổ chức vào 20h00 các ngày 02,04,06 tháng 02/2022 gồm 3 buổi với lịch trình:

  • Buổi 1: Tạo Patch file crack app 
  • Buổi 2: Tạo script crack hàng loạt file easy
  • Buổi 3: Hiển thị MessageBox lên Calculator

Đánh giá

Vo Tan Duc đã đánh giá 08:45 05-03-2022

Wonderful!

K9 SuperAdmin, KquizAdmin, KquizAuthor đã đánh giá 14:17 03-03-2022

Bài trước đã hay. Crack 1 file exe. Bài này còn crack hàng loạt. Kết hợp cả python vào. Cực phẩm

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
K9 SuperAdmin, KquizAdmin, KquizAuthor đã bình luận 14:17 03-03-2022

Bài sau mà thêm gắn script vào file như virus nữa thì kinh

Không có video.