首页
社区
课程
招聘
[原创]影分身之术 WriteUp from W8C.MozhuCY
发表于: 2019-3-25 00:23 6695

[原创]影分身之术 WriteUp from W8C.MozhuCY

2019-3-25 00:23
6695

//MozhuCY师傅没有雪币了,由我代发WP

function ckpswd() {
    key = "simpower91";
    a = document.all.pswd.value;
    if (a.indexOf(key) == 0) {
        l = a.length;
        i = key.length;
        sptWBCallback(a.substring(i, l));
    } else {
        alert("wrong!<" + a + "> is not my GUID ;-)");
        return "1234";
    }
}
function ok() {
    alert("congratulations!");
}
  • 这个题目出的非常的神奇了,之前没有逆过delphi,所以还是有一点难度
  • 程序是一个窗口,输入以后点击check,会有一个弹窗提示wrong,查看了一下内置字符串,发现了一些script的东西,确定了一下是js
  • 后面就比较神奇了,程序用到的数据写到了代码段里,这个在逆向的时候就有一些小干扰了..,在字符串中,可以看到<input type=button value="checkMyFlag" onclick="ckpswd();">的字符串,按钮事件
  • 在程序中可以在492BA8的位置看到一段js代码,大概内容是eval(packed),其实就是js混淆,寻找在线网站即可解密这段代码
  • 其实就是个字符串比较函数,所以可以知道前几位是simpower91,输入后没有什么反应,于是继续跟进
  • 在后面程序会检查属否存在data.txt并且打开读取文件,不过好像没有什么影响= =,但是会看到一个比较长度是否等于4的运算,也就是输入是simpower91 + xxxx.
  • 程序在0xa4000的位置做了一些数据操作,在函数4734b0中,还有一些写入0x90,0xc3的循环,跟进发现跳出这个函数以后的sub_4734B0中jmp [esp-4+var_40],是一个向刚才的虚拟空间的跳转,跟进进刚才写入的数据可以看到在执行逐位对比的操作,从eax,edx寄存器中可以找到数据,将每位加上7f就能拿到后四位
  • 提取数据逆向得到后四位a123,输入验证通过
  • 这个题目出的非常的神奇了,之前没有逆过delphi,所以还是有一点难度
  • 程序是一个窗口,输入以后点击check,会有一个弹窗提示wrong,查看了一下内置字符串,发现了一些script的东西,确定了一下是js

  • [培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

    收藏
    免费 1
    支持
    分享
    最新回复 (2)
    雪    币: 1260
    活跃值: (41)
    能力值: ( LV4,RANK:56 )
    在线值:
    发帖
    回帖
    粉丝
    2
    学习一下,嘻嘻
    最后于 2019-3-25 13:30 被i1arn编辑 ,原因:
    2019-3-25 12:06
    0
    雪    币: 2428
    活跃值: (159)
    能力值: ( LV11,RANK:198 )
    在线值:
    发帖
    回帖
    粉丝
    3
    神奇,谢谢夸奖
    2019-3-27 09:36
    0
    游客
    登录 | 注册 方可回帖
    返回
    //