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

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

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

瀏覽:51日期: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
相關文章:
主站蜘蛛池模板: 超声波破碎仪-均质乳化机(供应杭州,上海,北京,广州,深圳,成都等地)-上海沪析实业有限公司 | 日本SMC气缸接头-速度控制阀-日本三菱伺服电机-苏州禾力自动化科技有限公司 | 小型高低温循环试验箱-可程式高低温湿热交变试验箱-东莞市拓德环境测试设备有限公司 | 纳米涂料品牌 防雾抗污纳米陶瓷涂料厂家_虹瓷科技 | 骨密度检测仪_骨密度分析仪_骨密度仪_动脉硬化检测仪专业生产厂家【品源医疗】 | 广东燎了网络科技有限公司官网-网站建设-珠海网络推广-高端营销型外贸网站建设-珠海专业h5建站公司「了了网」 | 电机铸铝配件_汽车压铸铝合金件_发动机压铸件_青岛颖圣赫机械有限公司 | 金属切削液-脱水防锈油-电火花机油-抗磨液压油-深圳市雨辰宏业科技发展有限公司 | 火锅加盟_四川成都火锅店加盟_中国火锅连锁品牌十强_朝天门火锅【官网】 | 振动筛-交叉筛-螺旋筛-滚轴筛-正弦筛-方形摇摆筛「新乡振动筛厂家」 | 广州展台特装搭建商|特装展位设计搭建|展会特装搭建|特装展台制作设计|展览特装公司 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 对夹式止回阀_对夹式蝶形止回阀_对夹式软密封止回阀_超薄型止回阀_不锈钢底阀-温州上炬阀门科技有限公司 | 对夹式止回阀厂家,温州对夹式止回阀制造商--永嘉县润丰阀门有限公司 | 庭院灯_太阳能景观灯_草坪灯厂家_仿古壁灯-重庆恒投科技 | 书法培训-高考书法艺考培训班-山东艺霖书法培训凭实力挺进央美 | 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 | 一体化污水处理设备-一体化净水设备-「山东梦之洁水处理」 | 云南丰泰挖掘机修理厂-挖掘机维修,翻新,再制造的大型企业-云南丰泰工程机械维修有限公司 | 合肥白癜风医院_[治疗白癜风]哪家好_合肥北大白癜风医院 | 昆明化妆培训-纹绣美甲-美容美牙培训-昆明博澜培训学校 | 博莱特空压机|博莱特-阿特拉斯独资空压机品牌核心代理商 | 江西自考网-江西自学考试网 | 济南画室培训-美术高考培训-山东艺霖艺术培训画室 | 保温杯,儿童婴童奶瓶,运动水壶「广告礼品杯定制厂家」超朗保温杯壶 | 对夹式止回阀厂家,温州对夹式止回阀制造商--永嘉县润丰阀门有限公司 | 东莞猎头公司_深圳猎头公司_广州猎头公司-广东万诚猎头提供企业中高端人才招聘服务 | 礼仪庆典公司,礼仪策划公司,庆典公司,演出公司,演艺公司,年会酒会,生日寿宴,动工仪式,开工仪式,奠基典礼,商务会议,竣工落成,乔迁揭牌,签约启动-东莞市开门红文化传媒有限公司 | 全自动面膜机_面膜折叠机价格_面膜灌装机定制_高速折棉机厂家-深圳市益豪科技有限公司 | 高清视频编码器,4K音视频编解码器,直播编码器,流媒体服务器,深圳海威视讯技术有限公司 | 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 2025第九届世界无人机大会| 交变/复合盐雾试验箱-高低温冲击试验箱_安奈设备产品供应杭州/江苏南京/安徽马鞍山合肥等全国各地 | 智慧农业|农业物联网|现代农业物联网-托普云农物联网官方网站 | 浙江华锤电器有限公司_地磅称重设备_防作弊地磅_浙江地磅售后维修_无人值守扫码过磅系统_浙江源头地磅厂家_浙江工厂直营地磅 | 吊篮式|移动式冷热冲击试验箱-二槽冷热冲击试验箱-广东科宝 | 高温链条油|高温润滑脂|轴承润滑脂|机器人保养用油|干膜润滑剂-东莞卓越化学 | 专业广州网站建设,微信小程序开发,一物一码和NFC应用开发、物联网、外贸商城、定制系统和APP开发【致茂网络】 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 房车价格_依维柯/大通/东风御风/福特全顺/江铃图片_云梯搬家车厂家-程力专用汽车股份有限公司 | 烘箱-工业烘箱-工业电炉-实验室干燥箱 - 苏州华洁烘箱制造有限公司 |