首页
社区
课程
招聘
[求助]如何通过弹窗找代码
发表于: 2022-8-7 13:01 6642

[求助]如何通过弹窗找代码

2022-8-7 13:01
6642

有2个问题,一些普通程序的弹窗如何去下断.
1.比如,登录某个程序,会弹出一个对话框提示用户不存在.
但是用调试工具的话,搜索字符串却搜索不出来.
2.游戏内的弹窗如何下断.
比如,英雄联盟这个游戏在游戏中强行退出的时候,弹出一个是否退出的对话框,且有5秒后才可以点击的确定退出按钮.

 

这些代码如何去找呢?


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 3646
活跃值: (3218)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
1.一般程序下MseeageBox相关断点即可,ret处F8就返回到弹窗代码了
2.LOL这种通常是自绘,不大可能再调用MseeageBox,需要根据上下文推敲,比如你下文是退出游戏,那么在exit的相关API下断再向上回朔
2022-8-8 09:37
0
雪    币: 4711
活跃值: (4224)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
弹窗找代码一般需要了解 有哪些api可以弹窗 然后取api下断

游戏程序都是采用D3D绘制的  一般称为控件 引擎开发人员们通过D3D api封装起来的  游戏控件的遍历网上有教程帖子 
2022-8-8 10:54
0
雪    币: 4711
活跃值: (4224)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
逆向它没有通杀的绝招  和个人的知识储备有关  对于开发人员来说 每个人的思想都是独立 自由的 所以可以随心所欲 根据自己的喜欢 想法来设计程序 这样在开发界就不会有标准的统一的技术  那么即使你是一个10年 20年的逆向大佬 对于不可控的人们的思想设计的程序 也不是所有都可以被轻松逆向
2022-8-8 11:01
0
雪    币: 90
活跃值: (67)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
来学习下,大佬们说的还是比较好理解的。
2022-8-9 08:49
0
雪    币: 6036
活跃值: (7603)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
6
用od看堆栈,或者直接从程序入口点下断点一步一步的调试,找到函数调用点就行了
2022-8-9 09:12
0
雪    币: 7
活跃值: (67)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
7
字符串访问断 一般就能直接断到弹窗call上一层
2022-8-9 10:30
0
雪    币: 248
活跃值: (1408)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
今天刚整完,还是技术有待提高.
总结下来就是:对特定语言/平台使用特定工具.
c#/.net平台老老实实用dnspy,用OD半年也找不到关键点.
2022-8-10 18:20
0
雪    币: 51
活跃值: (138)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
如果是窗口程序的话,x96dbg直接下断就行,下不下的话可能存在反调试,就是一种技术的对抗了。
2022-8-11 09:47
0
雪    币: 95
活跃值: (1041)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
兄弟解决了吗
2023-7-8 17:10
0
雪    币: 248
活跃值: (1408)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
0xffffffff 兄弟解决了吗
没有啊,我的这个提问是为了解决这样的问题的,假设在CSGO游戏中,在摧毁枪械皮肤的时候会有一个弹窗,弹出Yes or No,我没玩过,我不知道实际情况,在这个窗口出来的时候,在这种情况下,肯定是等待这个窗口的返回结果,所以我会看一下所有线程的调用栈.
如果找不到呢,就要分析一下这个弹窗有什么信息.首先断MessageBox,如果断不到,断CreateWindow,考虑是不是用CreateWinodws自己定义的一个弹窗类窗口.如果断不到,那就考虑游戏引擎是直接调用了图形库,directx之类,从这里入手.
还有其他办法,比如这个弹窗可能是某个dll中的一个导出函数,我假设游戏引擎的某个dll会导出这个函数用来创建弹窗,这时候就可以在线程调用堆栈中看到模块和地址
比如在等待用户点击yes no的时候,可能会有一个线程是WaitForSignel处于等待状态,可能是在等待yes no的结果,也可能是其他.
根据不同场景分析不同问题,如果是软件,如果是QT框架就要想到这个弹窗应该是qt模块导出的一个函数,mfc就要断win32api,如果是游戏就要分析游戏引擎是使用了什么方式绘制图形,如果是.net创建窗口,这个我还没有想过.net底层是调用的什么来绘制,希望可以帮到你
2023-8-5 22:00
0
游客
登录 | 注册 方可回帖
返回
//