ЯevDex – Telegram
ЯevDex
2.08K subscribers
56 photos
33 videos
59 files
70 links
My GitHub - https://github.com/ispointer
Telegram Bot - @RevDexbot
Telegram Chat: @RevDexChat
Download Telegram
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
merger-1.0.jar
415.4 KB
merger-1.0.jar

RevDex APK Merger v1.0 🍺
dev - @aantik_mods
tg - https://news.1rj.ru/str/RevDex

(apks|xapk|apkm)

Requirements:
pkg install openjdk-17

Example:
java -jar merger.jar (apks|xapk|apkm)

I’m giving you a cli shortcut that lets you use merger as a home command in termux. no matter which directory you’re in… when you need to merge multiple apks into one, just type

merger app.apks


and watch it merge instantly, like magic.../

Fast Easy Deadly efficient.
Perfect for all CLI lovers… if you dare.❤️‍🩹



#termux
👌109😁2
smali c++ #1.rar
8.5 KB
I built this smali C++ library for HM Manager, and some people started talking nonsense, saying I’m just a sora editor user 🤣 let me make one thing clear.go learn C++ first. right now, you’re still a child in this field I’m not forcing anyone to use this code

Anyway I'm donating this code, enjoy bro

Dev - @aantik_mods
8🙈2
merger-2.0.jar
1.6 MB
Game Over MT Manager

merger-2.0.jar

RevDex APK Merger v2.0 🍺
dev - @aantik_mods
tg - https://news.1rj.ru/str/RevDex

(apks|xapk|apkm)

Requirements:
pkg install openjdk-17

Example:
java -jar merger-2.0.jar (apks|xapk|apkm)


100x faster try 300mb apks then give me feedback ❤️‍🔥


#c++_apks-to-apk
#termux
❤‍🔥92
Media is too big
VIEW IN TELEGRAM
shotcut merger-2.0.jar
6
Termux-theme@ЯevDex Fix.zip
1.2 MB
Shell Features :
Tab Completion
Smart Navigation
History Management
Builtin Aliases
System & Performance Tweaks :
Extended Scrollback Increases terminal history to 40,000 rows so you don't lose previous output
Cursor Styling Sets the cursor to an underline style with a 500ms blink rate
Automatic Backup etc..

UI - https://news.1rj.ru/str/RevDex/304


If you want to change the icon, then
Search in Termux.sh for this line

sym=$(printf "\uF17B") 

Then add a new icon hex. But the question is, how do I get the icon hex?

Go to this link search for your favorite icon copy the hex and paste it here That’s it

https://www.nerdfonts.com/cheat-sheet
5
10🤯2👌1
time pass 😪 good night
🤗123👌3
libLogCat.zip
139.4 KB
tasks.register("libe", Copy) {

from("${buildDir}/intermediates/stripped_native_libs/debug/stripDebugDebugSymbols/out/lib/arm64-v8a/") {
include "liblog.so"
}

into("D:/Software/Emulator/MuMuPlayerGlobal/nx_device/12.0/vms/MuMuPlayerGlobal-12.0-base/products/Screenshots")

doFirst {
println "🍺 Copying liblog.so to MuMu directory"
}

doLast {
println "liblog.so moved"
}
}

afterEvaluate {
tasks.matching { it.name.startsWith("assemble") }.all { assembleTask ->
assembleTask.finalizedBy("libe")
}
}
10🤯1