Bu sayfada

Kodlama aracınızla tersine mühendislik

Yazılımın nasıl
çalıştığını öğrenin.

REA, kodlama ajanınıza bir programı incelemek ve ne yaptığını açıklamak için gereken araçları sağlar.

RE'Yİ zaten biliyor musun? Analiz kılavuzlarına atla →

Daha derine inmek ister misin? Blogu Oku →

REA'YU ayarlama

Bu istemi kodlama ajanınıza yapıştırın:

Kodlama aracınız

npx rea-agents@latest setup kullanarak REA’yı kur ve bu kodlama ajanına bağla. Önce kurulum planını göster ve onayımı bekle. Ardından kurulumu doğrula.

Ya da terminalde şu komutu çalıştırın:

npx rea-agents@latest setup

Kurulum planını inceleyip onaylayın, ardından ajanınızı yeniden başlatın.

İlk kez veya eksik Node.js mi yoksa kodlama ajanı mı? Adım adım kurulum kılavuzunu izleyin →

Tersine mühendislik nedir?

Programın kendisini inceleyerek yazılımın nasıl çalıştığını anlamaktır.

Amaç: Bir özelliği açıklamak, değiştirmek veya yeniden inşa etmek için yeterince iyi anlayın.

Örneğin: Hesap Makinesi neden 200 + 10% için 220 sonucunu veriyor?

REA’dan önce · Kendiniz araştırırsınız

Orijinal x64 * seçilen talimatlar
0x180124945: MOV EAX, dword ptr [R13 + 0x18]
0x180124949: CMP EAX, 0x5c
0x18012494c: JZ 0x180124aba
0x180124952: CMP EAX, 0x5b
0x180124955: JZ 0x180124aba
0x18012495b: MOV EDX, 0x64
0x180124960: LEA RCX, [RSP + 0x160]
0x180124968: CALL 0x180122650
0x18012496e: LEA RDX, [R13 + 0x160]
0x180124975: LEA RCX, [RSP + 0x78]
0x18012497a: CALL 0x180109720
0x18012497f: MOV RSI, RAX
0x180124982: MOV qword ptr [RSP + 0x28], RAX
0x180124987: LEA RDX, [RSP + 0x160]
0x18012498f: MOV RCX, RAX
0x180124992: CALL 0x180123190
; … value-copy instructions omitted …
0x180124a14: MOV RDX, RDI
0x180124a17: LEA RCX, [RSP + 0xf8]
0x180124a1f: CALL 0x180109720
0x180124a24: LEA R8, [RSP + 0x30]
0x180124a29: MOV RDX, RAX
0x180124a2c: LEA RCX, [RSP + 0xb8]
0x180124a34: CALL 0x180123c10

Talimatları çözer, işlev çağrılarını takip eder ve hesaplamayı yeniden yapılandırırsınız.

REA ile · Ajanınıza sorarsınız

Tek bir istem.

Ajanınıza günlük dille sorun.

Örnek bilgi istemi * Hesap Makinesi

Windows Hesap Makinesini incelemek için REA kullanın. Neden 200 + 10%220 veriyor?

Örnek cevap · bulgulara dayanarak

+ 'Dan sonra, % düğmesi ilk sayının bir yüzdesini alır.

10% of 200 = 20200 + 20 = 220
REA’nın sağladıkları
İşleyicinin talimatları, derlenmiş kod ve çağrılar.
Ajanınızın açıklaması
Hangi dalın uygulandığı, neyi hesapladığı ve nasıl yeniden oluşturulacağı.
Yüklü Hesap Makinesi dll'sinden seçilen derleme. Düşünceler ve cevaplar bulguları göstermektedir. Hesap Makinesi örneğine devam edin ↓

İki örnek deneyelim. Bir oyunun hızını değiştirin, ardından Hesap Makinesine dönün ve% düğmesini yeniden oluşturun.

Örnek 01 * Chrome'nun dinozor oyunu

Dinozor neden hızlanıyor?

Hedef
Oyunu ayarlanabilir hızda yeniden oluşturun.
Neden tersine mühendislik?
İvmesini yeniden üretmek için koşu oyununda kurala ihtiyacımız var: ne kadar hızlı başladığı, ne kadar arttığı ve ne zaman durduğu.

Yeniden oluşturulan oyunu oyna

6 → 10 → 13

Orijinal kural: 6'dan başlayın, ardından 13'e doğru artırın.

Kendi hızınızı ayarlamak için kaydırıcıyı hareket ettirin. Boşluk veya Atlama bir kaktüsü temizler.

REA’nın döndürdüğü sonuç

Komut dosyası aslında sayfada çalışıyor. Aracı güncelleme işlevini ve hız ayarlarını okur, ardından bu kuralı yeni bir oyunda kullanır.

Örnek istemi * Dinozor oyunu

Bu dinozor oyununu incelemek için REA kullanın. Neden daha hızlı oluyor? Hız kuralını gösterin, ardından ayarlanabilir hıza sahip küçük bir versiyon oluşturun.

Denetlenen hedef: wayou'nun Chromium'dan türetilmiş tarayıcı sürümü.

REA * yüklendi index.js* seçili satırlar
if (this.currentSpeed < this.config.MAX_SPEED) {
  this.currentSpeed += this.config.ACCELERATION;
}

6'dan başla. Hız 13'ün altındayken çarpışma olmadan her güncellemeye 0,001 ekleyin.

Hız laboratuvarını açın

Her bölüm ne yapar

  1. 01 * REA Çalışan oyunun senaryosunu okuyun Gerçek kodunu ve ayarlarını aracıya döndürün.
  2. 02 * Temsilciniz Kuralı yeniden oluşturun, bir kontrol ekleyin Hız kaydırıcılı küçük bir oyunda kurtarılan ivmeyi kullanın.
  3. 03 * Hızı değiştirir ve oynarsınız Orijinal ivmeyi deneyin, ardından kendi hızınızı seçin.
Komut dosyasına, kontrollere ve analizin nasıl deneneceğine bakın

REA, HTTP tarayıcı sürümünü yerel bir hata ayıklama bağlantısı aracılığıyla denetledi ve yüklenen index.js, kaynağı ve özeti dahil.

Denetlenen komut dosyasından seçilen ayarlar
ACCELERATION: 0.001,
MAX_SPEED: 13,
SPEED: 6

Engeller ve otomatik zamanlama devre dışı bırakılmış, kontrollü bir tarayıcı kontrolünde orijinal oyunun güncelleme işlevini çağırdık. 4.000 güncellemeden sonra hız 10.0'dı; 10.000'den sonra 13.0'dı ve bir ondalık basamağa yuvarlandı.

Yeni mini oyun bu hız kuralını koruyor. Çizim, atlama ve çarpışma kodu küçük bir öğretim uygulamasıdır. Yeni kodu görmek için laboratuvarı açın ve aynı hız kontrolünü yapın.

Hedefi kendiniz incelemek için dinozor sayfasını kullanarak tarayıcı bağlantı adımlarını izleyin. Aracınıza bu sayfa URL'sini ve yerel hata ayıklama bitiş noktanızı verin, ardından yukarıdaki istemi kopyalayın.

Denetlenen hız kodu * Chromium Yazarları · BSD lisansı

Örnek 02 * Windows Hesap Makinesi

Hesap Makinesi’nin % düğmesini yeniden oluşturun.

Neden 200 + 10%220 verdiğini gördük. Şimdi hem + hem de × için kuralları kurtaralım ve deneyelim.

Hedef
Hem + hem de × 'yi doğru işleyen küçük bir hesap makinesi oluşturun.
Neden tersine mühendislik?
Aynı düğme + ve × 'den sonra farklı kurallar kullanır. Yüzdenin hangi sayıya uygulandığını bulmak için yüklü uygulamayı inceliyoruz.

Hesaplamayı deneyin

200 + 20

200'ün% 10'u = 20. Sonra 200 + 20 = 220.

Denetlenen yüzde kuralının etkileşimli gösterimi.

REA’nın döndürdüğü sonuç

Bir dal 100'e bölünür. Diğeri de ilk sayı ile çarpılır. Aracı, % düğmesini yeniden oluşturmak için her ikisini de kullanır.

Bu örnek için previous = 200 ve current = 10.

Örnek komut istemi * % düğmesini yeniden oluştur

Windows Hesap Makinesinin% düğmesini incelemek için REA kullanın. Kuralları + ve × 'den sonra kurtarın, ardından her ikisini de kullanan küçük bir hesap makinesi oluşturun.

% işleyicisinin okunabilir özeti
if (operation == multiply || operation == divide) {
  percent = current / 100;
} else {
  percent = current * previous / 100;
}
İle +
İlk sayının% 10'unu alın.10% of 200 = 20 → 200 + 20 = 220
İle ×
% 10'u 0.1.200 × 0.1 = 20'ye çevirin200 × 0.1 = 20

Yüklü uygulamadan çalışan bir% düğmesine

  1. 01 * REA okur calc.exeHesap Makinesi uygulamasını başlatır Kod açılır ms-calculator:. Aracı daha sonra yüklü uygulamanın kitaplığını seçer.
  2. 02 * REA kütüphaneyi okur% işleyicinin kodunu döndürür İşlev operatörü kontrol eder ve 100 sabitini kullanır.
  3. 03 * Temsilciniz bunu yorumlar Kuralları açıklayın ve çoğaltın Dalı Microsoft'un kaynağıyla çapraz kontrol edin, ardından + ve × üstünü deneyin.
Gerçek kodu ve cevabın nasıl kontrol edildiğini görün
REA * seçilen orijinal talimatlar
0x180124945: MOV EAX, dword ptr [R13 + 0x18]
0x180124949: CMP EAX, 0x5c
0x18012494c: JZ 0x180124aba
0x180124952: CMP EAX, 0x5b
0x180124955: JZ 0x180124aba
0x18012495b: MOV EDX, 0x64
Operatör Kimlikleri * Microsoft'un kaynağı
#define IDC_MUL 92      // 0x5c
#define IDC_DIV 91      // 0x5b
#define IDC_PERCENT 118 // 0x76

0x64 = 100

REA 4.1.0: Windows Hesap Makinesi 11.2508.4.0, x64 ile denetlendi. Okunabilir özet, kurtarılan dalı açıklamak için Microsoft'un genel kaynağından gelen adları kullanır.

Yüzde uygulaması * Microsoft'un test durumları * Yerel kurulum kılavuzu

İlk soruşturmanız

Küçük bir uygulamada REA'yu deneyin.

Notlar örneğimizi indirin, CSV dışa aktarımını izleyin ve değiştirilen bir girişi kontrol edin.

Kılavuzlu örneği deneyin

Daha derine inmek ister misiniz?

Temsilcinize neyi anlamak veya inşa etmek istediğinizi söyleyin. REA ile, bu web sitesini klonlamaktan bir oyunu yürütülebilir dosyasından yeniden oluşturmaya kadar her konuda birlikte çalışabilirsiniz.

Örnek bilgi istemi * Web sitesi

İncelemek için https://reverseengineeranything.app/REA kullanın. Bu web sitesini benim için klonla.

Evet, bu.

Örnek istemi * Oyun rekonstrüksiyonu

Bu oyunu yürütülebilir dosyasından yeniden oluşturmak için REA kullanın. C'deki oyun mantığını kurtarın ve orijinaline karşı test edin.

DX-Ball örnek olay incelemesine bakın →

Kurulum ve analiz adımları için hedefinizi seçin:

Makine kodu programları

Yürütülebilir dosyalar ve kitaplıklardaki işlevleri, dizeleri, referansları ve işlev çağrısı ilişkilerini inceleyin.

Makine kodu programlarının analizi kılavuzu

JavaScript VE Electron

Modülleri, rotaları, ıpc'yi ve yerel bağımlılıkları bir uygulama klasöründen veya ASAR arşivinden eşleyin.

Uygulama iş akışları

Tarayıcı ve çalışma zamanı etkinliği

Seçilen tarayıcıyı veya işlem etkinliğini yakalayın, ardından sonuçları koşular arasında karşılaştırın.

Tarayıcı gözlem kılavuzu

Sorunuz var mı?

Sss'yi okuyun, Discord'DA bizimle sohbet edin veya hatalar ve özellik istekleri için bir GitHub sorunu açın.

Topluluğa katıl

Soruşturmaları paylaşın ve Discord'DAKİ diğer REA kullanıcılarından yardım alın. Proje güncellemeleri için X'te REA'YU takip edin.

Üst