TC官方合作论坛

 找回密码
 立即注册
查看: 1849|回复: 12

[已解决] 如何找游戏里的call

[复制链接]
发表于 2015-11-20 23:18:27 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
万事具备就差call了,ollydbg这个不会用急人啊,,那位大侠能带我找一次call可以给新版人民币
回复

使用道具 举报

发表于 2015-11-21 23:10:27 | 显示全部楼层
本帖最后由 somyyy 于 2015-11-21 23:15 编辑

1、OD是现在逆向工程的利器(破-解、脱壳、写挂必备,学OD追码也是高手的必备技能),也叫动态调试器,不过很多游戏会检测OD(也就是你说的OllyDebug),所以首先要找到一个可以过检测的OD;
2、要看你需要找什么CALL了,需要有针对性的下断点也就是:bp+需要下断点的函数;这个函数是什么很重要,这和你需要的数据有关,需要对API函数有一些了解才能找准断点函数;
3、一般要寻找游戏CALL,单独用OD稍微麻烦点,一般人都需要配合内存查找数据来一起寻找数据CALL或是常量数据的,常用的内存查找工具是CE;很多游戏也会检测它,所以也要找一个能过检测的版本;
4、即便找对了函数地址,函数的参数也是需要分析OD中的汇编代码才行,目前TC不支持汇编代码,可以考虑大漠插件(估计需要收费功能才行),所以如果没有接触过,路还很漫长。。。
关于OD的使用教程很多,举个简单的例子:
比如:一个软件限制本地时间才能使用,否则过期不许使用------这时用OD调试这个软件就需要载入软件后下断点bp GetLocalTime,这时候游戏或软件只要调用这个函数,就会自动断在API处,然后才能一步步往回追码,最后找到需要修改的地方;
但是,游戏或软件不会这么傻裸着发送软件任由你修改,一般都会加壳,加了壳的软件就不能用OD直接修改或调试,有的直接检测到OD就退出了,所以加了壳就需要脱壳后再修改调试代码,加壳与脱壳技术随着时间的发展到今天,也不是谁都能弄得了的,用高深莫测不也为过;
所以,要选择学习OD走入逆向的天地并走的更远的话,那需要的就是:知识储备+耐心+经验+运气;路漫漫其修远兮。。。。
啰嗦一堆,其实我也只是入门菜鸟一只,学过一点汇编,破过几个软件,会脱几个常见壳而已,不知是否有用,只是抛砖引玉。。。
回复 支持 反对

使用道具 举报

发表于 2015-11-20 23:46:34 | 显示全部楼层
汇编没那么简单,路还长,慢慢沉淀吧,call不是找一找就能学会的
回复 支持 反对

使用道具 举报

发表于 2015-11-21 20:28:43 | 显示全部楼层
某宝去买教程吧很便宜的 也就才十多块钱
回复 支持 反对

使用道具 举报

发表于 2015-11-22 10:23:26 来自手机 | 显示全部楼层
找call写call吧,百度贴吧。
回复 支持 反对

使用道具 举报

发表于 2015-11-22 11:15:38 来自手机 | 显示全部楼层
求教。按Ctrl+F9是回到哪个方向的代码。
比如:我写了一个软件,限制本地时间使用,过期不许使用。
代码设计思路:
按键盘10次。
检测本地时间,
如果没有时间过期,
    按鼠标20次。
    按鼠标20次。
如果时间过期,
    获得自身句柄,关闭程序。

编译软件,载入软件后下断点bp GetLocalTime,这时候游戏或软件只要调用这个函数,就会自动断在API处,然后才能一步步往回追码,最后找到需要修改的地方;

OD自动断在API处,这时按几次Ctrl+F9。
按Ctrl+F9是回到按鼠标方向的代码 /获得自身句柄方向的代码,

还是回到按键盘方向的代码。

回复 支持 反对

使用道具 举报

发表于 2015-11-22 11:17:04 来自手机 | 显示全部楼层
somyyy 发表于 2015-11-21 23:10
1、OD是现在逆向工程的利器(破-解、脱壳、写挂必备,学OD追码也是高手的必备技能),也叫动态调试器,不过 ...

求教。按Ctrl+F9是回到哪个方向的代码。
比如:我写了一个软件,限制本地时间使用,过期不许使用。
代码设计思路:
    按键盘10次。
检测本地时间,
如果没有时间过期,
   按鼠标20次。
   按鼠标20次。
如果时间过期,
   获得自身句柄,关闭程序。

编译软件,载入软件后下断点bp GetLocalTime,这时候游戏或软件只要调用这个函数,就会自动断在API处,然后才能一步步往回追码,最后找到需要修改的地方;

OD自动断在API处,这时按几次Ctrl+F9。
按Ctrl+F9是回到按鼠标方向的代码 /获得自身句柄方向的代码,

还是回到按键盘方向的代码。
回复 支持 反对

使用道具 举报

发表于 2015-11-22 11:22:35 来自手机 | 显示全部楼层
somyyy 发表于 2015-11-21 23:10
1、OD是现在逆向工程的利器(破-解、脱壳、写挂必备,学OD追码也是高手的必备技能),也叫动态调试器,不过 ...

就是说,OD在断点停下来后,如果不停地按Ctrl+F9,汇编代码是回到程序的开头代码,
还是回到程序的结尾代码。
回复 支持 反对

使用道具 举报

发表于 2015-11-22 14:58:37 | 显示全部楼层
本帖最后由 somyyy 于 2015-11-22 15:17 编辑

首先,看你写的代码是不是要调试TC程序啊?
这个TC貌似生成的程序有加壳的,你用PEID查一下,我记得查过好像有壳的,如果有壳代码不能直接修改;
关于OD的使用教程很多,追码最好从单步追源码开始练习,比如写一个C程序的Hello World源码或Delphi的源码跟踪一下,找找感觉;
然后学学教程常见的脱壳方法,单步跟踪-ESP定律等等很多经典好好吸收,对汇编语言也要知道一些基本理论,否则找到关键位置也没信号没感觉,可能就错过了。
程序是向下执行的,除非你强制跳转,否则只能向结尾走;另外如果你学过OD,应该知道,单步跟踪法的要旨就是不让程序向上跳转,一直往下追踪,适合于脱任何壳寻找关键点;
单步跟踪法是脱壳的最基本操作方法,其他脱壳方法都是源于此基础,高手也是从这个方法中总结经验找到更快的办法的。如果真的扎进脱壳的领域去,没有几年是出不来的,不过会强迫你学很多底层知识。
你说的F9是常见的OD操作:
Ctrl+F9 运行至ret,就是遇到返回就停;
Alt+F9 运行至上层调用的下句,就是回到上次调用结束,指针指向下一句开始,一般回到用户代码(因为我们下的断点是在API上,程序运行空间不是用户代码空间),
Shift+F9 忽略异常运行,和F9差不多,即便运行过程遇到异常也忽略继续执行的意思。




回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-11-23 19:16:12 | 显示全部楼层
不知道停在哪里了,我把注入游戏的dll都写好了就等着call它的功能函数了,每次下用bp send下个断点不知道停在哪很迷茫
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-10-2 05:59 , Processed in 0.046140 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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