题目信息:

这是一个赌博程序,快去赚钱吧!!!!!!!!!!!!!!!!!!!!!!!!!!!(在编辑框中的输入值,即为flag,提交即可)

无壳无花,IDA 可以直接看到具体过程

关键函数就是这个

(IDA静态分析出来的直接看的话有点问题  需要结合动态调试具体情况)

BOOL __stdcall DialogFunc(HWND hDlg, UINT a2, WPARAM a3, LPARAM a4)
{const char *v4; // esiconst char *v5; // ediint v7; // [esp+8h] [ebp-20030h]int v8; // [esp+Ch] [ebp-2002Ch]int v9; // [esp+10h] [ebp-20028h]int v10; // [esp+14h] [ebp-20024h]int v11; // [esp+18h] [ebp-20020h]int v12; // [esp+1Ch] [ebp-2001Ch]int v13; // [esp+20h] [ebp-20018h]int v14; // [esp+24h] [ebp-20014h]int v15; // [esp+28h] [ebp-20010h]int v16; // [esp+2Ch] [ebp-2000Ch]int v17; // [esp+30h] [ebp-20008h]CHAR String; // [esp+34h] [ebp-20004h]char v19; // [esp+35h] [ebp-20003h]char v20; // [esp+36h] [ebp-20002h]char v21; // [esp+37h] [ebp-20001h]char v22; // [esp+38h] [ebp-20000h]char v23; // [esp+39h] [ebp-1FFFFh]char v24; // [esp+3Ah] [ebp-1FFFEh]char v25; // [esp+3Bh] [ebp-1FFFDh]char v26; // [esp+10034h] [ebp-10004h]char v27; // [esp+10035h] [ebp-10003h]char v28; // [esp+10036h] [ebp-10002h]if ( a2 == 0x110 )return 1;if ( a2 != 0x111 )return 0;if ( (_WORD)a3 == 0x3E9 ){memset(&String, 0, 0xFFFFu);GetDlgItemTextA(hDlg, 1000, &String, 0xFFFF);if ( strlen(&String) == 8 ){v7 = 0x5A;v8 = 0x4A;v9 = 0x53;v10 = 0x45;v11 = 0x43;v12 = 0x61;v13 = 0x4E;v14 = 0x48;v15 = 0x33;v16 = 0x6E;v17 = 0x67;sub_11E10F0((int)&v7, 0, 10);memset(&v26, 0, 0xFFFFu);v26 = v23;v28 = v25;v27 = v24;v4 = sub_11E1000((int)&v26, strlen(&v26));// 标准base64编码memset(&v26, 0, 0xFFFFu);v27 = v21;v26 = v20;v28 = v22;v5 = sub_11E1000((int)&v26, strlen(&v26));if ( String == v7 + 0x22                  // 输入的第一位需要等于0x33 + 0x22 = 0x55 "U"&& v19 == v11                           // 第二位需要等于0x4a  "J"&& 4 * v20 - 0x8D == 3 * v9             // 第三位*4 - 0x8d = 0x45 *3   也就是说第三位等于(0xcf+0x8d)/4  "W"&& v21 / 4 == 2 * (v14 / 9)             // 第四位/4 = 2 * (0x5a / 9)  "P"&& !strcmp(v4, "ak1w")                  // 最后三位base64编码后等于ak1w&& !strcmp(                             // 三四五位base64编码后等于V1Axv5,"V1Ax") ){                                         // UJWP1jMpMessageBoxA(hDlg, "U g3t 1T!", "@_@", 0);}}return 0;}if ( (_WORD)a3 != 1 && (_WORD)a3 != 2 )return 0;EndDialog(hDlg, (unsigned __int16)a3);return 1;
}

OllyDbg动态调试   改两次ZF标志位  让程序成功走向GetDlgItemTextA

长度是8,第一次直接赋值12345678   可以得到具体运算过程

可以得到flag就是UJW1Mp   可以到OD中再次验证

安恒西湖论剑周周练Reverse刮开有奖WP相关推荐

  1. BUUOJ reverse 刮开有奖

    刮开有奖 这是一个赌博程序,快去赚钱吧!!!!!!!!!!!!!!!!!!!!!!!!!!!(在编辑框中的输入值,即为flag,提交即可) 注意:得到的 flag 请包上 flag{} 提交 拖到id ...

  2. BUUCTF 新年快乐 内涵的软件 Java逆向解密 刮开有奖

    文章目录 新年快乐 内涵的软件 Java逆向解密 贴脚本: 刮开有奖 sub_4010F0((int)&v7, 0, 10);(加密函数) sub_401000((int)&v26, ...

  3. 远禾科技出席阿里ASRC生态大会 并参与安恒西湖论剑...

    近日,由阿里安全响应中心举办的2019 ASRC生态大会与安恒承办的2019西湖论剑·网络安全大会在互联网之都杭州成功召开,作为网络安全行业的两大盛会,得到了协会领导.业界权威.行业大咖.领导品牌.企 ...

  4. 远禾科技出席阿里ASRC生态大会 并参与安恒西湖论剑

    近日,由阿里安全响应中心举办的2019 ASRC生态大会与安恒承办的2019西湖论剑·网络安全大会在互联网之都杭州成功召开,作为网络安全行业的两大盛会,得到了协会领导.业界权威.行业大咖.领导品牌.企 ...

  5. 安恒西湖论剑线下上午CTF部分题目WP

    简单的做了两个题,一道逆向,一道misc,其他题目,因为博主上课,时间不太够,复现时间也只有一天,后面的会慢慢补上 先说RE1,一道很简单的win32逆向,跟踪主函数,R或者TAB按几下, 根据esp ...

  6. 安恒赛php_安恒11月月赛周周练writeup

    前言 11月月赛 完美错过时间,正好有周周练,基本都是一样月赛的web,记录下write up 手速要快 这题是10月月赛中的一题,直接看我上次的writeup:安恒月赛(十)web-2题writeu ...

  7. 2018安恒杯10月月赛REamp;amp;MISC周周练

    十月月赛反正我是错过了,这次周周练有四道题来看看,菜鸡就该多学习 1.easytree 拖进linux,发现跑不起来,eng? file一下,结果发现是exe PEID查一下 upx壳,直接脱,拖进I ...

  8. 牛客算法周周练2 B Music Problem(DP,抽屉原理,二进制拆分)

    链接:https://ac.nowcoder.com/acm/contest/5203/B 来源:牛客网 题目描述 Listening to the music is relax, but for o ...

  9. 崩坏3抽奖模拟html5,崩坏3崩坏周周练5月18日答案大全 夜隐重霞崩坏周周练答案汇总...

    崩坏3 大小: 角色养成 崩坏3崩坏周周练5月18日答案是什么?崩坏3在今天更新了崩坏周周练的题库,本期题目都围绕这"夜隐重霞"这个角色,对她不了解的玩家估计很难获得高分.下面就是 ...

最新文章

  1. 找不到媳妇给愁的。。。
  2. at org.apache.coyote.http11.AbstractOutputBuffer.checkLengthBeforeWrite
  3. Android之Debug运行项目一直卡在Debug界面(can‘t bind to local 8066 for debug)
  4. 网络基础2(分层模型,通信过程,以太网,ARP协议格式和具体功能详解)
  5. 图解linux启动过程
  6. compilation targetFrameworkMoniker=.NETFramework,Version=v4.0
  7. linux 所有邮件地址群发,linux sendmail群发邮件
  8. 64位centos下QQ无法输入中文只能输入英文
  9. Linux ALSA音频子系统二
  10. 计算机组成原理中wr是什么,计算机组成原理第8章习题指导.pdf
  11. python使用虚拟内存_深入浅出虚拟内存(一)
  12. 新的分享之路开启,感谢您的陪伴
  13. 第一章第六天Java基础语法 嵌套循环
  14. Latex 字母上面加符号 波浪线 横线 角号等
  15. #ASM 翻译系列第三十二弹:ASM INTERNAL Find block in ASM
  16. #{}和${}的区别
  17. 一个mos管驱动电路的分析
  18. C语言实现一个简单的求正方形,长方形,圆形,正方体,长方体,球体 周长,表面积,体积 数据的程序
  19. stc15w系列单片机——TCRT5000(寻迹传感器)与光敏传感器(附代码)
  20. 基于MYSQL的论坛管理系统数据库设计项目实战

热门文章

  1. BundleFusion复现手册——Win10+VS2013+Cuda8.0+KinectV2实时重建
  2. 2020预推免经验总结:浙大计算机直博,西交计算机直博,北理工网络空间安全,天大计算机,西工大计算机......
  3. 电脑堡垒之夜服务器未响应,堡垒之夜崩溃、黑屏、闪退、打不开原因和解决方法...
  4. springboot项目调用阿里云短信接口(包括短信上行)
  5. 10月14星期一 恒指/美原油/美黄金 走势分析
  6. 使用Python turtle库画小猪佩奇
  7. 微信小程序——选择图片/拍照
  8. 关于UIview UIlabel Unbutton 的一些常用的属性方法(用以优化界面)
  9. 猫眼郑志昊:互联网没有价值网,就没有下半场
  10. 【JavaScript】 对象 Object