关键代码段分析:

00401528  |. 68 00010000    PUSH 100                                                  ; /Count = 100 (256.)
0040152D  |. 8D85 00FFFFFF  LEA EAX,DWORD PTR SS:[EBP-100]           ; |  eax = ebp -100;  // 在栈上申请100DWord的数组空间,存放name
00401533  |. 50             PUSH EAX

00401534  |. 6A 65          PUSH 65                                                         ; |ControlID = 65 (101.)
00401536  |. FF75 08        PUSH DWORD PTR SS:[EBP+8]                        ; |hWnd
00401539  |. E8 FA010000    CALL <JMP.&USER32.GetDlgItemTextA>       ; \GetDlgItemTextA

// 把参数压入栈中,调用 GetDlgItemTextA 函数  转换成高级语言是:

// GetDlgItemTextA(hwnd, 0x65/*IDC_BUTTON*/, buffer, 100/*sizeof(bufffer)*/ );

0040153E  |. 89C3           MOV EBX,EAX                                                            //ebx = eax = GetDlgItemTextA的返回值  , 取得的字符串的长度
00401540  |. 09DB           OR EBX,EBX                                                              //判断长度是否为空
00401542  |. 75 04          JNZ SHORT unpacked.00401548                                 //用户名不空就跳,否则就挂
00401544  |. 31C0           XOR EAX,EAX                                                           //          
00401546  |. EB 50          JMP SHORT unpacked.00401598                                  //函数结束的地址。

00401548  |> BF BC020000    MOV EDI,2BC                             
0040154D  |. BE 30000000    MOV ESI,30
00401552  |. B8 48000000    MOV EAX,48
00401557  |. 99             CDQ
00401558  |. F7FB           IDIV EBX                                                       //ebx 存放的是Namelength
0040155A  |. 29C6           SUB ESI,EAX
0040155C  |. 8D34B6         LEA ESI,DWORD PTR DS:[ESI+ESI*4] 
0040155F  |. 29F7           SUB EDI,ESI
00401561  |. 6BFF 6B        IMUL EDI,EDI,6B
00401564  |. 81EF 6CCF0000  SUB EDI,0CF6C

//EDI=(2bc-(30-48/namelen)*5)*6b-cf6c,得出的EDI必须在190-2300之间,否则就挂
0040156A  |. 81FF 00230000  CMP EDI,2300

00401570  |. 7F 08          JG SHORT unpacked.0040157A                      .
00401572  |. 81FF 90010000  CMP EDI,190                             
00401578  |. 7D 04          JGE SHORT unpacked.0040157E
0040157A  |> 31C0           XOR EAX,EAX

//  edi  > 190  && edi <=2300

明天继续

转载于:https://www.cnblogs.com/herso/archive/2009/04/01/1427560.html

逆向--- crackme6相关推荐

  1. 正向最大匹配 和逆向最大匹配对比比较

    正向最大匹配法 &逆向最大匹配法 原理对比 下面介绍的分词算法中最简单的正向最大匹配和反向最大匹配. 这种两种方法都是机械分词方法,它是按照一定的策略将待分析的汉字串与一个"充分大的 ...

  2. 同向逆向、多车道线检测

    同向逆向.多车道线检测 输入输出接口 Input: (1)左右两个摄像头采集的实时图像视频分辨率(整型int) (2)左右两个摄像头采集的实时图像视频格式 (RGB,YUV,MP4等) (3)摄像头标 ...

  3. asp.net webform 复制窗体代码_逆向分析流氓软件自我复制以及防御思路

    一.前言 好长时间没有投稿了,之前被发布的稿件,也收到了Freebuf的现金奖励,同时陆陆续续收到好多圈类人士的夸奖,备受鼓舞,觉得自己应该坚持投稿,为安全事业略尽绵薄之力!最近任务不重,正好有时间投 ...

  4. iOS逆向(1)——利用ipa重签名,3分钟iPhone安装多个微信

    本文要达成如图效果,在一台iPhone上安装第二个微信: 准备: Xcode 微信ipa(可通过iTool进行下载) 重签名脚本 步骤 打开Xcode,新建Single View App项目,名字可以 ...

  5. iOS逆向(4)-代码注入,非越狱窃取微信密码

    利用LLDB对微信进行分析,然后利用分析的结果,再逐步讲解如何Hook微信的登录过程,截获微信密码. 在上一篇文章(APP重签名)中,已经介绍了如何对APP重签名,并且利用XCode将微信跑起来,既然 ...

  6. android逆向分析概述_Android存储概述

    android逆向分析概述 Storage is this thing we are all aware of, but always take for granted. Not long ago, ...

  7. Android逆向--如何调试smali代码?

    最近在重整Android逆向分析环境,一切都在从零开始,做下记录,给大家分享. 本文介绍Android逆向中smali代码的调试及环境的准备. 事先准备如下工具: Android killer:反编译 ...

  8. Android逆向之调试smali代码基础

    点击上方↑↑↑蓝字[协议分析与还原]关注我们 " 介绍Android逆向中调试smali代码的方法." 最近在重整Android逆向分析环境,一切都在从零开始,做下记录,给大家分享 ...

  9. c语言坐标正反算代码,C语言代码逆向的实战十篇(原创)

    ); } printf("\n"); system("pause"); } (之前从VS2008复制过来的时候代码有高亮的,现在换了VC6就木有了..) 进入正 ...

最新文章

  1. CSS3之创建3D场景
  2. linux hexdump命令详解
  3. hbuilder怎么做登录界面_新手会计不懂如何报税?一套标准网上报税流程演示,教你怎么纳税申报...
  4. matlab中的g2(t)是什么,matlab实验1-8带答案,,
  5. Swift数据类型(五)
  6. Deepin添加PPA显示没有公钥签名
  7. VS2010-MFC(MFC常用类:MFC异常处理)
  8. 为什么重写equals方法时,要求必须重写hashCode方法?
  9. python创建和删除文件有什么区别_python创建与删除临时文件夹的例子
  10. SSH、myBatis下载地址
  11. Jetson nano (4GB B01) 系统安装,官方Demo测试 (目标检测、手势识别)
  12. “无须”与“无需”最简易区别法
  13. analyze怎么优化oracle,[转] Oracle analyze 命令分析
  14. UML建模与软件开发设计(二)——UML概述
  15. 现在都在考华为认证,含金量高不高呢?该如何备考?
  16. 2020西瓜直播弹幕协议版弹幕提取思路与实现py
  17. Linux df命令的使用
  18. docker指定网桥和网段
  19. (4)高通AP10.4开发者指南——WLAN(1.4 Offload和direct-attach两种模式下驱动的模块化)
  20. android 创意app,创意无止境!17款让人脑洞大开的APP推荐

热门文章

  1. hdu1261 JAVA
  2. 【错误记录】Android Studio 编译报错 ( Deprecated Gradle features were used in this build, making it incompat )
  3. 【C 语言】二级指针作为输入 ( 自定义二级指针内存 | 二级指针排序 | 抽象业务逻辑函数 )
  4. 【MATLAB】基本绘图 ( text 函数 | annotation 函数 | 绘制图像示例 )
  5. 【鸿蒙 HarmonyOS】UI 组件 ( Button 组件 )
  6. 如何使用Bootstrap4显示和隐藏元素
  7. 关于使用data()获取自定义属性出现undefined的说明
  8. Python中的元类(metaclass)
  9. 深入Activity的作业完成
  10. Dapper用法小记