Notification texts go here Contact Us Buy Now!

Hướng dẫn chi tiết cài đặt và crack IDA Pro 9.0 Beta bao gồm Windows, Linux, MacOS


Table of Contents

Tuyên bố từ chối trách nhiệm

        Tất cả các tệp trong tài khoản chính thức đều là tài nguyên được chia sẻ trên mạng, tôi chỉ đóng gói và sắp xếp chúng. Nó chỉ được sử dụng cho mục đích học tập và nghiên cứu. Nghiêm cấm sử dụng nó cho các hoạt động bất hợp pháp, nếu không bạn sẽ phải chịu hậu quả. Tất cả nội dung tôi cung cấp cho người dùng tải xuống đều đến từ Internet. Nếu bất kỳ nội dung nào vi phạm bản quyền hoặc các lợi ích khác của bạn, vui lòng liên hệ kịp thời với nhà điều hành tài khoản chính thức.

Giới thiệu về IDA Pro

       IDA Pro (Interactive DisAssembler Professional) là một công cụ tháo gỡ chuyên nghiệp được phát triển bởi Hex-Rays, được sử dụng để phân tích và đảo ngược các tệp nhị phân. IDA Pro được công nhận là một phần mềm giải mã tĩnh rất mạnh mẽ. Nó được sử dụng rộng rãi trong phân tích phần mềm độc hại, nghiên cứu lỗ hổng, kỹ thuật đảo ngược phần mềm và các lĩnh vực khác. Nó là một công cụ không thể thiếu đối với nhiều thành viên của thế giới 0day và các nhà phân tích bảo mật ShellCode!

Nguồn hướng dẫn tải về

https://x.com/gmhzxy/status/1821962897888780446

Liên kết tải xuống chính thức phiên bản IDA Pro 9.0 Beta

https://out5.hex-rays.com/beta90_6ba923/idademo_90_x64win.exe
https://out5.hex-rays.com/beta90_6ba923/idademo_90_x64linux.run
https://out5.hex-rays.com/beta90_6ba923/idademo_90_armmac.app.zip
https://out5.hex-rays.com/beta90_6ba923/idademo_90_x64mac.app.zip

https://out5.hex-rays.com/beta90_6ba923/idaedu_90_x64win.exe
https://out5.hex-rays.com/beta90_6ba923/idaedu_90_x64linux.run
https://out5.hex-rays.com/beta90_6ba923/idaedu_90_armmac.app.zip
https://out5.hex-rays.com/beta90_6ba923/idaedu_90_x64mac.app.zip

https://out5.hex-rays.com/beta90_6ba923/idafree_90_x64win.exe
https://out5.hex-rays.com/beta90_6ba923/idafree_90_x64linux.run
https://out5.hex-rays.com/beta90_6ba923/idafree_90_armmac.app.zip
https://out5.hex-rays.com/beta90_6ba923/idafree_90_x64mac.app.zip

https://out5.hex-rays.com/beta90_6ba923/idaarm_90_x64win.exe
https://out5.hex-rays.com/beta90_6ba923/idaarm_90_x64linux.run
https://out5.hex-rays.com/beta90_6ba923/idaarm_90_armmac.app.zip
https://out5.hex-rays.com/beta90_6ba923/idaarm_90_x64mac.app.zip

https://out5.hex-rays.com/beta90_6ba923/idam68k_90_x64win.exe
https://out5.hex-rays.com/beta90_6ba923/idam68k_90_x64linux.run
https://out5.hex-rays.com/beta90_6ba923/idam68k_90_armmac.app.zip
https://out5.hex-rays.com/beta90_6ba923/idam68k_90_x64mac.app.zip

https://out5.hex-rays.com/beta90_6ba923/idamips_90_x64win.exe
https://out5.hex-rays.com/beta90_6ba923/idamips_90_x64linux.run
https://out5.hex-rays.com/beta90_6ba923/idamips_90_armmac.app.zip
https://out5.hex-rays.com/beta90_6ba923/idamips_90_x64mac.app.zip

https://out5.hex-rays.com/beta90_6ba923/idapc_90_x64win.exe
https://out5.hex-rays.com/beta90_6ba923/idapc_90_x64linux.run
https://out5.hex-rays.com/beta90_6ba923/idapc_90_armmac.app.zip
https://out5.hex-rays.com/beta90_6ba923/idapc_90_x64mac.app.zip

https://out5.hex-rays.com/beta90_6ba923/idappc_90_x64win.exe
https://out5.hex-rays.com/beta90_6ba923/idappc_90_x64linux.run
https://out5.hex-rays.com/beta90_6ba923/idappc_90_armmac.app.zip
https://out5.hex-rays.com/beta90_6ba923/idappc_90_x64mac.app.zip

https://out5.hex-rays.com/beta90_6ba923/idapro_90_x64win.exe
https://out5.hex-rays.com/beta90_6ba923/idapro_90_x64linux.run
https://out5.hex-rays.com/beta90_6ba923/idapro_90_armmac.app.zip
https://out5.hex-rays.com/beta90_6ba923/idapro_90_x64mac.app.zip

Mô tả phiên bản:
IDA Pro/Teams 9.0.240807 Phiên bản beta

Hình ảnhNăm/Ngày phát hành: 2024
Phiên bản 2024: 9.0 Build 240807
Nhà phát triển: Hex-Rays SA
Trang web của nhà phát triển Hex-Rays SA: https://hex-rays.com/

Độ sâu bit: 64bit
Ngôn ngữ giao diện: Tiếng Anh
Máy tính bảng: hiện tại
Yêu cầu hệ thống:
Windows
hiện được hỗ trợ x64 (khuyến nghị Windows 8 trở lên, khuyến nghị Windows 11 trở lên).
Linux
x64 (x86_64) CentOS 7 trở lên, Ubuntu 16.04 trở lên. Các bản phân phối tương đương khác có thể hoạt động nhưng không được đảm bảo.
OS X
macOS Catalina trở lên (x64 hoặc ARM64).

Mô tả: IDA Pro là một trình dịch ngược tương tác được sử dụng rộng rãi cho kỹ thuật đảo ngược. Nó đặc biệt linh hoạt, có ngôn ngữ lệnh tích hợp và hỗ trợ nhiều định dạng tệp thực thi cho một số lượng lớn bộ xử lý và hệ điều hành. Tác giả ban đầu và nhà phát triển chính là Ilfak Gilfanov.

Cho phép bạn xây dựng sơ đồ, thay đổi tên nhãn, xem các thủ tục cục bộ trên ngăn xếp và hơn thế nữa.

Cách trình dịch ngược có thể tạo bản đồ thực thi của chúng để hiển thị các lệnh nhị phân được bộ xử lý thực thi thực sự dưới dạng biểu diễn tượng trưng (bằng hợp ngữ). IDA Pro triển khai các công nghệ tiên tiến cho phép bạn tạo mã nguồn hợp ngữ từ mã thực thi bằng máy và làm cho mã phức tạp này dễ đọc hơn đối với con người.

Ở một mức độ nhất định, IDA có thể tự động thực hiện phân tích mã bằng cách sử dụng tham chiếu chéo, kiến ​​thức về các tham số của lệnh gọi hàm thư viện tiêu chuẩn và các thông tin khác. Tuy nhiên, toàn bộ sức mạnh của nó được bộc lộ ở sự tương tác tương tác với người dùng. Khi bắt đầu nghiên cứu, trình dịch ngược thực hiện phân tích chương trình tự động và sau đó người dùng, sử dụng các công cụ tương tác của IDA, bắt đầu đặt tên, nhận xét có ý nghĩa, tạo cấu trúc dữ liệu phức tạp và thêm thông tin vào danh sách được tạo bởi trình dịch ngược cho đến khi nó hiểu rõ chính xác chương trình đang nghiên cứu làm gì và thực hiện nó như thế nào .

Trình dịch ngược có phiên bản console và đồ họa. Hỗ trợ một số lượng lớn các định dạng tập tin thực thi. Một trong những tính năng đặc biệt của IDA Pro là khả năng phân tách mã byte của máy ảo Java và .NET. Cũng hỗ trợ macro, plugin và tập lệnh và các phiên bản mới nhất có chứa trình gỡ lỗi tích hợp.
    

Những thay đổi:
IDA Pro/Teams 9.0.240807 Phiên bản beta

Issues fixed in IDA 9.0 beta 2

    IDA Home: cloud decompilers unusable
    Replaced every reference to ida.key into ida.hexlic
    IDA Linux installer creates a weird directory in the installers's directory
    IDA Home: missing IDA Pyton module "ida_mergemod"
    missing style dylib on macOS
    decompilers: crash on navigation into non-decompilable function
    asmtil: interr 918 + crash on filtering a large list of types
    idapython: idc.get_ordinal_qty() not usable
    added wasm loader and processor module

Known issues for IDA 9.0 beta 1

    IDA Teams server (vault) not yet available
    IDA floating license server (licsrv) not yet available
    Dialogs text in Linux installer not readable on Ubuntu with dark theme active
    Linux installer creates empty directory named `***unknown variable uninstallerdirectory***`
    iOS18 DSC objc analysis lacking out-of-box (__OBJC_RO has to be loaded manually for now)
    IDA can crash on x64 macOS at file load time

Headless processing with IDAlib

    With IDAlib, both the C++ and Python APIs can be used from outside IDA to form standalone applications. The resulting program or script doesn't have to be loaded inside IDA, but rather IDA engine is invoked from inside your application.

    This makes developing against the IDA API much easier - if configured correctly, you get auto-completion and debugging in your favorite C++/Python IDE

    NO RCP or IPC to an external IDA process means you get native speed of execution

WASM Disassembler and File Format Loader

    With many apps shifting to client-side browser applications we saw the need of a new disassembler for Web Assembly (WASM).

    WASM code is embedded into its own binary file format. Hence we also ship a file loader that decodes the WASM file format

nanoMIPS Disassembler and Decompiler + md1rom Loader

    Both the MIPS disassembler and decompiler got added support for nanoMIPS instructions. The nanoMIPS support is included in the classic MIPS (HEXMIPS) decompiler, so there is no need to purchase an extra license.

    Firmware compiled for nanoMIPS often ships in md1rom format, which is why we added an md1rom file loader to IDA (which includes parsing and applying of debug symbols, if available)

New RISC-V Decompiler and Disassembler Extensions

    New decompilers targeting 32- and 64-bit RISC-V code (HEXRV and HEXRV64) are now available.

    We extended the RISC-V processor module to support T-Head extension instructions (used in Xuantie and Allwinner processors)

C++ Exceptions Support in the Decompiler

    The decompiler can now emit try / catch blocks. As the first step, we implemented support for the C++ exception scheme in binaries compiled for x64 using Microsoft VC++

IDAPython Improvements

    Most IDAPython APIs now have type annotations, making the API less obstructive to use.

    Python virtual environments are now supported - simply point $PATH to the directory containing the interpreter inside the virtual environment (done automatically by the activation script).

    Objects returned in the Python API are properly zero-initialized.

    Auto-completion in IDA's CLI now disregards __magic_methods__ and auto-generated SWIG methods, which reduces noise and helps finding a particular function easier.

FLIRT Updates

    We massively updated, modernized and extended the number of FLIRT signatures available for use with IDA. As of this release, we provide (and plan to maintain) signatures for the following operating systems, languages, architectures, and software packages:

    Golang:

        Versions: stable versions from 1.10.0 to 1.22.5 and unstable version 1.23.0-rc1/1.23.0-rc2

        Windows: x86, x64, arm, arm64

        Linux: i386, amd64, arm, arm64

        Darwin: amd64, arm64

    C/C++

        Windows (MSVC):

            Architectures: arm, arm64, i386, amd64

            Packages: ATL, CTL, MFC, Windows SDK 10, Windows SDK 11

        Linux:

            Distribution: Ubuntu & Debian

            Architectures: i386, amd64, arm64, armhf, armel, arm, s390x, mips64el, mipsel, mips, ppc64el

            Packages: libc6, libselinux1, libpcre2, libidn2, libssl, zlib1g, lib32z1, libunistring, libcurl4-gnutls, libcurl4-nss, libcurl4-openssl, libnghttp2, libidn2, librtmp, libssh, libssh-gcrypt, libpsl, libldap, libzstd, libbrotli, libgnutls28, nettle, libgmp, comerr, libsasl2, libbrotli, libtasn1-6, libkeyutils, libffi, uuid, libprotobuf, heimdal-multidev, musl, libplib, libsdl1.2-bundle (libsdl-console, libsdl-sge, libsdl1.2, libsdl-ocaml, libsdl-image1.2, libsdl-kitchensink, libsdl-mixer1.2, libsdl-net1.2, libsdl-sound1.2, libsdl-ttf2.0, libsdl1.2-compat, libsdl-gfx1.2, libsdl-pango), libsdl2-bundle (libsdl2, libsdl2-gfx, libsdl2-image, libsdl2-mixer, libsdl2-net, libsdl2-ttf)

    The extra signatures are initially available as separate download

Metadata Descriptors for Plugins

    ida-plugin.json now offers a standardized entrypoint for plugins. This enables plugin authors to follow their own plugin directory structure, all they need to do is point IDA to the main plugin entry point. To maintain backward compatibility, IDA will keep loading plugins in the pre-9.0 way for a couple of releases.

 

With the following directory structure:

plugins
└── ida_greeter
    ├── ida-plugin.json
    └── main.py

A possible ida-plugin.json could look as follows:

{
  "plugin" :
  {
    "name" : "greeter",
    "entryPoint" : "main.py"
  }
}

No more IDA32

    We deprecated IDA32 a few versions ago. With IDA 9.0, we’re unifying the IDA binaries targeting 32 or 64 bit code into just one IDA64 binary. This means:

    Number of installed files is cut in half

    Easier life for native plugin maintainers since only one version (__EA64__) needs to be maintained.

    Conversion of IDB files to I64 file format is transparently and automatically performed by IDA64.

UI Improvements

    The legacy Enums and Structures views are removed entirely and replaced by Local Types. This also means that struct.hpp and enum.hpp and their counterparts ida_struct and ida_enum disappear from the API. Replacement functionality for both headers/modules is now located (mostly) in typeinf.hpp / ida_typeinf. A porting guide will be available for the release.

    The function prototype editor (aka y shortcut on a function name) now can toggle between the classic free-text one-line editor and a new multi-line editor featuring the usual shortcuts and controls. By the same time, we added basic support for UI-based editing of argument locations, to make prototype syntax less of a hassle to remember.

    It is now possible to specify fixed size for structures and to enable field packing easily

    A refreshed set of shortcuts which better matches the modern OS conventions can now be selected instead of the traditional shortcuts

Full list of changes and new features
Processor modules

    ARM: improve detection of targets of indirect jump instructions
    ARM: improved prolog analysis to recognize and mark calls to chkstk_darwin
    AVR: update missing bit definitions for ATmega640
    MIPS: support for NanoMIPS instruction set
    RISCV: added support for legacy instruction sfence.vm
    RISCV: added support for T-Head custom instructions
    wasm: new processor module (Web Assembly)

File formats

    ELF: added support for nanoMIPS
    ELF: ARM64: added support for R_AARCH64_P32_TLS_TPREL relocation type, used by ILP32
    md1img: loader for Mediatek modem firmware images (nanoMIPS and MIPS16e2)
    MACHO: support __chain_starts format 5 (DYLD_CHAINED_PTR_32_FIRMWARE)

FLIRT / TILS / IDS

    FLAIR: PCF: added support for ARM64 COFF files
    pelf: proper handling of ELF32 for AArch64 (ILP32)

Standard plugins

    eh_parse: skip leading and trailing zero entries in x64 .pdata for PE files (real binaries have them); improve recognition of exception dispatcher functions in debug builds
    eh_parse: x64 exception handlers are standalone functions and not function chunks
    eh34: new plugin to handle c++ exceptions for the binaries built by msvc x64
    pdb: added an option to only load names (useful with large PDBs when you don't need types)

Kernel/Misc

    goodname.cfg: improve simplification of MSVC STL classes
    kernel: support for ida-plugin.json
    kernel: improved strlit detection (short ones were converted to data items)
    noret.cfg: added terminate, std_terminate to the list of non-returning functions
    installer: macOS: install all contents into a single .app bundle
    licensing: replaced FlexNet licensing server by custom Hex-Rays licensing server (floating licenses only)

Scripting & SDK

    IDAPython: added find_binary and find_string
    IDAPython: added detection of virtual environments (venv)
    IDAPython: Added more pointer wrappers for integer types defined in pro.h
    IDAPython: idapyswitch can now be used with read-only IDA installations
    IDAPython: Removed __magic_methods__ from CLI auto completion
    IDAPython: zero-initialize C++ objects exposed in the Python API
    IDAPython: loader_input_t.read() should return an empty bytes object upon read error, not None
    SDK: Add Visual Studio templates for plugins and loaders
    SDK: added FUNC_UNWIND/FUNC_CATCH function flags to mark exception handlers, they will be ignored in decompilation
    SDK: added pipe_process() to launch a process and establish a 2-way communication with it
    SDK: added qlist::splice()
    SDK: moved node_ordering_t to gdl.hpp
    SDK: published basic undo interface (create undo point, undo, redo)
    SDK: renamed abstract_graph_t -> drawable_graph_t; mutable_graph_t -> interactive_graph_t

UI

    UI: added an option to retain structure size (Fixed size structs)
    UI: Added "pack fields" checkbox to control gaps between fields for structs
    UI: command palette: fix wrong reports about "command failed"
    UI: hadle export/import of Local types to IDC is in a more flexible way. User is able to select the different policies, for example: load the types and skip the equal.
    UI: if IDA already has a file open, "Open" opens a file in a new IDA instance
    UI: it is now possible to inspect the contents of base type libraries, by double-clicking on them in the "Type libraries" view
    UI: new shortcut set better aligned with modern OS conventions
    UI: got rid of "Structs" and "Enums" widgets
    UI: new shortcuts: Alt- (and CMD-) to jump to a window

Decompilers

    decompiler: riscv: added RV32 and RV64 decompilers
    decompiler: added try/catch ctree statement
    decompiler: improved detection of variadic arg types
    decompiler: introduced a new event: hxe_inlining_func
    decompiler: published a few graph algorthims (pre/port ordering and dominator calculation)
    decompiler: published the control_graph_t class; made it possible for third-party plugins to perform structural analysis
    decompiler: arm: added support for VSEL insn (ARMv8-M)
    decompiler: impoved structure copy recognition
    decompiler: improved cfunc_t cache by introducing "saved_to_idb"; otherwise we were saving all decompiled functions upon each "save_database", again and again
    decompiler: improved constant representation in comparisons with binary operators
    decompiler: improved hexrays history to support c++ exception handlers
    decompiler: improved the error message about the missing license: tell the user what license is missing
    decompiler: mips: added support for movtz and movtn (MIPS16e2)

Bugfixes

    BUGFIX: ARM: analysis speed could be slow on large 32-bit firmware binaries
    BUGFIX: ARM: fixed endless loop which could happen when analysing function chunk before main function entry
    BUGFIX: ARM: stop decoding undefined MOV Wx, #imm variants (imm not fitting in 32 bits)
    BUGFIX: cvt64: converting an old .idb to .i64 would fail if its path contained a space
    BUGFIX: debugger: win32_remote.exe was unnecessarily requiring an API instroduced in Windows Vista and would not run on XP anymore
    BUGFIX: decompiler: expressions with variable sized structures could be mishandled
    BUGFIX: decompiler: IDA could complain "Could not find a matching license for product" when multiple decompilers were installed
    BUGFIX: decompiler: internal errors triggered by UI-related code (e.g. generaing tooltips) could result in "Unknown C++ exception" fatal error
    BUGFIX: decompiler: pressing F5 was not refreshing the pseudocode window in some cases; we were discarding the decompilation result
    BUGFIX: decompiler: value range optimization could lead to code being wrongly removed
    BUGFIX: DSCU: a GAP spanning multiple subcache files would fail to load
    BUGFIX: kernel: IDA on Linux had an unnecessary hard dependency on libsecret and would refuse to run without it.
    BUGFIX: navigating to a global name which matched a known type name would fail
    BUGFIX: objc: NS*Block reference detection error would end up creating incoherent block structures over unrelated data
    BUGFIX: PC: alloca_probe / chkstk_ms does not modify rsp or rax in x64 code, unlike x86
    BUGFIX: PC: REX prefix could be incorrectly applied to 32-bit instructions
    BUGFIX: PC: vmovw instruction was decoded as if using 16-bit registers (it actually uses 32-bit ones)
    BUGFIX: PDB: inporting types from some large PDBs would fail with "the maximum recursion level was reached"
    BUGFIX: RISCV: fence.i instruction was not decoded
    BUGFIX: SDK: fixed a debug/opt build incompatibility in reg_finder_t (std::map member)
    BUGFIX: SDK: set_all_bits() and clear_all_bits() would behave wrong on bitmaps with size not a multiple of 8
    BUGFIX: sometimes information about newly created range-like entities (segments/functions/...) could be lost during UNDO
    BUGFIX: tinfo: xrefs to a deleted enum were not removed
    BUGFIX: UI: large amounts of lines in the "Output" window could cause slowdowns
    BUGFIX: UI: when using COLOR_INV color code (e.g. in a custom viewer), IDA would use default color for the text instead of the previous background color
    

Hướng dẫn cài đặt

       Ở đây tôi sẽ thực hiện trên Windows 10.

Download


       Chọn vào installers original để mở và cài đặt tướng ứng với OS đang sử dụng.

Lưu ý: IDA Pro 9.0 BETA yêu cầu Python 3 để hoạt động
       Nhấn Next để tiếp tục, quá trình cài đặt hoàn toàn tự động.

Lưu ý: Vui lòng sao chép tệp ida.hexlic của bạn vào thư mục cài đặt IDA hoặc vào thư mục "%APPDATA%\Hex-Rays\Ida Pro" trước khi khởi chạy IDA.
IDA sẽ không hoạt động nếu không có tệp giấy phép.
       Thư mục cài đặt của IDA Pro, mặc định là C:\Program Files\IDA Professional 9.0

Hướng dẫn bẻ khóa

            Lưu ý: Bản crack này lấy từ Internet, các bạn vui lòng tự mình test backdoor.

       Mở thư muc crack để lấy file crack


         Bước 1 - Giải nén windows.7z được các thư mục sau.


       Có hai gói là patched v1 (không cần chữ ký) và patched v2 (chữ ký pubkey đã thay thế). Có thể chọn một trong hai đều được.
  • Nếu chọn patched v1 (no need signature) có các tệp như hình dưới đây.

Chỉ cần sao chép 3 tệp ida.dll, ida64.dllida.hexlic vào thư mục cài đặt của IDA Pro (mặc định là: C:\Program Files\IDA Professional 9.0) là xong. Kết quả.

  • Nếu chọn patched v2 (pubkeys signature replaced) có các tệp như sau.
 
       Copy vào thư mục cài đặt của IDA Pro tương tự như patched v1, kết quả ta có.

Hướng dẫn sửa đổi thông tin giấy phép

            Lưu ý: Chỉ áp dụng được với patched v1 pached v1 không có key

       Mở tệp ida.hexlic trong thư mục patched v1 bằng trình soạn thảo như VSCode/Notepad++/Sublime Text... .Tìm đến vị trí đóng khung xanh như hình dưới đây và sửa nội dung trong dấu ngoặc kép tùy ý, ở đây tôi sửa thành "Cracked by MT-CyberSecurity", tiếp theo copy nó vào thư mục cài đặt của IDA Pro.


       Kết quả.


       Đối với patched v2, do đã được gán key nên nếu muốn sửa đổi giấy phép các bước thực hiện như sau:

            Lưu ý: Bạn cần chạy tập lệnh python với quyền nâng cao.
  • Chuẩn bị tệp lệnh python ① và patch ②. Hai tệp này đã có sẵn trong thư mục tải về dưới đây.
  • Giải nén tệp ida9_0_patch.zip → copy tệp crack_ida90_beta.py vào cùng thư mục ida9_0_patch đã giải nén.

       Chạy crack_ida90_beta.py với quyền nâng cao.


       Kết quả sẽ tạo ra thêm ba tệp là ida.dll.patched, ida64.dll.patchedida.hexlic.


       Đến đây là đã thành công rồi, bạn xóa phần mở rộng .patched đi để tạo ra tệp ghi đè.


       Cuối cùng copy ba tệp này ida.dll, ida64.dll và ida.hexlic vào thư mục cài đặt gốc để hoàn thành (mặc định là: C:\Program Files\IDA Professional 9.0).

       Tiếp theo, mở tệp ida.hexlic trong thư mục cài đặt gốc bằng trình soạn thảo như VSCode/Notepad++/Sublime Text, .... với quyền Administrator. Tìm đến vị trí đóng khung xanh như trong hình bên dưới, bạn sửa nội dung trong dấu ngoặc kép theo ý muốn, ở đây tôi sẽ sửa thành "Cracked by MT-CyberSecurity".


            Kết quả trước và sau khi sửa.

Bên lề

Hướng dẫn tự tạo file crack và sửa đổi giấy phép

Áp dụng trên Windows

        Tạo một tệp đổi tên thành ida.hexlic và thêm nội dung như dưới đây:
{"header":{"version":1},"payload":{"name":"test","email":"test","licenses":[{"id":"0C-2238-4E5A-7B","product":"IDA","owner":"0C-2238-4E5A-0A","license_type":"named","seats":1,"add_ons":[{"id":"0C-2238-4E5A-01","code":"HEXX86","owner":"0C-2238-4E5A-0A","start_date":"2024-08-08 08:08:08","end_date":"2034-08-08 08:08:08"},{"id":"0C-2238-4E5A-02","code":"HEXX64","owner":"0C-2238-4E5A-0A","start_date":"2024-08-08 08:08:08","end_date":"2034-08-08 08:08:08"},{"id":"0C-2238-4E5A-03","code":"HEXARM","owner":"0C-2238-4E5A-0A","start_date":"2024-08-08 08:08:08","end_date":"2034-08-08 08:08:08"},{"id":"0C-2238-4E5A-04","code":"HEXARM64","owner":"0C-2238-4E5A-0A","start_date":"2024-08-08 08:08:08","end_date":"2034-08-08 08:08:08"},{"id":"0C-2238-4E5A-05","code":"HEXMIPS","owner":"0C-2238-4E5A-0A","start_date":"2024-08-08 08:08:08","end_date":"2034-08-08 08:08:08"},{"id":"0C-2238-4E5A-06","code":"HEXMIPS64","owner":"0C-2238-4E5A-0A","start_date":"2024-08-08 08:08:08","end_date":"2034-08-08 08:08:08"},{"id":"0C-2238-4E5A-07","code":"HEXPPC","owner":"0C-2238-4E5A-0A","start_date":"2024-08-08 08:08:08","end_date":"2034-08-08 08:08:08"},{"id":"0C-2238-4E5A-08","code":"HEXPPC64","owner":"0C-2238-4E5A-0A","start_date":"2024-08-08 08:08:08","end_date":"2034-08-08 08:08:08"},{"id":"0C-2238-4E5A-09","code":"HEXRV64","owner":"0C-2238-4E5A-0A","start_date":"2024-08-08 08:08:08","end_date":"2034-08-08 08:08:08"},{"id":"0C-2238-4E5A-10","code":"HEXARC","owner":"0C-2238-4E5A-0A","start_date":"2024-08-08 08:08:08","end_date":"2034-08-08 08:08:08"},{"id":"0C-2238-4E5A-11","code":"HEXARC64","owner":"0C-2238-4E5A-0A","start_date":"2024-08-08 08:08:08","end_date":"2034-08-08 08:08:08"}],"features":[],"start_date":"2024-08-08 08:08:08","issued_on":"2024-08-08 08:08:08","end_date":"2034-08-08 08:08:08"}]}}
  • Sử dụng phần mềm chỉnh sửa nhị phân như 010 Editor để sửa đổi tệp ida64.dll, tại địa chỉ  0x342D8B sửa 75 thành 74 để loại bỏ việc kiểm tra ký tự.
  • Sao chép tệp ida.hexlic vào thư mục gốc của IDA để hoàn tất quá trình bẻ khóa.
  • Thành công
Lưu ý: Trên thực tế, tôi chỉ sửa đổi ida64.dll chứ không phải ida.dll, vì vậy phương pháp này chỉ bẻ khóa 64-bit.

Áp dụng trên Windows/Linux/MacOS

        Sử dụng tập lệnh Python trong link dưới đây.
   Backup
Nội dung đoạn mã Pyhton như dưới đây.

Nội dung:
import json
import hashlib
import os
 
license = {
    "header": {"version": 1},
    "payload": {
        "name": "meow :3",
        "email": "hi@hex-rays.com",
        "licenses": [
            {
                "id": "48-2137-ACAB-99",
                "license_type": "named",
                "product": "IDA",
                "seats": 1,
                "start_date": "2024-08-10 00:00:00",
                "end_date": "2033-12-31 23:59:59",  # This can't be more than 10 years!
                "issued_on": "2024-08-10 00:00:00",
                "owner": "cracked by alula :3",
                "add_ons": [
                    # {
                    #     "id": "48-1337-DEAD-01",
                    #     "code": "HEXX86L",
                    #     "owner": "48-0000-0000-00",
                    #     "start_date": "2024-08-10 00:00:00",
                    #     "end_date": "2033-12-31 23:59:59",
                    # },
                    # {
                    #     "id": "48-1337-DEAD-02",
                    #     "code": "HEXX64L",
                    #     "owner": "48-0000-0000-00",
                    #     "start_date": "2024-08-10 00:00:00",
                    #     "end_date": "2033-12-31 23:59:59",
                    # },
                ],
                "features": [],
            }
        ],
    },
}
 
def add_every_addon(license):
    platforms = [
        "W",  # Windows
        "L",  # Linux
        "M",  # macOS
    ]
    addons = [
        "HEXX86",
        "HEXX64",
        "HEXARM",
        "HEXARM64",
        "HEXMIPS",
        "HEXMIPS64",
        "HEXPPC",
        "HEXPPC64",
        "HEXRV64",
        "HEXARC",
        "HEXARC64",
        # Probably cloud?
        # "HEXCX86",
        # "HEXCX64",
        # "HEXCARM",
        # "HEXCARM64",
        # "HEXCMIPS",
        # "HEXCMIPS64",
        # "HEXCPPC",
        # "HEXCPPC64",
        # "HEXCRV",
        # "HEXCRV64",
        # "HEXCARC",
        # "HEXCARC64",
    ]
 
    i = 0
    for addon in addons:
        i += 1
        license["payload"]["licenses"][0]["add_ons"].append(
            {
                "id": f"48-1337-DEAD-{i:02}",
                "code": addon,
                "owner": license["payload"]["licenses"][0]["id"],
                "start_date": "2024-08-10 00:00:00",
                "end_date": "2033-12-31 23:59:59",
            }
        )
    # for addon in addons:
    #     for platform in platforms:
    #         i += 1
    #         license["payload"]["licenses"][0]["add_ons"].append(
    #             {
    #                 "id": f"48-1337-DEAD-{i:02}",
    #                 "code": addon + platform,
    #                 "owner": license["payload"]["licenses"][0]["id"],
    #                 "start_date": "2024-08-10 00:00:00",
    #                 "end_date": "2033-12-31 23:59:59",
    #             }
    #         )
 
add_every_addon(license)
 
def json_stringify_alphabetical(obj):
    return json.dumps(obj, sort_keys=True, separators=(",", ":"))
 
def buf_to_bigint(buf):
    return int.from_bytes(buf, byteorder="little")
 
def bigint_to_buf(i):
    return i.to_bytes((i.bit_length() + 7) // 8, byteorder="little")
 
# Yup, you only have to patch 5c -> cb in libida64.so
pub_modulus_hexrays = buf_to_bigint(
    bytes.fromhex(
        "edfd425cf978546e8911225884436c57140525650bcf6ebfe80edbc5fb1de68f4c66c29cb22eb668788afcb0abbb718044584b810f8970cddf227385f75d5dddd91d4f18937a08aa83b28c49d12dc92e7505bb38809e91bd0fbd2f2e6ab1d2e33c0c55d5bddd478ee8bf845fcef3c82b9d2929ecb71f4d1b3db96e3a8e7aaf93"
    )
)
pub_modulus_patched = buf_to_bigint(
    bytes.fromhex(
        "edfd42cbf978546e8911225884436c57140525650bcf6ebfe80edbc5fb1de68f4c66c29cb22eb668788afcb0abbb718044584b810f8970cddf227385f75d5dddd91d4f18937a08aa83b28c49d12dc92e7505bb38809e91bd0fbd2f2e6ab1d2e33c0c55d5bddd478ee8bf845fcef3c82b9d2929ecb71f4d1b3db96e3a8e7aaf93"
    )
)
 
private_key = buf_to_bigint(
    bytes.fromhex(
        "77c86abbb7f3bb134436797b68ff47beb1a5457816608dbfb72641814dd464dd640d711d5732d3017a1c4e63d835822f00a4eab619a2c4791cf33f9f57f9c2ae4d9eed9981e79ac9b8f8a411f68f25b9f0c05d04d11e22a3a0d8d4672b56a61f1532282ff4e4e74759e832b70e98b9d102d07e9fb9ba8d15810b144970029874"
    )
)
 
def decrypt(message):
    decrypted = pow(buf_to_bigint(message), exponent, pub_modulus_patched)
    decrypted = bigint_to_buf(decrypted)
    return decrypted[::-1]
 
def encrypt(message):
    encrypted = pow(buf_to_bigint(message[::-1]), private_key, pub_modulus_patched)
    encrypted = bigint_to_buf(encrypted)
    return encrypted
 
exponent = 0x13
 
def sign_hexlic(payload: dict) -> str:
    data = {"payload": payload}
    data_str = json_stringify_alphabetical(data)
 
    buffer = bytearray(128)
    # first 33 bytes are random
    for i in range(33):
        buffer[i] = 0x42
 
    # compute sha256 of the data
    sha256 = hashlib.sha256()
    sha256.update(data_str.encode())
    digest = sha256.digest()
 
    # copy the sha256 digest to the buffer
    for i in range(32):
        buffer[33 + i] = digest[i]
 
    # encrypt the buffer
    encrypted = encrypt(buffer)
 
    return encrypted.hex().upper()
 
def generate_patched_dll(filename):
    if not os.path.exists(filename):
        print(f"Didn't find {filename}, skipping patch generation")
        return
 
    with open(filename, "rb") as f:
        data = f.read()
 
        if data.find(bytes.fromhex("EDFD42CBF978")) != -1:
            print(f"{filename} looks to be already patched :)")
            return
 
        if data.find(bytes.fromhex("EDFD425CF978")) == -1:
            print(f"{filename} doesn't contain the original modulus.")
            return
 
        data = data.replace(
            bytes.fromhex("EDFD425CF978"), bytes.fromhex("EDFD42CBF978")
        )
 
        patched_filename = f"{filename}.patched"
        with open(patched_filename, "wb") as f:
            f.write(data)
 
        print(f"Generated modulus patch to {patched_filename}! To apply the patch, replace the original file with the patched file")
 
# message = bytes.fromhex(license["signature"])
# print(decrypt(message).hex())
# print(encrypt(decrypt(message)).hex())
 
license["signature"] = sign_hexlic(license["payload"])
 
serialized = json_stringify_alphabetical(license)
 
# write to ida.hexlic
filename = "ida.hexlic"
 
with open(filename, "w") as f:
    f.write(serialized)
 
print(f"Saved new license to {filename}!")
 
generate_patched_dll("ida.dll")
generate_patched_dll("ida64.dll")
generate_patched_dll("libida.so")
generate_patched_dll("libida64.so")
generate_patched_dll("libida.dylib")
generate_patched_dll("libida64.dylib")
            

Hướng dẫn cho MacOS

        Các bước thực hiện tương tự trên macOS . Lưu ý bạn cần mở các thư mục theo thứ tự: /Contents/MacOS/plugins/, tìm file arm_mac_user64.dylib, nhấn chuột phải để xóa nó. gặp lỗi khi chạy ida pro. Sau khi xóa file, bạn sẽ đặt crack_ida90_beta.py vào thư mục /Contents/MacOS/ và thực thi nó tại đây. Như thường lệ, hãy bỏ qua ida.hexlic hậu tố của hai file còn lại và thay thế các file trong thư mục hiện tại.

Tổng kết lại các phương pháp

        So sánh các phương pháp có sẵn để Patch IDA trong Hướng dẫn này:

Phương pháp Hệ điều hành Tác giả Đánh giá Sử dụng
1 Đa hệ điều hành (Mac, Linux, Windows), Có thể tùy chỉnh (Ngày hết hạn, Người dùng đã đăng ký) alula Tốt nhất Là một tập lệnh Python
2 Chỉ dành cho Windows, Chỉnh sửa HEX Vá thủ công các tệp ".dll" TOM_RUS Tốt nhất xếp sau Phương pháp 1 Khá tuyệt nhưng chỉ dành cho Windows
3 Chỉ dành cho Windows, Chương trình vá (.exe) của DrFarFar (Nguồn đóng đang bị đe dọa) DrFarFar Phương pháp tệ nhất Tệ nhất kể từ khi mã nguồn đóng của nó không biết là phần mềm gì, có đoạn âm thanh phát ra rất to

        Dưới đây là chi tiết từng phương pháp

Chuẩn bị công cụ như ở linh dưới đây.

PHƯƠNG PHÁP 1 [alula]: Tự động vá lỗi đa hệ điều hành thông qua một tập lệnh

Mô tả

        Đây là phương pháp tự động vá lỗi đa hệ điều hành thông qua tập lệnh “patch_ida.py”. Bạn có thể sửa đổi tập lệnh để đăng ký cho người dùng khác và điều chỉnh ngày hết hạn.

Các bước thực hiện

  1. Sao chép tệp “patch_ida.py” vào thư mục IDA

    • Đối với Windows: “C:\Program Files\IDA Professional 9.0
    • Đối với MAC và Linux: Thư mục sẽ khác nhau
  2. Mở Terminal với quyền nâng cao

    • Windows: CMD với quyền nâng 
    • MAC/Linux: Root Terminal Shell
  3. Dùng lênh CD chuyển vào thư mục IDA với tập lệnh

    • Windows: cd "C:\Program Files\IDA Professional 9.0"
  4. Thực thi tập lệnh Python trong thư mục đó

    • Windows: ./patch_ida.py
    • MAC/Linux: python patch_ida.py, py patch_ida.py, python3 patch_ida.py

    Nếu không tìm thấy Python, kiểm tra cài đặt hoặc biến môi trường.

  5. Đổi tên các tệp đã được vá

    • Trong thư mục IDA, bạn sẽ thấy các tệp có đuôi “.patched”
    • Đối với Windows:
      • ida.dll.patched => ida.dll
      • ida64.dll.patched => ida64.dll
      • Đổi tên các tệp cũ:
        • ida.dll => ida.dll.old
        • ida64.dll => ida64.dll.old

Khởi động lại IDA

        Sau khi hoàn tất các bước trên, khởi động lại IDA để áp dụng các thay đổi.

Phướng pháp này chính là Hướng dẫn sửa đổi giấy phép như ở phần trên.

PHƯƠNG PHÁP 2 [TOM_RUS]

Mô tả

        Đây là bản vá HEX thủ công chỉ dành cho Windows.

Các bước thực hiện

        1. Tải xuống Hex Editor
    • Copy hai tệp ida.dllida64.dll trong thư mục cài đặt gốc vào tạm một thư mục khác với thư mục cài đặt mục đích là để không phải chạy HxD với quyền Administrator.
        2. Chỉnh sửa “ida.dll
    • Mở “ida.dll” từ thư mục lưu tạm thời.
    • Nhảy đến Offset “32B273
    • Tại Offset đó, bạn sẽ thấy các byte “74 04”, chỉnh sửa/thay thế bằng “90 90” (là một Lệnh NOP)
    • Lưu “ida.dll” mới, thay thế cái cũ bằng cái mới
        3. Chỉnh sửa “ida64.dll
    • Mở “ida64.dll” từ thư mục lưu tạm thời.
                    Nhấn Insert trên bàn phím để chuyển về chế độ Insert

    • Nhảy đến Offset “342E53”  (Menu Search → Goto hoặc Ctrl+G). Hộp thoai Goto xuất hiện, điền vào “342E53”, nhấn OK          

        HxD sẽ nhảy tới địa chỉ “342E50

    • Tại Offset đó, bạn sẽ thấy các byte “74 04”, chỉnh sửa/thay thế bằng “90 90” (là một Lệnh NOP)
    • Lưu “ida64.dll” mới, copy lại vào thư mục gốc để ghi đè.
        4. Sao chép tệp “ida.hexlic
    • Trong Thư mục “TOM_RUS_hexlic”, sao chép và dán tệp “ida.hexlic” vào thư mục cài đặt IDA (đối với tôi, tệp này được cài đặt trong “C:\Program Files\IDA Professional 9.0”)
            5. Hoàn tất

    Khởi động lại IDA

      • Khởi động IDA để hoàn tất!!
    Lưu ý sử dụng HxD để chỉnh sửa: Hãy chú ý đến hai chế độ Overwrite - Ghi đè và chế độ Insert - Chèn (bạn sẽ thấy thông báo trên thanh trạng thái và có thể nhấn phím Insert trên bàn phím để chuyển đổi).

    Trên thực tế đây tôi cài bản 64 bit do vậy chỉ cần chỉnh sửa tệp ida64.dll mà không cần phải chỉnh sửa ida.dll .

    PHƯƠNG PHÁP 3: Công cụ từ DrFarFar

    Mô tả

    Đây là công cụ từ DrFarFar. Tôi không khuyến khích chạy hoặc sử dụng vì nó không phải là mã nguồn mở, không thể tùy chỉnh, chỉ dành cho Windows và phát ra tiếng nói ồn ào.

    Quét bảo mật

    • Virus Total: Kết quả quét
    • Hybrid Analysis: Kết quả quét

    Các bước thực hiện

    1. ChạyIDA Professional 9 Activation Tool.exetrong thư mục Setup.
      • Lưu ý: Tự chịu rủi ro khi chạy công cụ này
     
    2. Mở thư mục Activation Tool” chạy IDA Professional 9 Activation Tool.exevới quyền nâng cao.
      •  Hộp thoại hiện ra nhấn Patch.

      • Kết quả khi patch thành công!

    Khởi động lại IDA

      • Sau khi hoàn tất các bước trên, khởi động lại IDA để áp dụng các thay đổi.



    Bài viết được tổng hợp lại lại từ nhiều nguồn trên Internet.

    Tham khảo

    ================================
    Link tải
    
    1-https://web.archive.org/web/20240808080936/https://out5.hex-rays.com/beta90_6ba923/
    
    2-Trang Web: https://btdig.com/be0bdb01db373997f5756672f1722030e5d11c57/ida-pro-9.0-beta
    
    magnetxt=urnbtihbe0bdb01db373997f5756672f1722030e5d11c57&dn=IDA+9.0.240807+Beta+2+-+August+11+2024&tr=udptracker.openbittorrent.com80&tr=udptracker.opentrackr.org1337announce
    
    3-https://dl.naixi.net/tools/ida/9.0/ (Dùng VPNd để truy cập)
    
    4-http://xjepeflts2qwhqb77bw5vj6xguve56rpyeoxibztd7t7fehxxowt5fad.onion/9.0/Beta2/
    
    5-http://fckilfkscwusoopguhi7i6yg3l6tknaz7lrumvlhg5mvtxzxbbxlimid.onion/
    
    6-https://gofile.io/d/CbpNVF
    
    ================================
    Link Bài viết
    
    1-https://rutracker.org/forum/viewtopic.php?t=6560957
    
    2-https://bbs.naixi.net/thread-232-1-1.html
    
    3-https://dl.naixi.net/tools/ida/9.0/
    
    4-https://www.dr-farfar.com/hex-rays-ida-pro-full-activated/
    
    5-https://www.52pojie.cn/forum-4-1.html
    
    6-https://www.52pojie.cn/forum.php?mod=forumdisplay&fid=4&filter=typeid&typeid=123
    
    7-https://cn-sec.com/archives/3056230.html
    
    8-https://cn-sec.com/archives/3056230.html
    
    9-https://cn-sec.com/archives/3056230.html
    
    10-https://www.hancoolsec.com/articles/tools/322.html
    
    11-https://bbs.kanxue.com/thread-282835-1.htm
    
    12-https://linux.do/t/topic/174817
    
    13-https://mp.weixin.qq.com/s?__biz=MzkzNDU5NTg5OQ==&mid=2247483717&idx=1&sn=3e6310cff421b20109e8c47520a91ae5
    
    14-https://mp.weixin.qq.com/s?__biz=MzkzNDU5NTg5OQ==&mid=2247483723&idx=1&sn=403dde9ec729c51dc4ef44cafc13a58a&chksm=c2bb9d1ff5cc1409c87abe3eb477aafb2515f70548e41cf2b02a6010df3c6f00a14e20240b6f&cur_album_id=3209913356636291080&scene=189#wechat_redirect

    Backup

    Đăng nhận xét

    Cookie Consent
    We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
    Oops!
    It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
    AdBlock Detected!
    We have detected that you are using adblocking plugin in your browser.
    The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
    Site is Blocked
    Sorry! This site is not available in your country.