各位帮我看看 我想知道原理
registersymbol(wudi)
alloc(wudi,32)
wudi:
mov eax,64
mov esi,0
jmp 00879860
dealloc(wudi)
unregistersymbol(wudi)
就这个 我自己阅读的意思是,在内存中申请一个内存 写入功能跳到00879860后 功能完成后 释放内存地址
不知道我阅读的意思对了没?
这个是10年左右的一个CT了,他那时候这样写肯定是对的并且有功能
然后我想问的是 申请内存的模块都不到一样 这样跳过去也没实际功能效果啊?
但是我用的时候就没有功能 我需要在00879860这个地址上面一个比较跳转修改(比如是je 00879860 )必须jmp 00879860才有实际功能效果。
但是我这样做就修改了程序代码了,程序检测到我修改了代码就退出游戏了
他这么写不会检测到代码? 以前看过一个逆向视频 是从一个程序空间jmp到一个空的内存空间 然后写好参数 在跳回到程序控件
但是他这个也属于是修改了程序本身代码啊?
我想问的是他这个CT的意思 是不是在不修改程序代码的情况下实现功能?
如果是是话 那程序怎么会运行它这块代码呢?
yhnujm 发表于 2018-10-25 00:36
哦 感谢热心解答,但是你还是没说 游戏怎么会运行到它的空白地址呢?
就是说游戏怎么会运行到它申请的 ...
他赋值就是让跳转下面有跳转, 哦 对 还有个为什么现在写FZ的百分之99都是把功能写到DLL里面去了呢?防止偷功能吗?或者逆向? 写到DLL是为了作为劫持来注入功能 DNF有木马检测能检测出很多FZ 而且在游戏前注入会不容易检测到内存被修改对于他写的代码没有具体命令的话1单看汇编可能是hook 这个是HOOK吧,MOV俩参数跳到下面的空白地址进行实现功能再跳回去,具体就是这样
DLL也照样可以偷数据,所以不存在防偷数据
就只是为了过检测,防封做成DLL的劫持是因为在TP运行之前要加载几个旧版本的DLL
DXF也是因为TP检测的关系所以做成DLL 923004243 发表于 2018-10-23 18:33
写到DLL是为了作为劫持来注入功能 DNF有木马检测能检测出很多FZ 而且在游戏前注入会不容易检测到内存被 ...
我用DLL注入 DLL里面窗口 修改游戏代码 还是会被检测到呀 本帖最后由 yhnujm 于 2018-10-23 20:14 编辑
Cloud 发表于 2018-10-23 19:13
这个是HOOK吧,MOV俩参数跳到下面的空白地址进行实现功能再跳回去,具体就是这样
DLL也照样可以偷数据, ...
哦你说的意思我明白了, 问题是 游戏怎么会运行到空白那个地方呢??
我在游戏代码底下空白的地方写入这两个参数跳到哪个地址 功能还是没效果呢。。00879860是游戏有效地址 不是空白地址呢 整体代码就是我主题里面的 一点也没少
这么给你说吧 00879860 这个地址 距离 游戏功能代码不远
比如
text eax,ecx
je 00879860
*******
*******
*******
CALL ****
这就是游戏代码
如果我在游戏里直接把je改成jmp 游戏会检测到代码 退出但是我主题里 它那样写不会退出??
yhnujm 发表于 2018-10-23 20:09
哦你说的意思我明白了, 问题是 游戏怎么会运行到空白那个地方呢??
我在游戏代码底下空白的地方写 ...
多看看关于汇编的教程吧,涉及的东西太多了
网游地址是会变动的,你现在看的汇编是这样的,但10年的时候汇编说不定就不是这样的
实现一些功能一定会修改游戏的内存,或者调用某些游戏的CALL,CT一样DLL也一样
总归 DLL 就是 内存_写内存字节集()这个不存在不修改游戏的代码的
CF是HOOK D3D函数然后进行绘图,以前很少被检测,以前小学生买个源码更新下基址就自己写透视了233333
DXF是修改游戏内存地址中的数值 有的时候还会调用一些技能CALL什么的 以前下载个源码更新下基址偏移就可以用了(毕竟好久没弄过了)
现在这些东西都存在着一个TPCRC校验的问题(还有些乱七八糟的检测)毕竟TX不是傻子,校验异常就是封号或者退出游戏
text eax,ecx
je 00879860
*******
*******
*******
CALL ****
只用赋值EAX的值 Z标志位就会变,JE就会跳转,在TEXT EAX,ECX上面给EAX寄存器赋值JE的Z标志位就会更改跳转效果和JMP差不多
剩下的自己多看看易语言或者汇编的教程,就知道了
yhnujm 发表于 2018-10-23 20:09
哦你说的意思我明白了, 问题是 游戏怎么会运行到空白那个地方呢??
我在游戏代码底下空白的地方写 ...
直接给你说吧,在他那个版本的游戏里直接改JE,也许不会退出
毕竟远古年代的TP和现在的TP比起来就是个玩具
但在现在你这个版本里会退出,涉及检测,游戏更新等乱七八糟的东西 本帖最后由 yhnujm 于 2018-10-25 00:48 编辑
Cloud 发表于 2018-10-23 23:12
直接给你说吧,在他那个版本的游戏里直接改JE,也许不会退出
毕竟远古年代的TP和现在的TP比起来就是个 ...
哦 感谢热心解答,但是你还是没说 游戏怎么会运行到它的空白地址呢?
就是说游戏怎么会运行到它申请的空白内存空间呢??
它并没有在游戏代码里面写跳转跳到空白地址内存空间呀而且 你所说的 它给test的某个标志位赋值 好像不是这样的啊
既然赋值了 那他干嘛还要jmp- - 啊
我的猜测是 他给某个地方赋值 但绝对不是我所说的 test这个地方..
因为我觉得没必要啊 你既然赋值了那你干嘛还要jmp啊
然后让游戏一直运行它这个代码
就好像游戏代码就是个正常的路 前面是个弯道 得弯一个弯 才回到正常的路上来继续运行,
但是这个G的功能是直接申请一个内存空间 笔直走路 不走弯道
但是我没搞明白的是游戏正常运作 是走弯道怎么会走你这个申请内存空间的地址呢
代码我也看了 如果它 是首先在弯道前搭了一座桥 让游戏代码上桥,下桥后 正常回到游戏代码里,那这样我理解。。
问题是 他这个代码没有在弯道前搭桥这个步骤啊?? 只是申请了一个搭桥的过程(申请内存空间).
并没有说让游戏代码走桥这个路。。 所以搞不懂
页:
[1]