
हस्तनिर्मित Frida उदाहरण
और आउटपुट उदाहरण भी
बाइंडर ट्रांज़ैक्शनसिस्टम प्रॉपर्टी प्राप्त करेंमैन्युअल रूप से पंजीकृत नेटिव प्रतीक प्रकट करेंलोडेड क्लासेस की गणना करेंक्लास विवरणवाई-फाई बंद करेंप्रॉक्सी सेट करेंIMEI प्राप्त करेंio InputStream को हुक करेंएंड्रॉइड में टोस्ट बनाएंकिसी विशिष्ट मॉड्यूल के लोड होने की प्रतीक्षा करेंवेबव्यू URLसभी रनटाइम स्ट्रिंग्स और स्टैकट्रेस प्रिंट करेंशेयर्ड प्रेफरेंसेज अपडेट प्रिंट करेंस्ट्रिंग तुलनापते के अनुसार JNI हुक करेंकंस्ट्रक्टर हुक करेंJava रिफ्लेक्शन हुक करेंक्लास ट्रेस करेंUnity3d हुकिंगएंड्रॉइड ID प्राप्त करेंस्थान बदलेंFLAG_SECURE को बायपास करेंशेयर्ड प्रेफरेंसेज अपडेटसभी मेथड ओवरलोड को हुक करेंब्रॉडकास्ट रिसीवर पंजीकृत करेंस्टेप काउंट बढ़ाएंक्लास लोडर के साथ इंटरफ़ेस को लागू करने वाली क्लासेस सूचीबद्ध करें$ frida --codeshare FrenchYeti/android-file-system-access-hook -f com.example.app --no-pauseimplementation प्रॉपर्टी को null असाइन करें।
{
"scope": "source.js",
"completions": [
{"trigger": "fridainterceptor", "contents": "Interceptor.attach(\n ptr,\n {\n onEnter:function(args) {\n\n },\n onLeave: function(retval) {\n\n }\n }\n)"},
{"trigger": "fridaperform", "contents": "function main(){\n console.log('main()');\n}\n\nconsole.log('script loaded');\nJava.perform(main);"},
{"trigger": "fridause", "contents": "var kls = Java.use('kls');"},
{"trigger": "fridahex", "contents": "hexdump(\n ptr,\n {\n offset: 0,\n length: ptr_size\n }\n);" },
{"trigger": "fridabacktrace", "contents": "console.log('called from:\\n' +\n Thread.backtrace(this.context, Backtracer.ACCURATE)\n .map(DebugSymbol.fromAddress).join('\\n') + '\\n'\n);"},
{"trigger": "fridamods", "contents": "var mods = Process.enumerateModules().filter(function(mod){\n return mod.name.includes(\"<name>\");\n});"},
{"trigger": "fridaexport", "contents": "Module.findExportByName(null, \"<export_name>\");"},
{"trigger": "fridabase", "contents": "Module.findBaseAddress(name);"},
{"trigger": "fridaoverload", "contents": "kls.method_name.overload().implementation=function(){}"}
]
}
संक्षेपों को सूचीबद्ध करने के लिए :ab
key और <Space> लिखकर विस्तार करें
~/.vimrc में जोड़ें```
ab fridaintercept Interceptor.attach(ptr, {onEnter: function(args) {},onLeave: function(retval) {}})
ab fridabacktrace console.warn(Thread.backtrace(this.context, Backtracer.ACCURATE).map(DebugSymbol.fromAddress).join('\n'));F(3;
ab fridadescribe console.log(Object.getOwnPropertyNames(Java.use('$').proto).join('\n\t'))F$</details>
<details>
<summary>JEB</summary>
कीबोर्ड शॉर्टकट का उपयोग करके जावा मेथड हुक जनरेटर
1. `curl -o ~/$JEB$/scripts/FridaCodeGenerator.py https://raw.githubusercontent.com/iddoeldor/frida-snippets/master/scripts/FridaCodeGenerator.py`
2. कर्सर को जावा मेथड के सिग्नेचर पर रखें
3. `Ctrl+Shift+Z` दबाएं
4. कोड सिस्टम क्लिपबोर्ड पर कॉपी हो जाता है (`xclip` का उपयोग करके)
</details>
<hr />
#### SSL कुंजियाँ प्राप्त करें```js
var keylog_callback = new NativeCallback((ssl, line) => {
send(Memory.readCString(line));
}, 'void', ['pointer', 'pointer']);
if (ObjC.available) {
var CALLBACK_OFFSET = 0x2A8
if (Memory.readDouble(Module.findExportByName('CoreFoundation', 'kCFCoreFoundationVersionNumber')) >= 1751.108) {
CALLBACK_OFFSET = 0x2B8
}
Interceptor.attach(Module.findExportByName('libboringssl.dylib', 'SSL_CTX_set_info_callback'), {
onEnter(args) {
ptr(args[0]).add(CALLBACK_OFFSET).writePointer(keylog_callback)
}
})
} else if (Java.available) {
var set_keylog_callback = new NativeFunction(Module.findExportByName('libssl.so', 'SSL_CTX_set_keylog_callback'), 'void', ['pointer', 'pointer']);
Interceptor.attach(Module.findExportByName('libssl.so', 'SSL_CTX_new'), {
onLeave(retval) {
set_keylog_callback(retval, keylog_callback)
}
})
}
#include #include
extern "C" { void* create_stdstr(char data, int size) { std::string s = new std::string(); (*s).assign(data, size); return s; } }
## `Agent` क्लास
`Agent` क्लास AgentSearch का मुख्य घटक है। यह कई खोज बैकएंड, मॉडल प्रदाताओं और कार्य-विशिष्ट प्रॉम्प्ट के समर्थन के साथ AI एजेंट चलाने के लिए एक एकीकृत इंटरफ़ेस प्रदान करता है।
### प्रमुख विशेषताएँ
- **बहु-मॉडल समर्थन**: `litellm` (OpenAI, Anthropic, आदि) द्वारा समर्थित किसी भी मॉडल प्रदाता के साथ काम करता है।
- **कॉन्फ़िगर करने योग्य खोज बैकएंड**: कई खोज प्रदाताओं (SearxNG, Bing, Hybrid) का समर्थन करता है।
- **कार्य-विशिष्ट प्रॉम्प्ट**: विभिन्न एजेंट प्रकारों (RAG, Search, Custom) के लिए अंतर्निहित प्रॉम्प्ट टेम्पलेट्स।
- **RAG क्षमताएँ**: Retrieval Augmented Generation के लिए अंतर्निहित समर्थन।
- **उद्धरण समर्थन**: खोज परिणामों से स्वचालित रूप से उद्धरण शामिल करता है।
- **त्रुटि प्रबंधन और पुनर्प्रयास**: कॉन्फ़िगर करने योग्य पुनर्प्रयास तर्क के साथ मजबूत त्रुटि प्रबंधन।
### `Agent` पैरामीटर्स