逆向--- crackme6
关键代码段分析:
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相关推荐
- 正向最大匹配 和逆向最大匹配对比比较
正向最大匹配法 &逆向最大匹配法 原理对比 下面介绍的分词算法中最简单的正向最大匹配和反向最大匹配. 这种两种方法都是机械分词方法,它是按照一定的策略将待分析的汉字串与一个"充分大的 ...
- 同向逆向、多车道线检测
同向逆向.多车道线检测 输入输出接口 Input: (1)左右两个摄像头采集的实时图像视频分辨率(整型int) (2)左右两个摄像头采集的实时图像视频格式 (RGB,YUV,MP4等) (3)摄像头标 ...
- asp.net webform 复制窗体代码_逆向分析流氓软件自我复制以及防御思路
一.前言 好长时间没有投稿了,之前被发布的稿件,也收到了Freebuf的现金奖励,同时陆陆续续收到好多圈类人士的夸奖,备受鼓舞,觉得自己应该坚持投稿,为安全事业略尽绵薄之力!最近任务不重,正好有时间投 ...
- iOS逆向(1)——利用ipa重签名,3分钟iPhone安装多个微信
本文要达成如图效果,在一台iPhone上安装第二个微信: 准备: Xcode 微信ipa(可通过iTool进行下载) 重签名脚本 步骤 打开Xcode,新建Single View App项目,名字可以 ...
- iOS逆向(4)-代码注入,非越狱窃取微信密码
利用LLDB对微信进行分析,然后利用分析的结果,再逐步讲解如何Hook微信的登录过程,截获微信密码. 在上一篇文章(APP重签名)中,已经介绍了如何对APP重签名,并且利用XCode将微信跑起来,既然 ...
- android逆向分析概述_Android存储概述
android逆向分析概述 Storage is this thing we are all aware of, but always take for granted. Not long ago, ...
- Android逆向--如何调试smali代码?
最近在重整Android逆向分析环境,一切都在从零开始,做下记录,给大家分享. 本文介绍Android逆向中smali代码的调试及环境的准备. 事先准备如下工具: Android killer:反编译 ...
- Android逆向之调试smali代码基础
点击上方↑↑↑蓝字[协议分析与还原]关注我们 " 介绍Android逆向中调试smali代码的方法." 最近在重整Android逆向分析环境,一切都在从零开始,做下记录,给大家分享 ...
- c语言坐标正反算代码,C语言代码逆向的实战十篇(原创)
); } printf("\n"); system("pause"); } (之前从VS2008复制过来的时候代码有高亮的,现在换了VC6就木有了..) 进入正 ...
最新文章
- CSS3之创建3D场景
- linux hexdump命令详解
- hbuilder怎么做登录界面_新手会计不懂如何报税?一套标准网上报税流程演示,教你怎么纳税申报...
- matlab中的g2(t)是什么,matlab实验1-8带答案,,
- Swift数据类型(五)
- Deepin添加PPA显示没有公钥签名
- VS2010-MFC(MFC常用类:MFC异常处理)
- 为什么重写equals方法时,要求必须重写hashCode方法?
- python创建和删除文件有什么区别_python创建与删除临时文件夹的例子
- SSH、myBatis下载地址
- Jetson nano (4GB B01) 系统安装,官方Demo测试 (目标检测、手势识别)
- “无须”与“无需”最简易区别法
- analyze怎么优化oracle,[转] Oracle analyze 命令分析
- UML建模与软件开发设计(二)——UML概述
- 现在都在考华为认证,含金量高不高呢?该如何备考?
- 2020西瓜直播弹幕协议版弹幕提取思路与实现py
- Linux df命令的使用
- docker指定网桥和网段
- (4)高通AP10.4开发者指南——WLAN(1.4 Offload和direct-attach两种模式下驱动的模块化)
- android 创意app,创意无止境!17款让人脑洞大开的APP推荐
热门文章
- hdu1261 JAVA
- 【错误记录】Android Studio 编译报错 ( Deprecated Gradle features were used in this build, making it incompat )
- 【C 语言】二级指针作为输入 ( 自定义二级指针内存 | 二级指针排序 | 抽象业务逻辑函数 )
- 【MATLAB】基本绘图 ( text 函数 | annotation 函数 | 绘制图像示例 )
- 【鸿蒙 HarmonyOS】UI 组件 ( Button 组件 )
- 如何使用Bootstrap4显示和隐藏元素
- 关于使用data()获取自定义属性出现undefined的说明
- Python中的元类(metaclass)
- 深入Activity的作业完成
- Dapper用法小记