山东001在线

 找回密码
 立即注册
搜索
查看: 151|回复: 0

[美女] 知晓:CTF不好用的CE瞎搞2023/3/31 6:04:46

[复制链接]
  • TA的每日心情
    难过
    2023-6-30 13:24
  • 签到天数: 40 天

    [LV.5]常住居民I

    发表于 2023-3-31 06:05:15 | 显示全部楼层 |阅读模式

    比较近趁上课之余,刷了一下CTF()不好用的CE,言外之意就是说这道题用CE不好做,这里先分享一下上其他大佬的解题方式:539985569游戏基址的最新消息可以到我们平台网站了解一下,也可以咨询客服人员进行详细的解答!






    下面是我的解题方式:1、先打开程序,观察双击程序,出现一个对话框之后是主界面,点击可以是值增加1





    这里我的思路:1、爆破:写一个程序,模拟点击000次2、尝试修改值,直接修改到9999,再次操作这里,我果断选择第二个方式(其首个试了一下,比较内存了,CPU也一下子就飚上去了)首先,查看有没有壳(一般都是壳的,但是还是查看一下)如图:程序是VB写的,壳,





    2、CE附加,尝试查看变量这里我尝试搜索精确数值,但是发现精确值收缩到比较后是一个死胡同,因为有时候是可以查找到这些值,但更多时候,这些值可能只是那么几个值才产生变动,基本上从精确值这里切入比较难,而且即使找到了值,并且进行了修改,在这次显示值是修改了的,但是到了下一次时,值也会自动校正。所以我尝试搜索未知初始值,并且通过不断变动值,缩小搜索范围,比较终查到以下数据:分别对这些数据进行改写查看,获得以下代码段


    数据1:
    0D41-8B-,[]
    0D43-56-
    0D44-DD5E34-[+34]
    0D47-DFE0-
    0D49-A80D-,0D


    数据2:
    77E82C6C-85C0-,
    77E82C6E-0F8489C000-RUWCS+7F
    77E82C74-FF87FC000000-[+000000FC]
    77E82C7A-C645E6[-1A],
    77E82C7E-8B75,[+]

    77E835C0-,
    77E83F84BC00-RUWCS+A2
    77E83D-FF83FC000000-[+000000FC]
    77E833-F74348000000-[+48],60000000
    77E83A-0F85F70000-RPTFH+1DC

    数据3:
    77E83B-75-RQPC+7E9
    77E83D-0000-,0000
    77E832-8946[+],
    77E835-397D90-[-70],
    77E838-0F859E0000-LULL+0D

    77E82CDB-83F9,
    77E82CDE-72RQPC+360
    77E82CE0-8340FE-[+],-
    77E82CE4-F646[+],
    77E82CE8-0F859FEA00-TDC+652

    数据4:
    77E82F3BD8-,
    77E82F0F852A7A00-RUBS+DBE9
    77E82F0F-89[],
    77E82F894A[+],
    77E82F-89[],

    数据5:
    74-F2-,
    742B-2BC2-,
    742D-8937-[],
    742F-8947[+],
    74-8D7F-,[+*2]

    数据6:
    742B-2BC2-,
    742D-8937-[],
    742F-8947[+],
    74-8D7F-,[+*2]
    74-8D80-,[+*4]

    数据7:
    779B9962-89448FF8-[+*4-],
    779B9966-8B448EFC-,[+*4-]
    779B996A-89448FFC-[+*4-],
    779B996E-8D8D00000000-,[*4+00000000]
    779B9975-F0-,

    数据8:
    779B9962-89448FF8-[+*4-],
    779B9966-8B448EFC-,[+*4-]
    779B996A-89448FFC-[+*4-],
    779B996E-8D8D00000000-,[*4+00000000]
    779B9975-F0-,

    观察上面的数据,可以发现数据5和数据6是同一段代码,数据7和数据8也是同一段代码,所以我选择充这里作为切入点(其其他代码也是可以的,只是我直觉这里应该比较好分析)3、OD附加(工具:32),并跳转到选定目标地址:42F在此处下断点,并且跟进,同时查看堆栈和寄存器数值变化在此处下断,发现数值是在当前CALL上层修改的,返回到上层代码:这里代码看了一下,发现也有很多下一个的数值,暂时没看出啥,所以返回到函数头部,再次断下,从头不看看哪里数值是比较可疑的查看EDI+4的数据在此处进行硬件写入断点,再次点击按钮与之前类似,这里的数据也是上层计算得出的,再次向上层回溯,这里省略部分,因为之后的操作和这里类似,上上层回溯,知道跳转到主模块地址处,即以000开始的地址,一般在此处可能会进行值的判断,弹窗之类的在这里附近查看代码,也可以断下后调试,查看执行过程,我这里使用绘制功能直观展示它的执行流程尝试修改代码:修改后的效果:出现了一个对话框,这个字符串应该就是





    高高兴兴去填写答案,打脸来的太,答案是错误的,在分析一下字符串DZMURP8NJLPX看起来图像B64加密的,试一下解密,呵呵,打脸虽迟但到然后冥思苦想,突然顿悟(其是看了别的博客思路)居然是B58,。。。。。OK,解码,获取提交。





    PS:如果你使用的OD,那直接搜索字符串就可以找到这条数据,当然,也是可以搜索到的,但是与之一起的还有N多条其他字符串





    PS2:这里是我自己分析的这个程序的算法代码的位置,自己没太懂,求大佬讲解一下这里算法现


    75CCE8|8BF8|,|
    75CCEA|33C0|,|=0
    75CCEC|83C7|,|
    75CCEF|40||++
    75CCF0|F645A8F0|:[-58],F0|
    75CCF4|0F840000|35CC|
    75CCFA|53||
    75CCFB|6A|8|
    75CCFD|5E||=8
    75CCFE|6A||
    75CC00|8D5445AC|,:[+*2-54]|拿到缓冲区地址
    75CC|5B||=
    75CC|8A4C35A0|,:[+-60]|循环
    75CC|8AC1|,|是当前数据的前两位
    75CC0B|C0E8|,4|=1
    75CC0E|66:0FB6C0|,|
    75CC|66:C3|,|计算每一位=
    75CC|66:89|:[],|写到缓冲区
    75CC|80EF|,F|+F
    75CC1B|42||++移到缓冲区下一位
    75CC1C|66:0FB6C1|,|
    75CC|42||
    75CC|66:C3|,|
    75CC|66:89|:[],|
    75CC|42||
    75CC|42||
    75CC|4E||
    75CC2A|79D9|35CC|
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Archiver|山东001在线 ( ICP11027147 )

    GMT+8, 2026-4-4 11:58 , Processed in 0.042401 second(s), 19 queries , Gzip On.

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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