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.pswp.cn/news/376362.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/376362.shtml
英文地址,請注明出處:http://en.pswp.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的幾率挺多的,為了以后自己的產品穩定些,所以就打算自己研…