160 - 44 defiler.1.exe

环境:
Windows xp sp3

工具:
1.ollydbg
2.exeinfope

0x00 查壳

无壳就下一步

0x01 分析

随便输入个错的,出现了不知道哪国的语言。有个6,应该就是name的长度要大于6吧

OD载入,搜字符串。

00421BD7  |.  807D EF 06    cmp byte ptr ss:[ebp-0x11],0x6           ;  比较输入name的长度不能小于6
00421BDB  |.  73 15         jnb XDope2112.00421BF2
00421BDD  |.  8B86 C0010000 mov eax,dword ptr ds:[esi+0x1C0]
00421BE3  |.  BA A81D4200   mov edx,Dope2112.00421DA8                ;  ASCII "Der Name muss min. 6 Zeichen lang sein"
00421BE8  |.  E8 3BFCFEFF   call Dope2112.00411828
00421BED  |.  E9 72010000   jmp Dope2112.00421D64
00421BF2  |>  33C0          xor eax,eax
00421BF4  |>  33D2          /xor edx,edx
00421BF6  |.  8AD0          |mov dl,al
00421BF8  |.  8B4D FC       |mov ecx,[local.1]
00421BFB  |.  0FB65411 FF   |movzx edx,byte ptr ds:[ecx+edx-0x1]     ;  根据不同的内容跳转到不同的位置
00421C00  |.  83C2 9F       |add edx,-0x61                           ;  Switch (cases 61..7A)
00421C03  |.  83FA 19       |cmp edx,0x19
00421C06  |.  0F87 D7000000 |ja Dope2112.00421CE3
00421C0C  |.  FF2495 131C42>|jmp dword ptr ds:[edx*4+0x421C13]
00421C13  |.  7B1C4200      |dd Dope2112.00421C7B                    ;  分支表 被用于 00421C0C
00421C17  |.  7F1C4200      |dd Dope2112.00421C7F
00421C1B  |.  831C4200      |dd Dope2112.00421C83
00421C1F  |.  871C4200      |dd Dope2112.00421C87
00421C23  |.  8B1C4200      |dd Dope2112.00421C8B
00421C27  |.  8F1C4200      |dd Dope2112.00421C8F
00421C2B  |.  931C4200      |dd Dope2112.00421C93
00421C2F  |.  971C4200      |dd Dope2112.00421C97
00421C33  |.  9B1C4200      |dd Dope2112.00421C9B
00421C37  |.  9F1C4200      |dd Dope2112.00421C9F
00421C3B  |.  A31C4200      |dd Dope2112.00421CA3
00421C3F  |.  A71C4200      |dd Dope2112.00421CA7
00421C43  |.  AB1C4200      |dd Dope2112.00421CAB
00421C47  |.  AF1C4200      |dd Dope2112.00421CAF
00421C4B  |.  B31C4200      |dd Dope2112.00421CB3
00421C4F  |.  B71C4200      |dd Dope2112.00421CB7
00421C53  |.  BB1C4200      |dd Dope2112.00421CBB
00421C57  |.  BF1C4200      |dd Dope2112.00421CBF
00421C5B  |.  C31C4200      |dd Dope2112.00421CC3
00421C5F  |.  C71C4200      |dd Dope2112.00421CC7
00421C63  |.  CB1C4200      |dd Dope2112.00421CCB
00421C67  |.  CF1C4200      |dd Dope2112.00421CCF
00421C6B  |.  D31C4200      |dd Dope2112.00421CD3
00421C6F  |.  D71C4200      |dd Dope2112.00421CD7
00421C73  |.  DB1C4200      |dd Dope2112.00421CDB
00421C77  |.  DF1C4200      |dd Dope2112.00421CDF
00421C7B  |>  B2 18         |mov dl,0x18                             ;  Case 61 ('a') of switch 00421C00
00421C7D  |.  EB 66         |jmp XDope2112.00421CE5
00421C7F  |>  B2 25         |mov dl,0x25                             ;  Case 62 ('b') of switch 00421C00
00421C81  |.  EB 62         |jmp XDope2112.00421CE5
00421C83  |>  B2 42         |mov dl,0x42                             ;  Case 63 ('c') of switch 00421C00
00421C85  |.  EB 5E         |jmp XDope2112.00421CE5
00421C87  |>  B2 0C         |mov dl,0xC                              ;  Case 64 ('d') of switch 00421C00
00421C89  |.  EB 5A         |jmp XDope2112.00421CE5
00421C8B  |>  B2 0D         |mov dl,0xD                              ;  Case 65 ('e') of switch 00421C00
00421C8D  |.  EB 56         |jmp XDope2112.00421CE5
00421C8F  |>  B2 06         |mov dl,0x6                              ;  Case 66 ('f') of switch 00421C00
00421C91  |.  EB 52         |jmp XDope2112.00421CE5
00421C93  |>  B2 36         |mov dl,0x36                             ;  Case 67 ('g') of switch 00421C00
00421C95  |.  EB 4E         |jmp XDope2112.00421CE5
00421C97  |>  B2 2B         |mov dl,0x2B                             ;  Case 68 ('h') of switch 00421C00
00421C99  |.  EB 4A         |jmp XDope2112.00421CE5
00421C9B  |>  B2 17         |mov dl,0x17                             ;  Case 69 ('i') of switch 00421C00
00421C9D  |.  EB 46         |jmp XDope2112.00421CE5
00421C9F  |>  B2 2F         |mov dl,0x2F                             ;  Case 6A ('j') of switch 00421C00
00421CA1  |.  EB 42         |jmp XDope2112.00421CE5
00421CA3  |>  B2 13         |mov dl,0x13                             ;  Case 6B ('k') of switch 00421C00
00421CA5  |.  EB 3E         |jmp XDope2112.00421CE5
00421CA7  |>  B2 82         |mov dl,0x82                             ;  Case 6C ('l') of switch 00421C00
00421CA9  |.  EB 3A         |jmp XDope2112.00421CE5
00421CAB  |>  B2 9B         |mov dl,0x9B                             ;  Case 6D ('m') of switch 00421C00
00421CAD  |.  EB 36         |jmp XDope2112.00421CE5
00421CAF  |>  B2 92         |mov dl,0x92                             ;  Case 6E ('n') of switch 00421C00
00421CB1  |.  EB 32         |jmp XDope2112.00421CE5
00421CB3  |>  B2 03         |mov dl,0x3                              ;  Case 6F ('o') of switch 00421C00
00421CB5  |.  EB 2E         |jmp XDope2112.00421CE5
00421CB7  |>  B2 63         |mov dl,0x63                             ;  Case 70 ('p') of switch 00421C00
00421CB9  |.  EB 2A         |jmp XDope2112.00421CE5
00421CBB  |>  B2 21         |mov dl,0x21                             ;  Case 71 ('q') of switch 00421C00
00421CBD  |.  EB 26         |jmp XDope2112.00421CE5
00421CBF  |>  B2 42         |mov dl,0x42                             ;  Case 72 ('r') of switch 00421C00
00421CC1  |.  EB 22         |jmp XDope2112.00421CE5
00421CC3  |>  B2 5C         |mov dl,0x5C                             ;  Case 73 ('s') of switch 00421C00
00421CC5  |.  EB 1E         |jmp XDope2112.00421CE5
00421CC7  |>  B2 29         |mov dl,0x29                             ;  Case 74 ('t') of switch 00421C00
00421CC9  |.  EB 1A         |jmp XDope2112.00421CE5
00421CCB  |>  B2 C7         |mov dl,0xC7                             ;  Case 75 ('u') of switch 00421C00
00421CCD  |.  EB 16         |jmp XDope2112.00421CE5
00421CCF  |>  B2 66         |mov dl,0x66                             ;  Case 76 ('v') of switch 00421C00
00421CD1  |.  EB 12         |jmp XDope2112.00421CE5
00421CD3  |>  B2 58         |mov dl,0x58                             ;  Case 77 ('w') of switch 00421C00
00421CD5  |.  EB 0E         |jmp XDope2112.00421CE5
00421CD7  |>  B2 0A         |mov dl,0xA                              ;  Case 78 ('x') of switch 00421C00
00421CD9  |.  EB 0A         |jmp XDope2112.00421CE5
00421CDB  |>  B2 28         |mov dl,0x28                             ;  Case 79 ('y') of switch 00421C00
00421CDD  |.  EB 06         |jmp XDope2112.00421CE5
00421CDF  |>  B2 50         |mov dl,0x50                             ;  Case 7A ('z') of switch 00421C00
00421CE1  |.  EB 02         |jmp XDope2112.00421CE5
00421CE3  |>  B2 5D         |mov dl,0x5D                             ;  Default case of switch 00421C00
00421CE5  |>  02DA          |add bl,dl
00421CE7  |.  40            |inc eax
00421CE8  |.  3C 06         |cmp al,0x6
00421CEA  |.^ 0F85 04FFFFFF \jnz Dope2112.00421BF4
00421CF0  |.  8D55 F0       lea edx,[local.4]                        ;  计算出来的值转为10进制就是serial前半部分了
00421CF3  |.  33C0          xor eax,eax
00421CF5  |.  8A45 EF       mov al,byte ptr ss:[ebp-0x11]
00421CF8  |.  69C0 7E4A0000 imul eax,eax,0x4A7E                      ;  name长度*0x4A7E
00421CFE  |.  E8 7136FEFF   call Dope2112.00405374                   ;  计算后半部分
00421D03  |.  8D55 E4       lea edx,[local.7]
00421D06  |.  33C0          xor eax,eax
00421D08  |.  8AC3          mov al,bl
00421D0A  |.  E8 6536FEFF   call Dope2112.00405374
00421D0F  |.  FF75 E4       push [local.7]
00421D12  |.  68 D81D4200   push Dope2112.00421DD8
00421D17  |.  FF75 F0       push [local.4]
00421D1A  |.  8D45 F4       lea eax,[local.3]
00421D1D  |.  BA 03000000   mov edx,0x3
00421D22  |.  E8 FD16FEFF   call Dope2112.00403424
00421D27  |.  8D55 E8       lea edx,[local.6]
00421D2A  |.  8B86 B0010000 mov eax,dword ptr ds:[esi+0x1B0]
00421D30  |.  E8 C3FAFEFF   call Dope2112.004117F8
00421D35  |.  8B55 E8       mov edx,[local.6]
00421D38  |.  8B45 F4       mov eax,[local.3]
00421D3B  |.  E8 3417FEFF   call Dope2112.00403474                   ;  明码比较内容
00421D40  |.  75 12         jnz XDope2112.00421D54
00421D42  |.  8B86 C0010000 mov eax,dword ptr ds:[esi+0x1C0]
00421D48  |.  BA E41D4200   mov edx,Dope2112.00421DE4                ;  ASCII "Hey du hast es geschaft !"
00421D4D  |.  E8 D6FAFEFF   call Dope2112.00411828
00421D52  |.  EB 10         jmp XDope2112.00421D64
00421D54  |>  8B86 C0010000 mov eax,dword ptr ds:[esi+0x1C0]
00421D5A  |.  BA 081E4200   mov edx,Dope2112.00421E08                ;  ASCII "Leider nicht versuchs noch mal !"

原理十分简单,根据不同的字符得到对应的值,将这些值相加的结果保存到bl中,作为serial的前半部分。
后半部分则是将name的长度乘以0x4A7,用“-”连起来就是序列号了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/376362.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

时间与日期处理

主要有以下类: NSDate -- 表示一个绝对的时间点NSTimeZone -- 时区信息NSLocale -- 本地化信息NSDateComponents -- 一个封装了具体年月日、时秒分、周、季度等的类NSCalendar -- 日历类,它提供了大部分的日期计算接口,并且允许您在NSDate和N…

160 - 45 Dope2112.2

环境: Windows xp sp3 工具 1.ollydbg 2.exeinfope 0x00 查壳 还是无壳的Delphi程序 0x01 分析 这次继续OD载入搜字符串,但是没找到错误信息的字符串。 又因为是Delphi程序,所以可以试一下这样: OD载入后还是搜字符串&…

NAT地址转换原理全攻略

NAT转换方式及原理 在NAT的应用中,可以仅需要转换内部地址(就是“内部本地址”转换成“内部全局地址”),这是最典型的应用,如内部网络用户通过NAT转换共享上网;也可以是仅需要转换外部地址(就是…

160 - 47 DueList.2

环境: Windows xp sp3 工具: Ollydbg exeinfope 0x00 查壳 无壳的程序 0x01 分析 运行后说需要keyfile,那就创建一个。 OD载入找找看需要的keyfile叫什么名字 00401000 > $ 6A 00 push 0x0 …

如何解决Visual Studio2012 与此版本的Windows不兼容

解决方案: http://www.microsoft.com/zh-CN/download/details.aspx?id36020 下载更新转载于:https://www.cnblogs.com/awodefeng/p/3373343.html

160 - 48 DueList.3

环境: Windows xp sp3 工具: Ollydbg exeinfope 0x00 查壳 无壳的程序 0x01 分析 应该就是选上某个或多个框后点Check就能成功的,那应该就是不同框对应不同的值咯。旁边还有个提示:建议使用资源编辑器。 直接OD载入&#x…

160 - 49 DueList.4

环境: Windows xp sp3 工具: ollydbg exeinfope 0x00 查壳 无壳的程序 0x01 分析 运行后随便输入点东西, OD载入: 00401127 > /6A 00 push 0x0 ; /lParam 0 00401129 …

MD5算法详解

0x00 前言 MD5是一种哈希算法,用来保证信息的完整性。 就一段信息对应一个哈希值,且不能通过哈希值推出这段信息,而且还需要保证不存在任意两段不相同的信息对应同一个哈希值。不过MD5算法算出来的值也就16个字节(16*8128&#x…

基于XMPP协议的aSmack源码分析

在研究如何实现Pushing功能期间,收集了很多关于Pushing的资料,其中有一个androidnp开源项目用的人比较多,但是由于长时间没有什么人去维护,听说bug的几率挺多的,为了以后自己的产品稳定些,所以就打算自己研…

[Reverse] - 百度杯”CTF比赛 2017 二月场-CrackMe-1

环境:Windows XP 工具: IDA OD EXEINFOPE 0x00 查壳 0x01 分析 拖入OD,字符串查找看一看。 跟进去看就可以知道关键call了 0040196A . 48 dec eax 0040196B . 0F85 C4000000 jnz CrackMe1.00401A35 00401971 . …

【DeepLearning】Exercise:Learning color features with Sparse Autoencoders

Exercise:Learning color features with Sparse Autoencoders 习题链接:Exercise:Learning color features with Sparse Autoencoders sparseAutoencoderLinearCost.m function [cost,grad,features] sparseAutoencoderLinearCost(theta, visibleSize, hiddenSize,…

win7 64位系统下 PL/SQL无法连接的问题

第一步:下载oracle客户端 由于 PLSQL Developer 没有64位版本,所以在64位系统上运行该程链接64位Oracle时就会报错,笔者为这个问题纠结了好几天,后来通过请教Google 动手实践,终于搞定了这个问题。现在把笔者解决的过…

2016腾讯安全挑战赛第一轮-PC游戏方向

0x00 查壳 无壳的VC程序 0x01 测试 没有消息弹窗,尝试对函数下断点。 OD载入后,CtrlN查找函数,找到GetDlgItem 程序运行起来,等输入完后点击确定后程序断下。一路F8就来到这里 00401EED . E8 6A5B0000 call Tenc…

JavascriptDOM(三)

简介 今天学习第二天的知识,js和BOM对象,再接再厉,fighting~学习原则 脚踏实地的走好每一步,要想学好高级部分,基础知识必须扎实呀 掌握基本语法,完成小案例,写博客作总结,基本就是这个节奏,下面我们一起快速入门吧JavaScript快速入门 1. js简介 1.js基于对象和事件驱动的脚本语…

看雪 2016CrackMe 攻防大赛 - 1-Crack_Me-凉飕飕

环境: Windows xp 工具: IDA EXEINFOPE OD 0x00 查壳 EXEINFOPE查壳, 无壳 0x01 分析 if ( (unsigned __int16)wParam 0x40B ) // 成功{*(_OWORD *)v22 xmmword_41DB98;v25 0;v23 xmmword_41DBA8;v24 xmmword_41DBB8;memset_4039D0…

使用CSDN-markdown编辑器

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…

C++ vector类详解

转自http://blog.csdn.net/whz_zb/article/details/6827999 vector简介 vector是STL中最常见的容器,它是一种顺序容器,支持随机访问。vector是一块连续分配的内存,从数据安排的角度来讲,和数组极其相似,不同的地方就是…

ViewPager的使用方法和实现过程

看图先&#xff1a; 页面中填充内容是随机关键词飞入和飞出动画效果&#xff0c;随后会更新&#xff0c;现在请先无视吧 首先是 导入jar包 下载地址&#xff1a; android-support-v4.jar 布局文件里添加viewPager布局 [html] view plaincopyprint?<android.support.v4.vi…

如何通过浏览器在所有响应内容中查找文本

使用浏览器的开发者工具查找响应文件的内容 ** Chrome ** 版本&#xff1a; 快捷键&#xff1a;CtrlShiftF 可以看到已经查找出来了 ** firefox ** 版本

【Leetcode】【Easy】Implement strStr()

Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack. 解题&#xff1a; 本题为典型的KMP算法考察题&#xff0c;KMP算法描述为&#xff1a; 设主串S&#xff0c;匹配串P&#xff0c;i为S的索引下…