1.准备工具UE ,peid,OD,stripper_v207ht(百度搜索这几个名字都能找到)
2.首先用peid 查查game.exe加的什么壳.我这的是:ASProtect 1.23 RC4 - 1.3.08.24 -> Alexey Solodovnikov
不知道 韩服和国服是否一样.
3.当然是脱壳了,用stripper_v207 脱掉game.exe的壳.有汉化版本的 看看就会.
4.下面进正题。
脱壳后的 用OD载入 game.exe大小应该是(3M左右,也许GF的 和韩服大小不一样吧。)
载入后会看到全屏幕都是汇编代码啊。。。。。在中间大的方框点击右键->搜索->所有文本参考字串
然后 会出现一个新窗口。里面全是一些字符串。这就对了。
1>在这个字符串窗口里咱们搜索->start game,找到后双击,会跳到汇编代码段。最后一栏写着 ASCII "start game" ,向下看 能看到test eax,eax 在下面就是je ,把je改成jmp. 这一部的修改时跳过每次运行神泣的时候 都要先出现更新的窗口才启动game.exe ,现在不用了。
2>再重复上面的方法到字符串窗口搜索->nProtect GameGuard (注意这个字符串有两个搜索两次选第二个,大家对这个字符串很敏感吧,好戏在后面)
一样找到后双击,跳到汇编代码段,紧挨着他的下面有个jnz跳转,jnz改jmp.
3>这次不要去 字符串窗口了。直接在汇编窗口按CRTL+F 搜索:CMP EAX,0B7 ,在他的下面会看到一个jnz照旧改成jmp.
4>
继续转到字符串窗口搜索->enc: %s 双击到汇编段,在他的下方会看到竖着的:
push 0
push 0
push 0
push 1
push 0
push 0
这么一段修改push 1 到 push 0.看清楚别改错了.
5>在汇编代码段 搜索 MOV EAX,262 ,会找到唯一值,将MOV EAX,262 修改为MOV EAX,755.修改完成后 直接点右键分析-分析代码,然后在搜索一次 MOV EAX,755,好的,现在找到他下面第一个retn,点右键跳转-》跳转到上一个函数,慢慢找知道看到右边注释里出现:红色的
GetCurrentProcessID
空行
GetCurrentThreadId
在它的上面能看到:
test al,al
jnz 0056138C
这个还用我说嘛?jnz->jmp大法 !!!!这个是NP的启动线程。一定要找对了。否则无效。我曾经找这个找了3个多小时.
6>如果上面都做完了那么可以收工了。HF的话 还记得我们每次都要运行app才能启动游戏吗?那个可恶的 korea version !! 我们就跳过它,不让它出来 这样就免APP了。方法很简单 字符串搜索->korea version
双击代码 修改jnz .
7>下面说保存
所有修改完毕后 在汇编代码段 点右键->复制到可执行程序->所有修改->全部复制 会出来一个新窗口 在新窗口内继续右键->保存文件->选择保存的地方 over
..............................
好了 这个完美脱NP的教程完成了 。把保存的 game.exe放回神泣目录 ,然后运行你会发现直接跳过更新和NP了。 但是 进入游戏 玩过一段时间后 会掉线。这是NP和服务器之间有验证。服务器随即给客户端的NP发送问题,可是你的NP已经跳过去了根本没启动。所以服务器就给你踢掉了。
再深点的东西我也不会了。就到这吧,怎么模拟NP回答什么的,这个我是做不到。 希望有高人出手。。。
posted on 2009-03-05 00:24
yiye 阅读(5492)
评论(13) 编辑 收藏 引用