吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

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

[求助] 用IDA修改一个文件中的几个全局变量

[复制链接]
woshisf 发表于 2022-8-4 12:48
本帖最后由 woshisf 于 2022-8-4 12:51 编辑

首先我是一个白的不能再白的小白,我想让这个常量变成dw类型,有办法在不动结构的状况下转换吗?

微信图片_20220804124611.jpg


微信图片_20220804124735.jpg
image.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

wihn 发表于 2022-8-4 14:05
存储是连续的,后一个数据紧挨着你要改的数据,改了大小,后面的数据肯定受影响要往后移;如果强制不往后移,后面的数据也会缺失前面的一部分。
 楼主| woshisf 发表于 2022-8-4 14:17
wihn 发表于 2022-8-4 14:05
存储是连续的,后一个数据紧挨着你要改的数据,改了大小,后面的数据肯定受影响要往后移;如果强制不往后移 ...

就是说全局变量这部分没法改,如果我整体增加几个byte不就有空间么吗?
wihn 发表于 2022-8-4 14:28
woshisf 发表于 2022-8-4 14:17
就是说全局变量这部分没法改,如果我整体增加几个byte不就有空间么吗?

整体增加了几个bytes,程序有一些代码要访问这全局变量,使用的还是以前的地址,就会出现混乱。而且在这个位置增加几个bytes,那么就是说从这个位置开始的所有地址都要往后移几个bytes,而写在代码里的地址还是原来那样。比如原来数据是12345,现在加了一些,变成122345,那么原来会取到4的代码,现在取到了3,对程序会有影响。
狄人3 发表于 2022-8-4 14:30
这个db dw只是ida识别出来的类型,没有必须要修改啊
HUAJIEN 发表于 2022-8-4 14:36
你要是小白那我连小白现在都混不上
 楼主| woshisf 发表于 2022-8-4 15:28
狄人3 发表于 2022-8-4 14:30
这个db dw只是ida识别出来的类型,没有必须要修改啊

比如说数组中的一个word值如果被这个db(char)调用了,那么不就丢失了高位部分.所以我想从源头解决.
如果实在没办法,我还是得在关键部位mov的地方强转?
狄人3 发表于 2022-8-4 17:40
woshisf 发表于 2022-8-4 15:28
比如说数组中的一个word值如果被这个db(char)调用了,那么不就丢失了高位部分.所以我想从源头解决.
如果 ...

我好像不是很懂数组中的word值被数据调用是啥意思。。。这个不是数据吗,怎么会调用别人
GinCHN 发表于 2022-8-4 17:56
学习了🙈
 楼主| woshisf 发表于 2022-8-9 09:42
狄人3 发表于 2022-8-4 17:40
我好像不是很懂数组中的word值被数据调用是啥意思。。。这个不是数据吗,怎么会调用别人

一般数组构造完成都是空的,只有一个结构,所以如果变量设定的值是char,那么调用talbe导入的时候就会进行强转成char,这时候如果table中这个值是WORD就会丢失1个byte,所以想改全局变量的参数,让这个数组该变量默认变成word就可以了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 09:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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