<- klik di sini untuk bergabung dengan server perselisihan.
Proyek ini bertujuan untuk merekonstruksi dengan sempurna kode sumber Touhou Koumakyou ~ Perwujudan Setan Merah 1.02 jam oleh Tim Shanghai Alice.
Proyek ini masih dalam tahap pengerjaan dan tahap awal.
Proyek ini memerlukan東方紅魔郷.exe
asli versi 1.02h (SHA256 hashsum 9f76483c46256804792399296619c1274363c31cd8f1775fafb55106fb852245, Anda dapat memeriksa hashsum di windows dengan perintah certutil -hashfile <path-to-your-file> SHA256
.)
Salin東方紅魔郷.exe
ke resources/game.exe
.
Sistem build memiliki persyaratan paket berikut:
python3
>= 3.4msiextract
(Hanya di linux/macos)wine
(hanya di linux/macos, pilih CrossOver di macOS untuk menghindari kemungkinan masalah tumpukan CL.EXE)aria2c
(opsional, memungkinkan pengunduhan torrent, akan diinstal secara otomatis di Windows jika dipilih.)Sistem pembangunan lainnya dibangun dari Visual Studio 2002 dan DirectX 8.0 dari Arsip Web.
Ini akan mengunduh dan menginstal kompiler, perpustakaan, dan alat lainnya.
Jika Anda menggunakan Windows, dan karena alasan tertentu ingin mengunduh dependensi secara manual, jalankan perintah ini untuk mendapatkan daftar file yang akan diunduh:
python scripts/create_devenv.py scripts/dls scripts/prefix --no-download
Namun jika Anda ingin semuanya diunduh secara otomatis, jalankan seperti ini:
python scripts/create_devenv.py scripts/dls scripts/prefix
Dan jika Anda ingin menggunakan torrent untuk mengunduh dependensi tersebut, gunakan ini:
python scripts/create_devenv.py scripts/dls scripts/prefix --torrent
Di linux dan mac, jalankan skrip berikut:
# NOTE: On macOS if you use CrossOver.
# export WINE=<CrossOverPath>/wine
./scripts/create_th06_prefix
Jalankan skrip berikut:
python3 ./scripts/build.py
Ini secara otomatis akan menghasilkan skrip build ninja build.ninja
, dan menjalankan ninja di dalamnya.
Anda dapat menemukan ekspor XML Ghidra RE kami di repositori pendamping th06-re, di cabang xml
. Repo ini diperbarui setiap malam melalui [ scripts/export_ghidra_database.py
], dan riwayatnya cocok dengan riwayat check-in dari Server Ghidra tim kami.
Jika Anda ingin membantu kami dalam upaya Reverse Engineering kami, silakan hubungi @roblabla di discord sehingga kami dapat memberi Anda akun di Server Ghidra.
Cara termudah untuk melakukan implementasi ulang adalah melalui penggunaan objdiff
. Berikut cara memulainya:
東方紅魔郷.exe
asli (versi 1.02h) ke folder resources/
, dan ganti namanya menjadi game.exe
. Ini akan digunakan sebagai sumber untuk membandingkan implementasi ulang.python3 scripts/export_ghidra_objs.py --import-csv
. Ini akan mengekstrak dari resources/game.exe
file objek yang dapat dibandingkan dengan objdiff. Cara termudah adalah dengan melihat file config/stubbed.csv
. Itu semua adalah fungsi yang secara otomatis dimatikan. Anda harus memilih salah satunya, buka file objek terkait di objdiff, dan klik fungsi yang diinginkan.
Kemudian, buka file cpp
yang benar, salin/tempel deklarasinya, dan mulailah meretas! Mungkin berguna untuk mengambil keluaran dekompiler ghidra sebagai basis. Anda dapat menemukan keluaran ini di repositori th06-re.
Kami ingin menyampaikan terima kasih kepada pihak-pihak berikut ini atas kontribusinya yang sangat berharga:
var_order
ke MSVC7.