160 - 3 Afkayas.2

環境:

Windows xp sp3


這次的目標有兩個:

1.去除Nag窗口

2.找出Serial的算法


1.這次去除Nag窗口用了另外兩個程序:

(1)VBLocalize v1.1.0.0

(2)UltraEdit

(3)VBExplorer

因為是VB程序,所以用VBLocalize加載程序,

據偏移地址,在文件中找到timer的偏移地址:

用VBExplorer可以看到timer的屬性:

得知Nag窗口存在時間為7秒,Timer的位置是(2880,2160),轉為16進制為:(0x0B40,0x0870)

7000的16進制為1B58,于是可以的得知:

00005b75-00005b76的值為Nag窗口存在的時間,可以把這個兩個值改為 58 1B ->01 00,

如果改為0則Nag窗口一直存在。







2.找到Serial算法


和1一樣,輸入一個錯的,然后F12,Alt + F9回到程序領空。


0040865D   .  B8 0A000000   mov eax,0xA
00408662   .  894D 9C       mov dword ptr ss:[ebp-0x64],ecx
00408665   .  66:85F6       test si,si				     
00408668   .  8945 94       mov dword ptr ss:[ebp-0x6C],eax
0040866B   .  894D AC       mov dword ptr ss:[ebp-0x54],ecx
0040866E   .  8945 A4       mov dword ptr ss:[ebp-0x5C],eax
00408671   .  894D BC       mov dword ptr ss:[ebp-0x44],ecx
00408674   .  8945 B4       mov dword ptr ss:[ebp-0x4C],eax
00408677   .  74 62         je XAfKayAs_.004086DB		     ; 這個不能跳
00408679   .  8B35 14B14000 mov esi,dword ptr ds:[<&MSVBVM50.__vbaSt>;  MSVBVM50.__vbaStrCat
0040867F   .  68 C06F4000   push AfKayAs_.00406FC0                   ;  UNICODE "You Get It"
00408684   .  68 DC6F4000   push AfKayAs_.00406FDC                   ; /String = ""
00408689   .  FFD6          call esi                                 ; \__vbaStrCat
0040868B   .  8BD0          mov edx,eax
0040868D   .  8D4D E8       lea ecx,dword ptr ss:[ebp-0x18]
00408690   .  FF15 94B14000 call dword ptr ds:[<&MSVBVM50.__vbaStrMo>;  MSVBVM50.__vbaStrMove
00408696   .  50            push eax
00408697   .  68 E86F4000   push AfKayAs_.00406FE8                   ;  UNICODE "KeyGen It Now"
0040869C   .  FFD6          call esi
0040869E   .  8945 CC       mov dword ptr ss:[ebp-0x34],eax
004086A1   .  8D45 94       lea eax,dword ptr ss:[ebp-0x6C]
004086A4   .  8D4D A4       lea ecx,dword ptr ss:[ebp-0x5C]
004086A7   .  50            push eax
004086A8   .  8D55 B4       lea edx,dword ptr ss:[ebp-0x4C]
004086AB   .  51            push ecx
004086AC   .  52            push edx
004086AD   .  8D45 C4       lea eax,dword ptr ss:[ebp-0x3C]
004086B0   .  6A 00         push 0x0
004086B2   .  50            push eax
004086B3   .  C745 C4 08000>mov dword ptr ss:[ebp-0x3C],0x8
004086BA   .  FF15 24B14000 call dword ptr ds:[<&MSVBVM50.#595>]     ;  MSVBVM50.rtcMsgBox
004086C0   .  8D4D E8       lea ecx,dword ptr ss:[ebp-0x18]
004086C3   .  FF15 A8B14000 call dword ptr ds:[<&MSVBVM50.__vbaFreeS>;  MSVBVM50.__vbaFreeStr
004086C9   .  8D4D 94       lea ecx,dword ptr ss:[ebp-0x6C]
004086CC   .  8D55 A4       lea edx,dword ptr ss:[ebp-0x5C]
004086CF   .  51            push ecx
004086D0   .  8D45 B4       lea eax,dword ptr ss:[ebp-0x4C]
004086D3   .  52            push edx
004086D4   .  8D4D C4       lea ecx,dword ptr ss:[ebp-0x3C]
004086D7   .  50            push eax
004086D8   .  51            push ecx
004086D9   .  EB 60         jmp XAfKayAs_.0040873B		     ; 上面是正確的消息,下面是錯誤的消息
004086DB   >  8B35 14B14000 mov esi,dword ptr ds:[<&MSVBVM50.__vbaSt>;  MSVBVM50.__vbaStrCat
004086E1   .  68 08704000   push AfKayAs_.00407008                   ;  UNICODE "You Get Wrong"
004086E6   .  68 DC6F4000   push AfKayAs_.00406FDC                   ; /String = ""
004086EB   .  FFD6          call esi                                 ; \__vbaStrCat
004086ED   .  8BD0          mov edx,eax
004086EF   .  8D4D E8       lea ecx,dword ptr ss:[ebp-0x18]
004086F2   .  FF15 94B14000 call dword ptr ds:[<&MSVBVM50.__vbaStrMo>;  MSVBVM50.__vbaStrMove
004086F8   .  50            push eax
004086F9   .  68 28704000   push AfKayAs_.00407028                   ;  UNICODE "Try Again"
004086FE   .  FFD6          call esi
00408700   .  8945 CC       mov dword ptr ss:[ebp-0x34],eax
00408703   .  8D55 94       lea edx,dword ptr ss:[ebp-0x6C]
00408706   .  8D45 A4       lea eax,dword ptr ss:[ebp-0x5C]
00408709   .  52            push edx
0040870A   .  8D4D B4       lea ecx,dword ptr ss:[ebp-0x4C]
0040870D   .  50            push eax
0040870E   .  51            push ecx
0040870F   .  8D55 C4       lea edx,dword ptr ss:[ebp-0x3C]
00408712   .  6A 00         push 0x0
00408714   .  52            push edx
00408715   .  C745 C4 08000>mov dword ptr ss:[ebp-0x3C],0x8
0040871C   .  FF15 24B14000 call dword ptr ds:[<&MSVBVM50.#595>]     ;  MSVBVM50.rtcMsgBox
00408722   .  8D4D E8       lea ecx,dword ptr ss:[ebp-0x18]	     ;  Atl+F9后回到這里


再往上一點就看到了這個:

004081E9   > \8B95 50FFFFFF mov edx,dword ptr ss:[ebp-0xB0]
004081EF   .  8B45 E4       mov eax,dword ptr ss:[ebp-0x1C]
004081F2   .  50            push eax                                 ; /String
004081F3   .  8B1A          mov ebx,dword ptr ds:[edx]               ; |
004081F5   .  FF15 F8B04000 call dword ptr ds:[<&MSVBVM50.__vbaLenBs>; \__vbaLenBstr
004081FB   .  8BF8          mov edi,eax
004081FD   .  8B4D E8       mov ecx,dword ptr ss:[ebp-0x18]
00408200   .  69FF 385B0100 imul edi,edi,0x15B38		     ; 這個東西不一樣了
00408206   .  51            push ecx                                 ; /String
00408207   .  0F80 B7050000 jo AfKayAs_.004087C4                     ; |
0040820D   .  FF15 0CB14000 call dword ptr ds:[<&MSVBVM50.#516>]     ; \rtcAnsiValueBstr
00408213   .  0FBFD0        movsx edx,ax
00408216   .  03FA          add edi,edx

這個是在1里面遇到的,就是乘數不一樣了。

Name長度為L

Name的首字母為c

當前計算結果為s


得到公式: s = L*88888+ascii(c)

繼續往下有:

004082E9   .  FF15 74B14000 call dword ptr ds:[<&MSVBVM50.__vbaR8Str>;  MSVBVM50.__vbaR8Str
004082EF   .  D905 08104000 fld dword ptr ds:[0x401008]              ;  [401008]是10.0
004082F5   .  833D 00904000>cmp dword ptr ds:[0x409000],0x0
004082FC   .  75 08         jnz XAfKayAs_.00408306
004082FE   .  D835 0C104000 fdiv dword ptr ds:[0x40100C]             ;  [40100c]是5.0,這里是10.0/5.0 = 2.0
00408304   .  EB 0B         jmp XAfKayAs_.00408311
00408306   >  FF35 0C104000 push dword ptr ds:[0x40100C]
0040830C   .  E8 578DFFFF   call <jmp.&MSVBVM50._adj_fdiv_m32>
00408311   >  83EC 08       sub esp,0x8
00408314   .  DFE0          fstsw ax
00408316   .  A8 0D         test al,0xD
00408318   .  0F85 A1040000 jnz AfKayAs_.004087BF
0040831E   .  DEC1          faddp st(1),st                           ;  s = s + 2.0
00408320   .  DFE0          fstsw ax

得到:

s = s + 2

繼續往下:


004083F5   .  FF15 74B14000 call dword ptr ds:[<&MSVBVM50.__vbaR8Str>;  MSVBVM50.__vbaR8Str
004083FB   .  DC0D 10104000 fmul qword ptr ds:[0x401010]             ; [401010]是3,這里是s = s*3
00408401   .  83EC 08       sub esp,0x8
00408404   .  DC25 18104000 fsub qword ptr ds:[0x401018]	     ; [401018]是2,這里是s = s-2
0040840A   .  DFE0          fstsw ax
0040840C   .  A8 0D         test al,0xD
0040840E   .  0F85 AB030000 jnz AfKayAs_.004087BF
00408414   .  DD1C24        fstp qword ptr ss:[esp]
00408417   .  FF15 48B14000 call dword ptr ds:[<&MSVBVM50.__vbaStrR8>;  MSVBVM50.__vbaStrR8

得到:

s = s * 3 - 2

繼續往下:


004084DF   .  FF15 74B14000 call dword ptr ds:[<&MSVBVM50.__vbaR8Str>;  MSVBVM50.__vbaR8Str
004084E5   .  DC25 20104000 fsub qword ptr ds:[0x401020]	     ;  [0x401020]是-15,于是這里是s  = s + 15 
004084EB   .  83EC 08       sub esp,0x8
004084EE   .  DFE0          fstsw ax
004084F0   .  A8 0D         test al,0xD
004084F2   .  0F85 C7020000 jnz AfKayAs_.004087BF
004084F8   .  DD1C24        fstp qword ptr ss:[esp]
004084FB   .  FF15 48B14000 call dword ptr ds:[<&MSVBVM50.__vbaStrR8>;  MSVBVM50.__vbaStrR8
00408501   .  8BD0          mov edx,eax


得到:

s = s + 15


聯合起來就是:


s = (L*88888+ascii(c))*3+19



本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/376492.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/376492.shtml
英文地址,請注明出處:http://en.pswp.cn/news/376492.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

class threading.Thread()說明:

class threading.Thread()說明&#xff1a; class threading.Thread(groupNone, targetNone, nameNone, args(), kwargs{}) This constructor should always be called with keyword arguments. Arguments are: group should be None; reserved for future extension when a Th…

并行編程——內存模型之順序一致性

1 定義 Sequential consistency , 簡稱 SC&#xff0c;定義如下 … the result of any execution is the same as if the operations of all the processors were executed in some sequential order, and the operations of each individual processor appear in this sequen…

160 - 4 ajj.1

環境&#xff1a; Windows Xp sp3 輸入Name和Serial&#xff0c;無錯誤提示。看說明&#xff0c;只有正確時才有提示 OD載入&#xff0c;搜索字符串&#xff0c;發現兩個字符串&#xff1a; Panel1DblClick和Panel1Click 一個雙擊一個單擊 先跟隨單擊的&#xff1a; 00457…

JS判斷是否安裝flash player及當前版本

function flashChecker() {var hasFlash 0;     //是否安裝了flashvar flashVersion 0;   //flash版本if(document.all) {var swf new ActiveXObject(ShockwaveFlash.ShockwaveFlash);if(swf) {hasFlash 1;VSwf swf.GetVariable("$version");flashVersion…

Daily Scrum 11.18

今日完成任務&#xff1a; 1.在提問問題的時候為問題創建索引 2.解決了修改個人資料后刷新沒有更新的問題 3.初步加入了采納功能&#xff08;沒完善UI設計&#xff09; 遇到困難&#xff1a;創建索引之后&#xff0c;跳轉到主頁&#xff0c;需要重新登錄&#xff0c;找了半天不…

160 - 5 ajj.2

環境&#xff1a; Windows xp sp3 打開&#xff0c;輸入點東西到輸入框&#xff08;這里把第一個輸出框稱為text1&#xff09;里面&#xff0c;點一下注冊&#xff0c;什么反應都沒有。 到處都點一點&#xff0c;每張圖片都點一下&#xff0c;還是什么反應都沒有。 查殼&…

移動平臺WEB前端開發技巧匯總

原名《移動平臺3G手機網站前端開發布局技巧匯總》&#xff0c;由武方博整理的&#xff0c;讓我們了解下移動設備上的WEB站點開發的基礎知識&#xff0c;多些時間和精力去優化其他細節&#xff0c;我這里對原文的標簽格式做了細微的調整&#xff0c;閱讀查看起來明晰些&#xff…

0809

來自網銷協會消息&#xff1a;8月8日&#xff0c;第八屆豫商大會新聞發布會在鄭州舉行&#xff0c;由河南省政協主辦&#xff0c;省商務廳、省工商聯、省豫商聯合會協辦&#xff0c;安陽市人民政府承辦的第八屆豫商大會將于8.28如期舉行。本次大會會期兩天&#xff0c;其中&…

160 - 6 aLoNg3x.1

環境&#xff1a; Windows xp sp3 查殼&#xff0c;這次不用脫殼了&#xff0c;但是還是Delphi程序。 打開后看隨便輸點東西進去&#xff0c;發現Nome什么都能輸入&#xff0c;但最多10個字符&#xff0c;而 Codice可以是數字或者是“$”&#xff0c;在輸入“$”后就可以輸入…

hyper-v 用戶無法再 創建外部配置存儲 0x80070005

windows server 2008R2 剛安裝的hyper-v 重啟過。 修改配置文件到d:\Hyper-V目錄下&#xff0c; hyper-V 創建 服務器遇到錯誤 操作失敗 創建外部配置存儲:一般性拒絕訪問錯誤 虛擬機ID 0x80070005 d:\hyper-V 安全權限為 everyone 所有&#xff0c;users 所有&#xff0c;admi…

160 - 7 aLoNg3x.2

環境&#xff1a; Windows Xp sp3 打開程序&#xff0c;看了幫助發現要求還是看到那個logo&#xff0c; 但是這次少了個按鈕&#xff0c;真棒&#xff01; 但是這次的Codice卻是什么都可以輸入進去了。 查一下殼發現還是Delphi程序。 因為還是Delphi的程序&#xff0c;有了前…

Spring 中的國際化Message的簡單例子(ApplicationContext) 不跟框架集成的版本

首先&#xff0c;建立一個描述message的XML文件&#xff0c;名為messages.xml <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-bean…

簡述進程間通信方式

進程間通信方式通常有共享內存 信號量 消息隊列 管道 FIFO Socket等幾種。 共享內存的模型&#xff0c;它是最有效率的進程間通信方式進程間信號量是進程間同步主要方式&#xff0c;信號量操作為負的時候&#xff0c;進程阻塞。直到信號量為正 內存映射是一種特殊的共享內存…

輔助的寫與數據庫交互的XML文件的類

現在企業級WEB應用中與數據庫交互的XML文件都是通過插件自動生成的&#xff0c;不過有些時候修改比較老的項目的時候也是需要手動的來做這一動作的&#xff01;如下代碼就是一個實現上述的功能的輔助類&#xff0c;在此記錄一下以備后用&#xff01; package com.cn.common.uti…

160 - 8 Andrnalin.1

環境&#xff1a; Windows xp sp3 打開&#xff0c;就一個Key輸入框&#xff0c;輸入&#xff1a;goodname&#xff0c;點OK&#xff0c;彈出一個 不明文字的框&#xff0c;反正肯定不對。 查殼&#xff0c;無殼的vb程序。OD載入&#xff1a; 查找字串&#xff0c;翻到最下…

C++ 虛函數表解析

C 虛函數表解析 陳皓 http://blog.csdn.net/haoel 前言 C中的虛函數的作用主要是實現了多態的機制。關于多態&#xff0c;簡而言之就是用父類型別的指針指向其子類的實例&#xff0c;然后通過父類的指針調用實際子類的成員函數。這種技術可以讓父類的指針有“多種形態”&#x…

160 - 9 Andrnalin.2

環境&#xff1a; Windows xp sp3 打開&#xff0c;這次升級了&#xff0c;有個Name和一個Key&#xff0c;輸入&#xff1a; Name&#xff1a;goodname Key&#xff1a;12345678 肯定錯誤。拿到錯誤信息的字符串 查殼&#xff0c;無殼的VB程序。 直接OD載入&#xff0c;字…

[PALAPALA] 無題 - 外來的和尚會念經

手機, 現代人響當當的必須品, 尤其在移動App流行的大環境之下顯得更為重要. 我, 并不是一個重度依賴手機的機粉. 但我對手機的差異化敏感度很高... 安卓手機, 我不喜歡, 因為滿大街泛濫&#xff0c;折騰過多... 蘋果手機, 我不喜歡, 因為滿大街泛濫&#xff0c;bug過多..... 相…

HTTP協議 (四) 緩存

HTTP協議 (四) 緩存 閱讀目錄 緩存的概念緩存的好處Fiddler可以方便地查看緩存的header如何判斷緩存新鮮度通過最后修改時間&#xff0c;判斷緩存新鮮度與緩存相關的headerETag瀏覽器不使用緩存直接使用緩存&#xff0c;不去服務器端驗證如何設置IE不使用緩存公有緩存和私有緩存…

160 - 10 Andrénalin.3

環境&#xff1a; Windows xp sp3 打開&#xff0c;是只有一個key&#xff0c;輸入個goodname試試&#xff0c;錯誤。。。記下錯誤信息 查殼&#xff0c;無殼的VB程序。 查找字符串&#xff1a; 00402036 UNICODE "kXy^rO|*yXo*m\kMuOn*" 00402090 UNICODE &qu…