开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 12070|回复: 10
收起左侧

[Windows逆向] C++内部,指针读矩阵地址

[复制链接]
发表于 2022-7-2 14:51:38 | 显示全部楼层 |阅读模式   湖南省湘西土家族苗族自治州
最近在写内部,真的想不到,真正理解try catch,指针映像深刻,是通过写这玩意,理解的。遇见个难题了,指针如何读矩阵地址?指针啊!不要API读取,因为是内部。
币不多,就求个例子?
结帖率:0% (0/1)

签到天数: 12 天

发表于 2022-11-28 19:24:13 | 显示全部楼层   湖北省孝感市
直接内联汇编
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-2 20:26:06 | 显示全部楼层   湖南省湘西土家族苗族自治州
我的小拇指啊 发表于 2022-7-2 18:36
精易回复把部分代码给搞没了,你要复制矩阵到这变量直接memcpy就行
要自己循环读改成下面这句就行 ...

确实能读,但是效果不好,我想问下_memcpy怎么读的,
最好带代码,一句而已吧!卡一天了大哥
回复 支持 反对

使用道具 举报

结帖率:97% (29/30)

签到天数: 13 天

发表于 2022-7-2 18:36:22 | 显示全部楼层   广西壮族自治区柳州市
精易回复把部分代码给搞没了,你要复制矩阵到这变量直接memcpy就行
要自己循环读改成下面这句就行
[C++] 纯文本查看 复制代码
matrix[j] = ((float(*)[4])matrix_address)[j]



回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-2 17:57:52 | 显示全部楼层   湖南省湘西土家族苗族自治州
我的小拇指啊 发表于 2022-7-2 15:36
咱就是说你都这么读了直接一句memcpy不完了
memcpy(matrix, (void*)matrix_address, sizeof(mat ...

大哥, 你东扯下,西扯下,干什么?简单来说我要把那地址数据存在二维数组里面,然后方便计算
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-2 17:22:09 | 显示全部楼层   湖南省湘西土家族苗族自治州

你干什么?你很缺币吗?
回复 支持 反对

使用道具 举报

发表于 2022-7-2 17:01:34 | 显示全部楼层   山西省太原市

回帖奖励 +5 枚 精币

回复 支持 反对

使用道具 举报

结帖率:97% (29/30)

签到天数: 13 天

发表于 2022-7-2 15:36:02 | 显示全部楼层   广西壮族自治区柳州市
本帖最后由 我的小拇指啊 于 2022-7-2 18:23 编辑
江夏晴天 发表于 2022-7-2 15:11
怎么访问?源码?大佬动动小手改下?
DWORD matrix_address = g_client_module + hazedumper::signatures ...

咱就是说你都这么读了直接一句memcpy不完了
memcpy(matrix, (void*)matrix_address, sizeof(matrix));

你要的例子
DWORD matrix_address = g_client_module + hazedumper::signatures::dwViewMatrix;
    float matrix[4][4];
  
    for (int i = 0; i < 4; i++)
       {
           for (int j = 0; j < 4; j++)
           {
                matrix[j] = ((float(*)[4])matrix_address)[j];
           }
       }


回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-2 15:11:53 | 显示全部楼层   湖南省湘西土家族苗族自治州
我的小拇指啊 发表于 2022-7-2 15:04
直接用指针访问啊,还能咋访问怕炸就套个异常处理或者IsBadReadPtr

怎么访问?源码?大佬动动小手改下?
DWORD matrix_address = g_client_module + hazedumper::signatures::dwViewMatrix;
    float matrix[4][4];
  
    for (int i = 0; i < 4; i++)
       {
           for (int j = 0; j < 4; j++)
           {
                matrix[j] = *((DWORD*)(matrix_address));
           }
       }

    //read_memory((HANDLE)g_process_handle, matrix_address, matrix, sizeof(float) * 4 * 4);
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-2 15:10:19 | 显示全部楼层   湖南省湘西土家族苗族自治州
怎么访问?有个例子?改下
DWORD matrix_address = g_client_module + hazedumper::signatures::dwViewMatrix;
    float matrix[4][4];
  
    for (int i = 0; i < 4; i++)
       {
           for (int j = 0; j < 4; j++)
           {
                matrix[i][j] = *((DWORD*)(matrix_address));
           }
       }

    //read_memory((HANDLE)g_process_handle, matrix_address, matrix, sizeof(float) * 4 * 4);
回复 支持 反对

使用道具 举报

结帖率:97% (29/30)

签到天数: 13 天

发表于 2022-7-2 15:04:56 | 显示全部楼层   广西壮族自治区柳州市

回帖奖励 +5 枚 精币

直接用指针访问啊,还能咋访问怕炸就套个异常处理或者IsBadReadPtr
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表