能力值:
( LV2,RANK:10 )
|
-
-
|
能力值:
( LV2,RANK:10 )
|
-
-
[求助]寻找OD 下send 断点时特定的send函数
[QUOTE=jayfree;1208240]感谢兄弟分享经验!~~听你的 建议,尝试用IDA反汇编客户端,发现有壳,找到的字符串也没啥用。。。晕倒!ASPack 2.12 -> Alexey Solodovnikov [Overlay] ,TX的壳估计不会很简单。难道还重新学脱壳!晕倒!找个走路call就那么麻烦么。。。。自信心严重受...[/QUOTE]
只是拿ida去看而已,不一定要脱壳后的程序能运行,所以拿OD运行起来后,你直接给它dump出来的文件都够了,相比壳而言,驱动保护才是难点    熟能生巧,call找多了就自然积累了经验。
|
能力值:
( LV2,RANK:10 )
|
-
-
|
能力值:
( LV2,RANK:10 )
|
-
-
|
能力值:
( LV2,RANK:10 )
|
-
-
[求助]寻找OD 下send 断点时特定的send函数
断字符串的意思,就是说断这些数据,走路那你就给坐标下写入断点,因为走路函数里肯定会修改当前坐标的,这样你就能断到走路函数里了嘛。
原理就是走路,吃药除了会send发包以外,他们还会去修改数据,譬如坐标,药品数量,血量,给这些数据下写入断点.例如打怪,你还可以给经验值下写入断点,忘掉send吧。
zoulu()
{
xxx()
{
send()
}
yyy()
{
change_zuobiao()
}
}
用ida看字符串,就是指ida反汇编游戏客户端,有壳的先脱壳,会有很多有用的字符串的, 多练习,熟练就好了。
|
能力值:
( LV2,RANK:10 )
|
-
-
|
能力值:
( LV2,RANK:10 )
|
-
-
|
能力值:
( LV2,RANK:10 )
|
-
-
[求助]现在怎么一说安全就是web
从技术上讲,病毒的攻击也不高级,病毒只是一个工具而已,你怎么让病毒在别人机器上运行呢?可能你说的病毒是那种能自动攻击的蠕虫,那玩意确实牛,但需要发现了牛逼的漏洞。 要说高级,挖出漏洞才是最高级的。
|
能力值:
( LV2,RANK:10 )
|
-
-
|
能力值:
( LV2,RANK:10 )
|
-
-
[求助]寻找OD 下send 断点时特定的send函数
要多使用字符串方法啊, 譬如
走路(你就跟踪坐标变化),吃药(你就跟踪药品数量变化),打怪(你就跟踪走路或者选怪,因为打怪,首先会选怪,另外距离远肯定会先走过去),多观察那种界面上明确变化的数据,比直接跟send然后回溯要好。 另外拿ida看看字符串,经常会有很多有用的字符串的,对于大致定位函数有帮助。
除了字符串,现在常流行的lua也要学习,这玩意我不懂,不过论坛都有这方面的资料啊,插件啊,send感觉已经非常原始了。
|
能力值:
( LV2,RANK:10 )
|
-
-
[求助]现在怎么一说安全就是web
你攻击一台机器,要么直接远程溢出攻击系统本身(难度忒大了),要么攻击系统上运行的应用软件(web服务器就是主要攻击目标,还有其他什么ftp email服务器等),两种都需要去发现漏洞,相比你去发现操作系统的远程溢出漏洞,发现应用服务的漏洞就容易的多。
你说的病毒攻击,那也是别人攻击了web服务器后,在页面上挂马,你访问后,木马运行,下载执行你的病毒。
肯定是能达到和攻击系统一样的效果啊,都是去取得机器的控制权限,攻击web的目的就是让你能在远程系统上运行你的马,取得远程服务器的控制权限。
|
能力值:
( LV2,RANK:10 )
|
-
-
|
能力值:
( LV2,RANK:10 )
|
-
-
|
能力值:
( LV2,RANK:10 )
|
-
-
|
能力值:
( LV2,RANK:10 )
|
-
-
[分享]分享一个找call的思路
这个应该算是函数识别的问题吧,我是直接在ida的functions window里面拷出来的,而且那些识别出来的库函数也不用管,基本只考虑sub_开头的函数。你会写ida插件,那OD插件估计也会吧,OD中实现类似的功能复不复杂
另外针对楼上回复的,什么crc检测啊,游戏不让设置异常(游戏不让的事情多了,OD也要考虑crc吧,游戏上不好用,可以拿去找软件的call嘛,定位按钮事件撒的也不错),找出一大堆结果(嫌结果多的话,你可以第一个断点触发后,就取消所有断点,只记录第一个断点,然后再结合OD慢慢处理)
这个思路是用来搞个小工具玩玩而已,要想更实用,如何做到方便操作,功能做全才是难点,譬如去把堆栈信息也打印出来(监控指定api,把参数都搞出来,监控个send抓抓包玩),  
|
能力值:
( LV2,RANK:10 )
|
-
-
[分享]分享一个找call的思路
恩,肯定有很多搞不定的东西,这个思路主要是实现起来非常简单,且有一定的用处,能蒙到一个算一个,搞不定的再想其他办法嘛,哈哈,像你说的lua,这玩意我不懂,不过论坛上已经看到有人公布过lua的插件,用插件那更方便了。
因为都没拿游戏测试过,所以我臆想这样一种情景
zoulu
{
AddMsgToQueue("zoulu");
...
}
chiyao
{
AddMsgToQueue("chiyao");
...
}
msgloop() // 不停的遍历消息
{
while(1)
{
GetMsgFromQueue();
xxx()
{
send()
}
}
}
这种情况如果像普通方法那样给send函数下断,想跟到zoulu,chiyao函数去,很麻烦,除非你把它的消息处理都分析出来了.
|
能力值:
( LV2,RANK:10 )
|
-
-
|
能力值:
( LV2,RANK:10 )
|
-
-
|
能力值:
( LV2,RANK:10 )
|
-
-
|
能力值:
( LV2,RANK:10 )
|
-
-
[分享]分享一个找call的思路
是的,就是利用异常处理来捕捉断点,核心在于自动下断点 记录断点,删断点,反正也不知道会调用什么函数,干脆把所有函数都下上断点,让丫去触发吧。
另外我觉得OD脚本或者插件肯定也可以相应的功能(自动 -> 设断点,记录断点,删断点 ),只不过我不会  
|