ЯevDex – Telegram
ЯevDex
2.08K subscribers
56 photos
33 videos
59 files
71 links
My GitHub - https://github.com/ispointer
Telegram Bot - @RevDexbot
Telegram Chat: @RevDexChat
Download Telegram
Happy new year 🎉
Please open Telegram to view this post
VIEW IN TELEGRAM
16😁5😍2
Forwarded from Antik
12🤯2👌1
Forwarded from Antik ᡕᠵデ气亠
dexdump Internals Api (2).zip
22.9 KB
dexdump Internals Api + External api
😱7❤‍🔥22
Media is too big
VIEW IN TELEGRAM
Reverse Engineering Encryption Algorithms at the System Level

AES/CBC/PKCS5Padding

This is an advanced topic. In this video, I will show you how to identify an application’s IV or encryption key. I will use system-level hooking to capture the target app’s IV or key, and then create a small Python noscript to decrypt the data.
This is a very interesting and practical topic.
If you find it helpful and want to learn more, stay connected with Revdex.

Api response & request encryption puck

Tools -

MT Manager non root
Java Debugger++ 2.0.9 ( Most Important) root
Some Vpn & SLL Bypass Module root
Please open Telegram to view this post
VIEW IN TELEGRAM
121❤‍🔥3👌1
pflutter.zip
295.6 KB
PFLUTTER

lib flutter engine sizer control flow

chmod 777 pflutter


./pflutter <lib folder>


Apply 5 to 10 time but your owne risk 😋 fake size diff destroy
13
KernalRevEngineer.config
6.8 KB
Reverse engineering Kernel configuration 👌 god mod kernel

🍭 UNRESTRICTED MEMORY ACCESS ("God Mode")

🍭 CORE DEBUGGING & SYMBOLS (Omniscience)

🍭 KALLSYMS / No Randomization

🍭 HARDWARE & SOFTWARE TRACING

🍭 PROBES & BREAKPOINTS

🍭 SANITIZERS & MEMORY DEBUG

🍭 FAULT INJECTION & FUZZING

🍭 LOCKING / RCU / SCHED DEBUG

🍭 KGDB / KDB / JTAG / EARLY PRINTK

🍭 CRASH DUMPS / PROC / KCORE

🍭 NETWORK DEBUG / RE

🍭 ARM64 SPECIFIC

🍭 EMERGENCY CONTROL & SECURITY REMOVAL

😑 ULTRA DEBUG / REVERSE ENGINEERING CONFIG

#kernel_mod
Please open Telegram to view this post
VIEW IN TELEGRAM
156
imJava C++.apk
116.6 KB
imJava C++.apk

I built this APK to prove one thing. This app has no declared native methods, no Java-to-JNI bridge, and no context passed from Java, yet everything is created from pure C++. Buttons, checkboxes, EditText, dialogs, even Activity-level behavior all controlled directly from C++. Java exists here in name only. In this app, C++ is not the backend; C++ is the app. Java is just a wrapper, while the real work happens where most people never look. Hello, I’m imJava C++ This is not a tutorial, there are no hints and no explanations. If you know, you know. If you don’t, this app isn’t for you. 😄

I can make anything in C++ Without Java Dex Edit ⚠️

Same technology i use in My MemTool 😂 C++ is Life
Please open Telegram to view this post
VIEW IN TELEGRAM
15🤯3❤‍🔥1
imJava C++.zip
131.5 KB
imJava C++.zip Project

Only for learner ( C++ )

Give me 1 reaction plz 😁🔧

Dev - @aantik_mods

It is a design that takes full control of the Java world from pure C++ 😋

Git - https://github.com/antikmods/imJava
Please open Telegram to view this post
VIEW IN TELEGRAM
2134😁7❤‍🔥5
Hill Climb Racing ( Auto Update Mod Menu) I know you want project 😁 give me 40 reaction then i public this

Wow finally completed 😃
Please open Telegram to view this post
VIEW IN TELEGRAM
81❤‍🔥12🥰5
Arm加固 Killer Source 2.0.zip
35.2 MB
Arm加固 Killer Source 2.0

এটা সত্যি দারুণ project (.*) revdex পরিবেশনা
17👌2
PointerScan.h
2.6 KB
PointerScan.h

Dev - @aantik_mods


PointerScan Guide (Unity Game Example)

In many Unity games, especially IL2CPP builds, important values like coins, health, or inventory are not stored directly inside the Player class. When you inspect the Player class in decompiled code, you may not find any obvious field such as coin, nor any clear method like GetCoin() or AddCoin(). Despite this, the game still increases the player’s coins correctly during gameplay. This creates confusion for beginners: if the Player class has no coin field, how does the Player’s coin value change?

The answer lies in how Unity games organize data in memory at runtime. Instead of storing everything in the Player object, games often use manager objects. The Player object usually holds a pointer to a CoinManager, InventoryManager, or similar system. That manager object then holds another pointer to the actual data structure where the coin value is stored. This means the relationship between Player and coin exists in memory, even if it is not visible in source code or decompiled output.In a Unity IL2CPP game, the Player’s Update() method is called every frame. Reverse engineers often locate this method in native code as a static offset, for example libgame.so + 0x1C45F8. At runtime, this offset becomes a real memory address when added to the module base. On ARM64 systems, the this pointer for a method call is typically passed in the x0 register. When the Player’s Update method is executing, x0 therefore points to the active Player object in memory. This gives us a reliable runtime reference to the Player instance, even if we cannot see its fields clearly.On the coin side, there is usually a CoinManager or similar system with its own update or processing method. This method may be shared by both Player and Enemy logic, so simply observing CoinManager activity is not enough to know which object is being updated. This is why Player context is crucial. By observing coin updates specifically during the Player’s Update execution, we can be confident that the coin access belongs to the Player and not to an enemy or another entity Once we have two things the Player object address (start address) and the coin value address (target address) the pointer scanner becomes useful. The pointer scanner does not search for methods or class names. Instead, it explores memory relationships. It begins at the Player object and examines its internal memory to see which fields contain pointers to other objects. When it finds a valid pointer, it treats that pointer as another object and continues scanning inside it. This process repeats until the scanner reaches the target coin value. When a valid path is found, the scanner records the offsets used at each level. The result might look like: Player plus one offset leads to CoinManager, CoinManager plus another offset leads to CoinData, and CoinData plus a final offset leads to the coin value. This chain of offsets forms a stable pointer path. While the final coin address may change every time the game restarts, the relationships between these objects usually remain the same, making the pointer path reliable across sessions.This approach works even when methods are inlined, names are obfuscated, or symbols are stripped, because the game still needs to follow real pointers in memory to function. Pointer scanning relies on the truth of runtime memory, not on readable source code. That is why it is so effective in Unity IL2CPP games.For beginners, the key idea to remember is simple: even if you cannot see how two systems are connected in code, they must be connected in memory if the game works. PointerScan is the tool that reveals that hidden connection. It turns an unknown relationship into a clear, reusable path that survives game restarts and updates.

😁👍 Good luck, ladies and gentlemen!

PointerScan memory reference scan
11👌3🤯1
Media is too big
VIEW IN TELEGRAM
i cloned same Logic (*)*

Main Developer - Aadil

top code is my Logic - @aantik_mods
👀6👌43
Dialog Killer Project 🪄.zip
21.6 KB
Dialog Killer Project 🪄

@RevDex

This is my experimental project, so I decided to upload it for free 😂
In the next version, I will create a memory-based killer soon
29❤‍🔥3🥰2
package com.simextract.hijack;


import android.app.Activity;
import android.Manifest;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.telephony.SubnoscriptionInfo;
import android.telephony.SubnoscriptionManager;
import android.telephony.TelephonyManager;
import android.widget.TextView;

import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class MainActivity extends Activity {

TextView getS;
Set<String> numbers = new HashSet<String>();

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

getS = new TextView(this);
getS.setTextSize(16);
setContentView(getS);

if (checkSelfPermission(Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED || checkSelfPermission(Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{

Manifest.permission.READ_PHONE_STATE,
Manifest.permission.READ_SMS

},1);
return;
}
getN();
}

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {

if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
getN();
} else {
// isoloca
getS.setText("give me permission baby");
}
}

private void getN() {

SubnoscriptionManager sm = (SubnoscriptionManager) getSystemService(TELEPHONY_SUBSCRIPTION_SERVICE);

List<SubnoscriptionInfo> sims = sm.getActiveSubnoscriptionInfoList();

if (sims == null || sims.size() == 0) {
getS.setText("you didn't have sim card idl");
return;
}

for (int i = 0; i < sims.size(); i++) {
SubnoscriptionInfo info = sims.get(i);
TelephonyManager tm = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)).createForSubnoscriptionId(info.getSubnoscriptionId());
String num = tm.getLine1Number();
if (num != null && num.length() >= 7) {
numbers.add(num);
}
}
if (numbers.size() < sims.size()) {
inbox();
}
StringBuilder sb = new StringBuilder();
int index = 1;
for (String n : numbers) {
sb.append("sim card --> ").append(index).append(" : ").append(n).append("\n");
index++;
}

// textView.setText(sb.toString());
getS.setText(sb.toString());
}

private void inbox() {
Uri uri = Uri.parse("content://sms/inbox");
Cursor cursor = getContentResolver().query(uri,new String[]{"body"},null,null,"date DESC");
Pattern pattern = Pattern.compile("(\\+?\\d{10,13})");
if (cursor != null) {
while (cursor.moveToNext() && numbers.size() < 2) {
String body = cursor.getString(0).toLowerCase();
if (body.contains("number") || body.contains("mobile")) {
Matcher m = pattern.matcher(body);
while (m.find()) {
numbers.add(m.group());
}
}
}
cursor.close();
}
}
}


//-- this is important

compileSdkVersion 29
minSdkVersion 21
targetSdkVersion 29


<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.READ_SMS"/>


New Android versions don’t allow apps to get the SIM phone number directly, especially SIM 2 Even if you use getLine1Number() it usually returns null because most carriers don’t store the number on the SIM anymore. From Android 10+ Google blocks access to the phone number for privacy reasons.On dual-SIM devices SIM 2 almost always returns null 😂
5
HillClimbRacing_PullOffset
61.3 KB
HillClimbRacing_PullOffset

./HillClimbRacing_PullOffset com.fingersoft.hillclimb libgame.so

You can extract any version Hill Climb Racing offset C++ Executable

Non Root

Next version i wll add fuel
11🤯4
Forwarded from HM Manager
This media is not supported in your browser
VIEW IN TELEGRAM
Smooth C++ zoom & editor chunk management no lag you can load 300 mb txt in 1 editor profile without extend :} no memory leak problem
2👌123