yinsel 发表于 2024-5-6 17:30

关于用 x64dbg Patch一个exe的问题

这是一个Windows x64 平台的程序。
目前遇到了一个问题,汇编代码如下:
mov rax,qword ptr ds:      :"20230101"
其中的20230101代表日期,程序会校验当前日期是否大于20230101,如果大于则会退出。我想patch它从而达到永不过期,思路是为exe添加一个数据段,然后将这段汇编代码改为从这个数据段中获取数据,请问这个思路可行吗,如果可行如何patch它,目前刚刚接触这方面,希望有人指点指点。

situhaonan 发表于 2024-5-6 18:08

找谁给 :"20230101" 赋值 ,然后修改

xiaoweng 发表于 2024-5-6 17:59

我看着这句应该是 mov rax,qword ptr ds:   把寄存器rcx+10的地址的内存数据获取出来,赋值给rax,我看了你提供的:"20230101"是文本型,那么我们尝试直接把这个mov rax,qword ptr ds:改成 mov rax,空白地址 ,空白地址写入文本型"20280101"这样rax就被赋值了2028年,应该差不多了.本人不精通x64,在x86这样肯定是行得通的!

阿政0506 发表于 2024-5-6 17:41

定位特征码直接写就行了,你可以先用ce尝试

byh3025 发表于 2024-5-6 17:52

直接改这个日期不行吗?或者下面应该有个跳转改成相反

yinsel 发表于 2024-5-6 17:59

byh3025 发表于 2024-5-6 17:52
直接改这个日期不行吗?或者下面应该有个跳转改成相反

可以直接改,但是我想要patch它成为exe

yinsel 发表于 2024-5-6 18:00

byh3025 发表于 2024-5-6 17:52
直接改这个日期不行吗?或者下面应该有个跳转改成相反

跳转后面逻辑比较复杂,一时半会找不到,但是我找到它的关键数据了,相对来说数据应该好改一些

yinsel 发表于 2024-5-6 18:01

阿政0506 发表于 2024-5-6 17:41
定位特征码直接写就行了,你可以先用ce尝试

我直接可以修改内存中的数据,但是我现在想把修改的数据硬编码到这个exe里,这样每次打开已经是修改过的了

yinsel 发表于 2024-5-6 18:02

xiaoweng 发表于 2024-5-6 17:59
我看着这句应该是 mov rax,qword ptr ds:   把寄存器rcx+10的地址的内存数据获取出来,赋值给rax, ...

感谢,但这个空白地址指的是?不太理解

yinsel 发表于 2024-5-6 18:12

situhaonan 发表于 2024-5-6 18:08
找谁给 :"20230101" 赋值 ,然后修改

感谢回复,我找找
页: [1] 2 3
查看完整版本: 关于用 x64dbg Patch一个exe的问题