飘云阁(PYG官方论坛)

 找回密码
 加入论坛

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 163|回复: 3

[第十六轮] 【第十六轮】【第三题】Epic Pen爆破之查找字符串

[复制链接]
  • TA的每日心情
    开心
    4 天前
  • 签到天数: 714 天

    [LV.9]以坛为家II

    发表于 2019-5-8 09:34:55 | 显示全部楼层 |阅读模式
    本帖最后由 恋聆心语 于 2019-5-8 12:08 编辑

    第三题是.net的题目,所以需要使用dnspy这个.net神器,这个神器不仅能反编译.net的程序,更关键的是还能调试和修改!
    dnspy不会使用的请自行百度。
    dnspy载入程序,简单浏览程序集,发现有一个licensing程序集。
    TIM截图20190507131144.png
    点击该程序集,由于题目已经给出使用的网络验证,所以直接在该程序集内查询字符串http,luck定位到关键点,直接下断,运行程序。
    TIM截图20190508082817.png
    在输入注册码的位置输入假码,并点击激活。
    TIM截图20190508082920.png
    程序果然断在我们所下断点,通过F10逐行跟踪,不难发现请求地址。
    TIM截图20190508083005.png
    把这个链接地址复制到txt文本里面,并在浏览器里输入这个地址
    TIM截图20190508083023.png
    https://epicpenlicencing.azurewebsites.net/api/verifyActivation?deviceId=23e917c73cec58f6407655be168a7a79&activationCode=1111-1111-1111-1111-1111-1111
    可以得到返回值,是json格式的。
    {"result":"invalidActivationCode","licenceInfo":null}
    接着我们就需要找到程序在何处处理的返回值。
    继续在该字节集,查找字符串invalidActivationCode,可以查询到几处,根据筛选,不难定位到判断的关键位置。(其实一开始我走了弯路,接着往下跟程序,然后就绕不出来了。。。)
    TIM截图20190508083321.png
    直接下断,继续运行程序,发现程序果然在此处断下,并且返回值跟我们在浏览器里面得到的一样。
    TIM截图20190508083403.png
    仔细分析该函数发现程序先判断了返回值的result的值。
    result一共有三种情况,validActivationCode(有效的激活码)、validActivationCodeButTooManyDevices(有效的激活码但是超出设备数量)、invalidActivationCode(无效的激活码)。
    判断完result的返回值之后,程序又判断了licenceInfo的值,通过分析licenceInfo也是一个json串,包括licenceType和licenceeName两个键值。
    其中licenceType有三种情况,p(个人)、b(商业)、a(教学)。
    TIM截图20190508083616.png
    知道这些了,我们来拼接一个能显示注册的json返回结果
    {"result":"validActivationCode","licenceInfo":{"licenceType":"b","licenceeName":"恋聆心语"}}
    重新调试程序,输入假码,让程序在判断返回值的位置断下,右键编辑返回值,注意c#字符串里面的引号要转义。修改完成后敲回车。
    "{\"result\":\"validActivationCode\",\"licenceInfo\":{\"licenceType\":\"b\",\"licenceeName\":\"恋聆心语\"}}"
    TIM截图20190508093119.png
    F5运行程序,再次点击发现升级菜单已经不见了,点击关于,可以看到注册信息。
    TIM截图20190508093336.png
    接下来说一下程序如何修改,正常情况下可以直接右键选择编辑方法
    TIM截图20190508114337.png
    把段首位置改成如下代码即可爆破,但是,弹错了,然后饶了好多弯路。
    TIM截图20190508114313.png
    最后在@vipcrack表哥的指导下才知道 dnspy还有直接修改IL指令的功能。就在编辑方法的下面。
    修改第一行代码如下图,然后保存一下即可,到此终于爆破了。
    TIM截图20190508114430.png

    评分

    参与人数 1威望 +1 飘云币 +1 收起 理由
    bansjs + 1 + 1 原创精品 感谢分享!

    查看全部评分

  • TA的每日心情

    昨天 00:07
  • 签到天数: 214 天

    [LV.7]常住居民III

    发表于 2019-5-8 10:26:08 | 显示全部楼层
    厉害了大佬,参考参考
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-5-7 08:21
  • 签到天数: 448 天

    [LV.9]以坛为家II

    发表于 2019-5-8 12:48:58 | 显示全部楼层
    膜拜表哥,加油。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    4 天前
  • 签到天数: 450 天

    [LV.9]以坛为家II

    发表于 6 天前 | 显示全部楼层
    学习学习,dnspy好强大
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入论坛

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

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