文章目录

  • [INSHack2018]Tricky-Part1
    • 主要利用交叉引用列表( Jump - Jump to xref 或快捷键X,将光标放在一个交叉引用的目标地址上,通过该快捷键可弹出交叉引用列表。)
    • 主要函数分析
  • 脚本

[INSHack2018]Tricky-Part1

主要利用交叉引用列表( Jump - Jump to xref 或快捷键X,将光标放在一个交叉引用的目标地址上,通过该快捷键可弹出交叉引用列表。)

主要函数分析

std::string *__fastcall stack_check(std::string *a1)
{unsigned __int64 v1; // rbxunsigned __int64 v2; // rax_BYTE *v3; // raxunsigned __int64 v4; // rbxchar v6; // [rsp+1Bh] [rbp-25h] BYREFint i; // [rsp+1Ch] [rbp-24h]char v8[32]; // [rsp+20h] [rbp-20h] BYREFstd::allocator<char>::allocator(&v6);std::string::string(v8, &unk_4011D8, &v6);std::allocator<char>::~allocator(&v6);for ( i = 0; ; ++i ){v4 = i;if ( v4 >= std::string::size((std::string *)&base) )break;v1 = i;v2 = std::string::size((std::string *)v8);  // 这里是v8数组大小4LOBYTE(v1) = *(_BYTE *)std::string::operator[]((__int64)v8, v1 % v2);// 结果v1是取出v8数组元素v3 = (_BYTE *)std::string::operator[]((__int64)&base, i);// v3是取出对应位置的输入结果*v3 ^= v1;                                  // 输入数组和v8进行异或}std::string::string(a1, (const std::string *)&base);std::string::~string(v8);return a1;
}

两个重要数组,一个是v8,另外一个base

unsigned char ida_chars[] =
{71, 68, 66
};

unsigned char ida_chars[] =
{0x0E, 0x0A, 0x11, 0x06, 0x3F, 0x01, 0x1F, 0x1C, 0x1D, 0x76, 0x37, 0x1D, 0x2F, 0x70, 0x30, 0x23, 0x77, 0x30, 0x18, 0x22, 0x72, 0x35, 0x1B, 0x31, 0x33, 0x70, 0x36, 0x76, 0x27, 0x1D, 0x73, 0x2A, 0x76, 0x2B, 0x75, 0x31, 0x3E, 0x37, 0x1D, 0x30, 0x2C, 0x71, 0x29, 0x1B, 0x26, 0x74, 0x26, 0x37, 0x20, 0x23, 0x71, 0x35, 0x1B, 0x24, 0x73, 0x75, 0x2E, 0x34, 0x39
};

脚本

a =[0x0E, 0x0A, 0x11, 0x06, 0x3F, 0x01, 0x1F, 0x1C, 0x1D, 0x76, 0x37, 0x1D, 0x2F, 0x70, 0x30, 0x23, 0x77, 0x30, 0x18, 0x22, 0x72, 0x35, 0x1B, 0x31, 0x33, 0x70, 0x36, 0x76, 0x27, 0x1D, 0x73, 0x2A, 0x76, 0x2B, 0x75, 0x31, 0x3E, 0x37, 0x1D, 0x30, 0x2C, 0x71, 0x29, 0x1B, 0x26, 0x74, 0x26, 0x37, 0x20, 0x23, 0x71, 0x35, 0x1B, 0x24, 0x73, 0x75, 0x2E, 0x34, 0x39
]b =[71, 68, 66
]
c=""
for i in  range(len(a)):c+=chr(a[i]^b[i%(len(b))])
print(c)
INSA{CXX_1s_h4rd3r_f0r_st4t1c_4n4l1sys_wh3n_d3bugg3r_f41ls}

[INSHack2018]Tricky-Part1相关推荐

  1. CF429D Tricky Function(求解公式、经分析转为求平面最近点对、思维)

    整理的算法模板合集: ACM模板 目录 CF429D Tricky Function 题意实际上就是给定长度为 nnn 的一串序列a1,a2,...,ana_1, a_2,...,a_na1​,a2​ ...

  2. Storefront与NetScaler的集成配置 - part1

    Storefront与NetScaler的集成配置 - part1 http://kaiqian.blog.51cto.com/blog/236001/1344447 Storefront与NetSc ...

  3. Lync Server 2010标准版系列PART1:基础构建

    可能环境准备已经是老生常谈的东西了,但我们搭建环境做测试.评估,或者说在客户生产环境做部署,非常需要重视的就是细节,力求做到一丝不苟,并且快速完成部署任务.所以在测试环境的搭建中,基础环境的准备是非常 ...

  4. 从零开始学Win32平台缓冲区溢出(Part1)

    原文:Stack Based Buffer Overflow in Win 32 Platform: The Basics 译者:鸢尾 来源:从零开始学Win32平台缓冲区溢出(Part1) 缓冲区溢 ...

  5. Cocos2dx-demo演示项目:Part1

    这个项目,我主要是用来积累.记录自己在利用cocos2dx引擎进行项目开发.学习实践中的开发经验.每天的开发任务.查看别人分享的内容,总是能够收获到可取的东西,将这些可取的东西自己再着手开发一次,能够 ...

  6. CS231n 学习笔记(1)——神经网络 part1 :图像分类与数据驱动方法

    *此系列为斯坦福李飞飞团队的系列公开课"cs231n convolutional neural network for visual recognition "的学习笔记.本文主要 ...

  7. 写给大家看的机器学习书【Part1】什么是机器学习?机器学到的到底是什么?

     写给大家看的机器学习书[Part1]什么是机器学习?机器学到的到底是什么? 机器学习 深度学习 神经网络 人工智能 阅读1390

  8. [INSHack2018]Crypt0r part 1

    [INSHack2018]Crypt0r part 1 题目 description.md # Crypt0r part 1Our IDS detected an abnormal behavior ...

  9. 黑客与画家 part1 版权声明 part2 O'Reilly Media,Ina.介绍

    part1 版权声明 page 11 版权声明 英文原版O'Reilly Media,Ina.出版社2004. 简体中文版由人民邮电出版社出版,2011.英文原版的翻译得到O'Reilly Media ...

最新文章

  1. Item 14: 如果函数不会抛出异常就把它们声明为noexcept
  2. 【新星计划】Linux命令行相关指令汇总
  3. 重构-打造爱因斯坦谜题最快算法
  4. animate.css(第三方动画使用方法)
  5. Android开发 GradientDrawable详解
  6. css3 transition 和 animation实现走马灯
  7. 坡度土方计算案例_【攻略】如何解锁方格网法土方计算?
  8. 3.工作组环境下的应用
  9. linux 远程shell,linux 远程shell 实现
  10. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true
  11. 什么是动态DNS(DDNS)
  12. 【关于四足机器人那些事】足端轨迹规划-复合摆线轨迹
  13. Excel引用函数-实例1
  14. Python脚本中调用其他Python脚本
  15. Figma#3:色彩
  16. unity初写游戏(四)怪物产生方式
  17. WEB安全性测试测试用例(基础).doc
  18. Cello项目填坑记:oprator dashborad的前端Nodejs代码编译打包问题
  19. 大数据行业薪资有多少 如何去学习大数据开发
  20. http proxy 代理

热门文章

  1. ML:MLOps系列讲解之《基于ML的软件的三个层次之01 Data: Data Engineering Pipelines》解读
  2. AI:《DEEP LEARNING’S DIMINISHING RETURNS—深度学习的收益递减》翻译与解读
  3. 成功解决ValueError: numpy.ufunc size changed, may indicate binary incompatibility. Expected 216 from C h
  4. 成功解决from scipy.misc import imread, imresize ImportError: cannot import name ‘imread‘
  5. ML之NB:利用朴素贝叶斯NB算法(CountVectorizer+不去除停用词)对fetch_20newsgroups数据集(20类新闻文本)进行分类预测、评估
  6. 成功解决:利用编程向数据库插入一条记录,而从数据库中查不到该条记录
  7. DL之Mask R-CNN:2018.6.26世界杯阿根廷队VS尼日利亚比赛2:1实现Mask R-CNN目标检测
  8. PyQt之Eric:成功解决No module named 'my_image_rc'
  9. 「CF622F」The Sum of the k-th Powers「拉格朗日插值」
  10. 两种方法可以达到背景图不缩放的效果