电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

android調用C語言實現內存的讀取與修改的方法示例

瀏覽:54日期:2022-09-27 08:35:26

寫之前需要準備以下內容

android studio已ROOT安卓設備GG修改器

打開android studio,創建Native C++ Project

android調用C語言實現內存的讀取與修改的方法示例

activity_main.xml

<?xml version='1.0' encoding='utf-8'?><LinearLayout xmlns:android='http://schemas.android.com/apk/res/android' android:layout_width='match_parent' android:layout_height='match_parent' android:gravity='center' android:orientation='vertical'> <Button android:layout_width='wrap_content' android:layout_height='wrap_content' android:onClick='btn' /> <TextView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:text='~' /></LinearLayout>

MainActivity.java

package com.gs.jc;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.TextView;public class MainActivity extends AppCompatActivity { private TextView textView; private JNI jni; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); jni = new JNI(); textView = (TextView) findViewById(R.id.tv); } public void btn(View view) { textView.setText(String.valueOf(jni.searchMem())); }}

新建一個java類,以實現java調用對應C代碼

package com.gs.jc;public class JNI { static { System.loadLibrary('native-lib'); }/**定義native方法*調用C代碼對應的方法*/ public native int searchMem();}

O_RDONLY只讀打開O_WRONLY只寫打開O_RDWR可讀可寫打開O_SYNC以同步的方式打開文件

C++核心代碼

#include <jni.h>#include <string>#include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <dirent.h>#include <unistd.h>static int fd = 0;//查找游戲進程pidint getPID(const char *pack_name) { int id = -1, pid = -1; DIR *dir = 0; FILE *file = 0; char filename[32] = {0}; char cmdline[256] = {0}; struct dirent *entry = 0; if (pack_name == NULL) { return -1; } dir = opendir('/proc'); if (dir == NULL) { return -1; } while ((entry = readdir(dir)) != NULL) { id = atoi(entry->d_name); if (id > 0) { sprintf(filename, '/proc/%d/cmdline', id); file = fopen(filename, 'r'); if (file) {fgets(cmdline, sizeof(cmdline), file);fclose(file);if (strcmp(pack_name, cmdline) == 0) { pid = id; break;} } } } closedir(dir); return pid;}//打開文件句柄int open_proc_mem(int pid) { if (pid <= 0) return -1; char mempath[64] = {0}; int handle = -1; sprintf(mempath, '/proc/%d/mem', pid); handle = open(mempath, O_RDWR, O_SYNC); return handle;}//讀內存void pread64_mem(int fd, void *buff, int size, long *addr) { if (fd <= 0 || buff == NULL || size <= 0 || addr == NULL) return; pread64(fd, buff, size, (unsigned long) addr);}//寫內存void pwrite64_mem(int fd, const void *buff, int size, long *addr) { if (fd <= 0 || buff == NULL || size <= 0 || addr == NULL) return; pwrite64(fd, buff, size, (unsigned long) addr);}extern 'C'jint Java_com_gs_jc_JNI_searchMem(JNIEnv *env, jobject thiz) { char *game = 'com.tencent.tmgp.sgame'; //包名 int pid = getPID(game);//獲取進程PID fd = open_proc_mem(pid);//打開進程內存 //long base = 0; long buf[1] = {666};//需要修改內存的值 long *addr = (long *) 0x12C0085C;//內存地址:0x12C0085C pwrite64_mem(fd, &buf[0], 4, addr);//寫入內存數據 //pread64_mem(fd, &base, 4, addr); return pid;}

C代碼中需要自行修改的地方

char *game = “com.tencent.tmgp.sgame”; //包名long *addr = (long *) 0x12C0085C;//內存地址

效果圖鏈接:yuanma/men_jb51.rar

以上是簡單的內存地址修改方法,到此這篇關于android調用C語言實現內存的讀取與修改的方法示例的文章就介紹到這了,更多相關android調用C語言實現內存讀取修改內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Android
相關文章:
主站蜘蛛池模板: 泰安办公家具-泰安派格办公用品有限公司 | 液压中心架,数控中心架,自定心中心架-烟台恒阳机电设计有限公司 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | 粘弹体防腐胶带,聚丙烯防腐胶带-全民塑胶| 单机除尘器 骨架-脉冲除尘器设备生产厂家-润天环保设备 | 数显恒温培养摇床-卧式/台式恒温培养摇床|朗越仪器 | 齿轮减速电机一体机_蜗轮蜗杆减速马达-德国BOSERL齿轮减速机带电机生产厂家 | 塑料检查井_双扣聚氯乙烯增强管_双壁波纹管-河南中盈塑料制品有限公司 | 365文案网_全网创意文案句子素材站| 窖井盖锯圆机_锯圆机金刚石锯片-无锡茂达金刚石有限公司 | 盘式曝气器-微孔曝气器-管式曝气器-曝气盘-斜管填料 | 郑州市前程水处理有限公司 | 辐射仪|辐射检测仪|辐射巡测仪|个人剂量报警仪|表面污染检测仪|辐射报警仪|辐射防护网 | 诗词大全-古诗名句 - 古诗词赏析| 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 | 数显恒温培养摇床-卧式/台式恒温培养摇床|朗越仪器 | 列管冷凝器,刮板蒸发器,外盘管反应釜厂家-无锡曼旺化工设备有限公司 | 山东锐智科电检测仪器有限公司_超声波测厚仪,涂层测厚仪,里氏硬度计,电火花检漏仪,地下管线探测仪 | 中开泵,中开泵厂家,双吸中开泵-山东博二泵业有限公司 | 学习安徽网| 不锈钢酒柜|恒温酒柜|酒柜定制|酒窖定制-上海啸瑞实业有限公司 | 石英陶瓷,石英坩埚,二氧化硅陶瓷-淄博百特高新材料有限公司 | 生物除臭剂-除味剂-植物-污水除臭剂厂家-携葵环保有限公司 | 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 金属检测机_金属分离器_检针验针机_食品药品金属检探测仪器-广东善安科技 | 河南档案架,档案密集架,手动密集架,河南密集架批发/报价 | 硬质合金模具_硬质合金非标定制_硬面加工「生产厂家」-西迪技术股份有限公司 | 板框压滤机-隔膜压滤机-厢式压滤机生产厂家-禹州市君工机械设备有限公司 | 知名电动蝶阀,电动球阀,气动蝶阀,气动球阀生产厂家|价格透明-【固菲阀门官网】 | 道达尔润滑油-食品级润滑油-道达尔导热油-合成导热油,深圳道达尔代理商合-深圳浩方正大官网 | 太阳能发电系统-太阳能逆变器,控制器-河北沐天太阳能科技首页 | 韦伯电梯有限公司| 直流电能表-充电桩电能表-导轨式电能表-智能电能表-浙江科为电气有限公司 | 砂石生产线_石料生产线设备_制砂生产线设备价格_生产厂家-河南中誉鼎力智能装备有限公司 | 安平县鑫川金属丝网制品有限公司,防风抑尘网,单峰防风抑尘,不锈钢防风抑尘网,铝板防风抑尘网,镀铝锌防风抑尘网 | 阿尔法-MDR2000无转子硫化仪-STM566 SATRA拉力试验机-青岛阿尔法仪器有限公司 | 冷却塔厂家_冷却塔维修_冷却塔改造_凉水塔配件填料公司- 广东康明节能空调有限公司 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | 企业微信scrm管理系统_客户关系管理平台_私域流量运营工具_CRM、ERP、OA软件-腾辉网络 | 金蝶帐无忧|云代账软件|智能财税软件|会计代账公司专用软件 | 东莞画册设计_logo/vi设计_品牌包装设计 - 华略品牌设计公司 | 高楼航空障碍灯厂家哪家好_航空障碍灯厂家_广州北斗星障碍灯有限公司 | 压砖机_电动螺旋压力机_粉末成型压力机_郑州华隆机械tel_0371-60121717 |