Platform agents
One purpose-built agent per platform, grounded in a curated knowledge base of internals, tooling and known weakness patterns.
Drop in an Android app, iOS app, Windows thick-client or firmware image. Kleydin's agents decompile, trace, test and validate it end to end, with no source code, no scripts and no babysitting. Every finding comes with proof.
Scroll to split the app into the layers the agents work through: manifest, bytecode, native libraries, assets, network calls and secrets. Drag to rotate it.
One app can eat a week of a senior tester's time.
And they flood reports with false positives.
Agents do the work; evidence decides what ships.
01
APK, IPA, EXE/.NET or firmware. No source, no setup.
02
Platform agents unpack, decompile, map every call path, endpoint and secret, and run targeted dynamic checks.
03
A separate validation agent tries to break every finding. What survives is labeled Confirmed, Likely or Unverified.
04
Report in your firm's template, a Burp attack kit, and an exportable API collection.
Not a scanner with a chat window. Agents that run the teardown a senior reverser would, from first unpack to final check.
Each agent builds a plan for the target in front of it, not a fixed script.
Decompilers, disassemblers, emulators and instrumentation, picked and driven by the agents.
A key in a native library leads to the request that uses it, and to where the response is stored.
Clear cases run to the end. Unclear ones come to you with the evidence attached.
By design: every step is logged and replayable.
SIMULATED OUTPUT
Drop a file or run the sample. Everything runs in your browser: nothing is uploaded, and the output is simulated.
Drop an APK, IPA, EXE or firmware image
Runs client-side. Nothing leaves this page.
// assets/config.json: extracted at unpack { "region": "eu-west-1", "accessKeyId": "AKIA………7QF2", "secretAccessKey": "wJal………EKEY", "bucket": "acme-bank-receipts" } // com/acme/bank/core/S3Uploader.java (decompiled) private static AWSCredentials load() { JSONObject c = Assets.json("config.json"); return new BasicAWSCredentials(c.get("accessKeyId"), c.get("secretAccessKey")); }
CALL PATH
RE-RUNNABLE CHECK
// libcrypto_wrap.so :: Java_com_acme_bank_Signer_sign (lifted) char *sign(char *body, char *ts) { char *k = xor_decode("\x3f\x11…", 32); // static key char *msg = concat(ts, "\n", sha256(body)); return b64(hmac_sha256(k, msg)); } // header: X-Acme-Sig: <base64> ; X-Acme-Ts: <epoch ms>
CALL PATH
RE-RUNNABLE CHECK
// com/acme/bank/net/Pinning.smali .method static install(Lokhttp3/OkHttpClient$Builder;)V sget-boolean v0, Lcom/acme/bank/BuildConfig;->DEBUG_NET:Z if-eqz v0, :cond_pin return-void // pinner never installed :cond_pin invoke-virtual {p0, v1}, …->certificatePinner(…)
CALL PATH
RE-RUNNABLE CHECK
<!-- AndroidManifest.xml --> <activity android:name=".TransferActivity" android:exported="true"> <intent-filter> <data android:scheme="acmebank" android:host="transfer"/> </intent-filter> </activity> // no session check seen on this entry path (static analysis)
CALL PATH
RE-RUNNABLE CHECK
D The Disprover rejected 4 false positives before this list was shown.
Every claim carries a verdict, and every verdict states exactly how far the proof goes.
Reproduced with a re-runnable check or confirmed dynamically on a device. Report it as fact.
Strong static evidence (decompiled code and a call path), but not yet dynamically confirmed.
Flagged for a human to take further. Never reported as fact and never counted as a finding.
THE DISPROVER
One agent whose only job is to prove the others wrong.
It re-runs every claim against the binary. What fails is dropped before you see it: four false positives on the sample above.
A finding you cannot reproduce is a finding you cannot bill for.
One purpose-built agent per platform, grounded in a curated knowledge base of internals, tooling and known weakness patterns.
Decompiled code, the full call path and a re-runnable check ship with every claim. Nothing is asserted bare.
A separate agent tries to break each claim before you see it. What survives is labeled; what fails is dropped.
A BloodHound-style graph of endpoints, permissions, secrets, SDKs and the code paths that connect them.
The app's signing and encryption rebuilt as a working Burp extension that re-signs edited traffic.
Endpoints the docs never mention, exported as a collection you can run against a test environment.
Ask questions of the whole analysis in plain language. Every answer cites the exact code.
Export to your firm's own template as DOCX, PDF or Markdown, with the evidence attached.
Endpoints, permissions, secrets, SDKs and the code paths that connect them, in one map. Hover or focus a node to trace what it touches.
Autonomy only works if you can check it. Here is how we are designing Kleydin to be held to account.
Built to turn days of manual reversing into a report-ready result.
BUILT FOR
Take the reversing hours out of fixed-price engagements.
Check every release build before it ships, not once a quarter.
See what your own app exposes, with evidence your engineers can act on.
Kleydin is pre-launch. Join the list and you will hear from the founder when early access opens.