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…

C++ new/new operator、operator new、placement new初识

简要释义 1.operator new是内存分配函数(同malloc),C++在全局作用域(global scope)内提供了3份默认的operator new实现,并且用户可以重载operator new。 1 void* operator new(std::size_t) throw(std::bad…

160 - 45 Dope2112.2

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

编辑技巧 word

怎样给word中的文档加上水印 转载于:https://www.cnblogs.com/dqxu/p/4208372.html

NAT地址转换原理全攻略

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

通过setTimeout来取消因大量计算造成的网页卡顿

js是单线程的,所以有些大量计算的操作会占用线程资源,导致页面卡住。 今天遇到这样一个场景,选择一个下拉框之后,对数据进行筛选,这个过程中有大量计算,点了selecte的option之后,option不隐藏&a…

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…

为什么django+mongo在windows上session能够获取到,同样的程序在linux上就会报session的变量错误,keyerror?...

settings:SESSION_ENGINE django.contrib.sessions.backends.cache 其它地方:正常存取值。request.session["mm"]“MM” 转载于:https://www.cnblogs.com/angelfeeling/p/4211261.html

图片上传 关于压缩的问题

图片上传 关于压缩的问题 如果不压缩,图片的数据量非常大,很影响上传速度 http://blog.csdn.net/jinglijun/article/details/8751269 http://blog.csdn.net/jinglijun/article/details/8751220转载于:https://www.cnblogs.com/kevingod/p/3375507.html

160 - 49 DueList.4

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

java中的codereview

关于codereview,在平时的开发中,经常忽略的环节,参照目前介绍写好代码的几本书和之前掉进的坑,做了一个总结,分享出来。 为什么要做 通过review规避一些代码层面的问题提升可读性,…

linux下开机启动脚本的方法

1.准备好要随机启动的程序,例如 /root/test.sh 。确保其可执行。 2.在目录 /etc/init.d/ 下编写控制脚本 test 。 #!/bin/sh ### BEGIN INIT INFO # Provides: test # Required-Start: $remote_fs # Required-Stop: $remote_fs # Default-Start: …

理解i-node

原文链接:http://www.ruanyifeng.com/blog/2011/12/inode.html 感觉讲得挺好,便做个记录.转载于:https://www.cnblogs.com/malware/p/3377616.html

MD5算法详解

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

我的2015年读书计划,每两周读完一本书!

近日看到一篇文章,说Facebook CEO 马克扎克伯格给自己的2015年定下了一个新的挑战,每两周就要读完一本书(传送门:戳这里)。想了一下,我自己也很久没看书了,所以今年要改变一下,给自己…

书到用时方恨少

以前觉得的自己的英语还行,四级,六级的什么早就在读书的时候过了, 工作以后,陆陆续续也一直用着英语。 最近发现和老外私下聊天的时候,词汇量严重不足。不明白老外在说什么,一起跟着傻笑。 活到老&#xff…

kettle7.1 右上角不显示connect

kettle7.1右上角不显示connect,就无法使用资源库了。 总结一下解决方法: 1.可能是jdk版本不对,最好使用1.8。原本是10.1,不显示connect,后来装了个1.8后就能显示了。记得是要改环境,javac -version 能显示…

基于XMPP协议的aSmack源码分析

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