欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

[原创]2017CTF第二题_lelfei攻击手法

[原创]2017CTF第二题_lelfei攻击手法

在xp里调试运行上传的攻击脚本,然后在00401257这个地址(push "WELL DONE!")下普通断点,等待程序跑到这个地址断下来就穷举出结果

说明:这个攻击脚本是在原来程序上,直接修改exe内容,通过汇编代码修改程序流程,来达到优化后穷举的目的,

主要分2大步骤,第一步:修改exe使得程序可以自行穷举,第二步:优化使得穷举变快,其中优化是关键


优化的地方:

1)nop掉GetTickCount,跟GetTickCount相关的保存结果,和结果保存后,将来再进行运算的代码都可以nop掉,因为分析代码得出结论GetTickCount并没有什么影响到注册码的判断

2)sub_401A60里的从(00401A8B到00401AA8)的这个循环可以被优化掉,完全是废代码,此处费代码会在循环里调用sub_4019E0,此处浪费时间非常多,将循环优化掉后,就完全不计算GetTickCount相关的代码了,IDA分析如下:

int __thiscall sub_401A60(void *this)
{
  void *v1; // esi@1
  signed int v2; // eax@1
  char *v3; // edi@1
  char *v4; // ecx@1
  int v5; // edx@2
  signed int v6; // ebp@3
  int v7; // ebx@4
  int v8; // eax@4
  int result; // eax@5
  int v10; // ecx@5
  signed int v11; // edx@5
  int v12; // esi@6

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功