Table of Contents
Tuyên bố từ chối trách nhiệm
Giới thiệu về IDA Pro
Nguồn hướng dẫn tải về
https://x.com/gmhzxy/status/1821962897888780446
— gmh5225 (@gmhzxy) August 10, 2024
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
Tổng hợp những link bakup
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/
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
1-https://web.archive.org/web/20240815124828/https://rutracker.org/forum/viewtopic.php?t=6560957
2-https://archive.org/details/images_20240824
3-https://web.archive.org/web/20240831150936/https://rutracker.org/forum/viewtopic.php?t=6560957
Lưu ý: IDA Pro 9.0 BETA yêu cầu Python 3 để hoạ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.
Hướng dẫn bẻ khóa
Chỉ cần sao chép 3 tệp ida.dll, ida64.dll và ida.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ả.
Hướng dẫn sửa đổi thông tin giấy phép
- 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.
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
{"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
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
Tổng kết lại các phương pháp
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 |
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
-
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
-
Mở Terminal với quyền nâng cao
- Windows: CMD với quyền nâng
- MAC/Linux: Root Terminal Shell
-
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"
-
Windows:
-
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.
- Windows:
-
Đổ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- Tôi sử dụng HXD: https://mh-nexus.de/en/hxd/
- Copy hai tệp ida.dll và ida64.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.
- 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
- Mở “ida64.dll” từ thư mục lưu tạm thời.
- 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
- 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 đè.
- 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”)
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ạy “IDA Professional 9 Activation Tool.exe” trong thư mục Setup.
2. Mở thư mục “Activation Tool” chạy “IDA Professional 9 Activation Tool.exe”với quyền nâng cao.
- Kết quả khi patch thành công!
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