2
0
Fork 0
mirror of https://github.com/carlospolop/hacktricks synced 2025-02-16 22:18:27 +00:00
hacktricks/reversing/reversing-tools/README.md
2024-02-11 02:13:58 +00:00

121 lines
7.4 KiB
Markdown

<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
Njia nyingine za kusaidia HackTricks:
* Ikiwa unataka kuona **kampuni yako inatangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com)
* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PR kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
</details>
# Mwongozo wa Kudekompili na Kompili Wasm na Wat
Katika ulimwengu wa **WebAssembly**, zana za **kudekompili** na **kukompili** ni muhimu kwa watengenezaji. Mwongozo huu unawasilisha rasilimali za mtandaoni na programu kwa kushughulikia faili za **Wasm (WebAssembly binary)** na **Wat (WebAssembly text)**.
## Zana za Mtandaoni
- Kwa kudekompili Wasm kuwa Wat, zana inayopatikana kwenye [demonstri ya wasm2wat ya Wabt](https://webassembly.github.io/wabt/demo/wasm2wat/index.html) inakuja kwa manufaa.
- Kwa kukompili Wat kurudi Wasm, [demonstri ya wat2wasm ya Wabt](https://webassembly.github.io/wabt/demo/wat2wasm/) inatumika.
- Chaguo lingine la kudekompili linaweza kupatikana kwenye [web-wasmdec](https://wwwg.github.io/web-wasmdec/).
## Suluhisho za Programu
- Kwa suluhisho imara zaidi, [JEB na PNF Software](https://www.pnfsoftware.com/jeb/demo) inatoa huduma nyingi.
- Mradi wa chanzo wazi [wasmdec](https://github.com/wwwg/wasmdec) pia inapatikana kwa kazi za kudekompili.
# Rasilimali za Kudekompili .Net
Kudekompili vifungu vya .Net inaweza kufanywa kwa kutumia zana kama:
- [ILSpy](https://github.com/icsharpcode/ILSpy), ambayo pia inatoa [programu-jalizi kwa Visual Studio Code](https://github.com/icsharpcode/ilspy-vscode), kuruhusu matumizi kwenye majukwaa tofauti.
- Kwa kazi zinazohusisha **kudekompili**, **kubadilisha**, na **kukompili**, [dnSpy](https://github.com/0xd4d/dnSpy/releases) inapendekezwa sana. **Bonyeza-kulia** kwenye njia na uchague **Badilisha Njia** kuruhusu mabadiliko ya nambari.
- [dotPeek ya JetBrains](https://www.jetbrains.com/es-es/decompiler/) ni chaguo lingine kwa kudekompili vifungu vya .Net.
## Kuboresha Uchunguzi na Kuingiza Kumbukumbu na DNSpy
### Kuingiza Kumbukumbu na DNSpy
Kuongeza habari kwenye faili kwa kutumia DNSpy, jumuisha kificho cha .Net kifuatacho:
%%%cpp
kutumia System.IO;
njia = "C:\\inetpub\\temp\\MyTest2.txt";
File.AppendAllText(njia, "Nenosiri: " + nenosiri + "\n");
%%%
### Uchunguzi na DNSpy
Kwa uchunguzi wenye ufanisi na DNSpy, hatua za mfululizo zinapendekezwa kurekebisha **sifa za Kusanyiko** kwa uchunguzi, kuhakikisha kuwa uboreshaji ambao unaweza kuzuia uchunguzi unalemazwa. Mchakato huu ni pamoja na kubadilisha mipangilio ya `DebuggableAttribute`, kukompili kusanyiko, na kuhifadhi mabadiliko.
Zaidi ya hayo, kwa kuchunguza programu ya .Net inayotekelezwa na **IIS**, kutekeleza `iisreset /noforce` kunasababisha IIS kuanza tena. Kuambatisha DNSpy kwenye mchakato wa IIS kwa uchunguzi, mwongozo unafundisha kuchagua mchakato wa **w3wp.exe** ndani ya DNSpy na kuanza kikao cha uchunguzi.
Kwa mtazamo kamili wa moduli zilizopakia wakati wa uchunguzi, ufikiaji wa dirisha la **Moduli** katika DNSpy unapendekezwa, ikifuatiwa na kufungua moduli zote na kusorti kusanyiko kwa urahisi wa urambazaji na uchunguzi.
Mwongozo huu unajumuisha kiini cha kudekompili WebAssembly na .Net, kutoa njia kwa watengenezaji kupitia kazi hizi kwa urahisi.
## **Kudekompili Java**
Kudekompili bytecode ya Java, zana hizi zinaweza kuwa na manufaa sana:
- [jadx](https://github.com/skylot/jadx)
- [JD-GUI](https://github.com/java-decompiler/jd-gui/releases)
## **Uchunguzi wa DLLs**
### Kutumia IDA
- **Rundll32** inapakia kutoka njia maalum kwa toleo la 64-bit na 32-bit.
- **Windbg** inachaguliwa kama kichunguzi na chaguo la kusimamisha wakati wa kupakia/kupakua maktaba limezimwa.
- Vigezo vya utekelezaji ni pamoja na njia ya DLL na jina la kazi. Usanidi huu unasimamisha utekelezaji kwa kila upakiaji wa DLL.
### Kutumia x64dbg/x32dbg
- Kama IDA, **rundll32** inapakia na marekebisho ya mstari wa amri kwa kufafanua DLL na kazi.
- Mipangilio inabadilishwa kuvunja kwenye kuingia kwa DLL, kuruhusu kuweka alama ya kuvunja kwenye hatua ya kuingia ya DLL inayotakiwa.
### Picha
- Maeneo ya kusimamisha utekelezaji na usanidi unaonyeshwa kupitia viwambo vya skrini.
## **ARM & MIPS**
- Kwa uigaji, [arm_now](https://github.com/nongiach/arm_now) ni rasilimali yenye manufaa.
## **Shellcodes**
### Mbinu za Uchunguzi
- **Blobrunner** na **jmp2it** ni zana za kugawa shellcodes kwenye kumbukumbu na kuzichunguza na Ida au x64dbg.
- Blobrunner [toleo](https://github.com/OALabs/BlobRunner/releases/tag/v0.0.5)
- jmp2it [toleo lililokompiliwa](https://github.com/adamkramer/jmp2it/releases/)
- **Cutter** inatoa uigaji na ukaguzi wa shellcode kwa kutumia GUI, ikionyesha tofauti katika kushughulikia shellcode kama faili dhidi ya shellcode moja kwa moja.
### Kufuta na Uchambuzi
- **scdbg** inatoa ufahamu juu ya kazi za shellcode na uwezo wa kufuta.
%%%bash
scdbg.exe -f shellcode # Habari ya msingi
scdbg.exe -f shellcode -r # Ripoti ya uchambuzi
scdbg.exe -f shellcode -i -r # Kuingiza kwa kushirikiana
scdbg.exe -f shellcode -d # Kudondosha shellcode iliyofuta
scdbg.exe -f shellcode /findsc # Tafuta kuanzia offset
scdbg.exe -f shellcode /foff 0x0000004D # Tekeleza kutoka kwa offset
%%%
- **CyberChef
## **Delphi**
- Kwa binaries za Delphi, [IDR](https://github.com/crypto2011/IDR) inapendekezwa.
# Kozi
* [https://github.com/0xZ0F/Z0FCourse\_ReverseEngineering](https://github.com/0xZ0F/Z0FCourse_ReverseEngineering)
* [https://github.com/malrev/ABD](https://github.com/malrev/ABD) \(Ufichuaji wa binary\)
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
Njia nyingine za kusaidia HackTricks:
* Ikiwa unataka kuona **kampuni yako inatangazwa kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Pata [**swag rasmi wa PEASS & HackTricks**](https://peass.creator-spring.com)
* Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>