去除EXEmp3軟體10秒鐘煩人的NAG

看雪資料發表於2015-11-15

去除EXEmp3軟體10秒鐘煩人的NAG


使用軟體,OD                修改後軟體在XP下測試執行正常

軟體名稱:EXEmp3 v2.0
軟體大小:431KB
軟體語言:英文
軟體類別:國外軟體/共享版/MP3 製作
執行環境:Win9x/Me/NT/2000/XP
作者主頁:http://www.exemp3.com/ 

    EXEmp3 是一款很有趣的軟體,它可以將 MP3 檔案轉換為 .exe 可執行檔案格式,並且生成的
 .exe 檔案能夠脫離任何播放器自動進行播放。EXEmp3 還允許你建立附加歌詞或其他文字資訊的
 .exe 檔案,生成的可執行程式介面也非常精巧美觀,你可以在其中方便地調整音量、匯入播放列表、
設定迴圈播放、瀏覽歌詞、切換為迷你介面等。難能可貴的是,EXEmp3 轉換出來的可執行檔案只比
轉換前的 .mp3 原始檔增大約 48 KB 。

本人屬於破解水平低劣,基本屬於看雪論壇中的最菜最菜的鳥,所以文章中錯誤或者疏漏歡迎大家批評指正。
今天半夜在QQ上的朋友,看雪論壇網友發過來了此軟體的英文版,讓我試試,其實該軟體,沒註冊就是開始執行的時候新出現10秒種的等待時間的有一個視窗。顯示0秒後,變成OK字樣,點選後,進入真正的軟體使用介面。作者在提示上說正式版無此提示視窗。

因為時間短,沒太仔細分析,就選擇個一下處理方案,1修改時間,讓軟體不等待10秒,2是讓軟體代替點選使用者點選OK(就是說要機器自動快速的透過此畫面就是目的,當然有更好的解決方法,這個軟體花1小時就可以看明白個大概.細節時間的長點,可是我沒那麼多時間,懶惰啊)


* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004011FA(C)
|
:004012AE 8B742408           mov esidword ptr [esp+08]
:004012B2 6A00                    push 00000000

* Possible Reference to Dialog: DialogID_0065, CONTROL_ID:03E8, "www.exemp3.com"
                                  |
:004012B4 68E8030000       push 000003E8 //    
---------------等於10進位制的1000,其實就是轉換後的1秒,修該為push01  ----6101之後補nop 
:004012B9 6A01                    push 00000001
:004012BB 56                         push esi

* Reference To: USER32.SetTimer, Ord:0000h
                                  |
:004012BC FF1564B14000            Call dword ptr [0040B164]
:004012C2 6A03                    push 00000003
:004012C4 6A00                    push 00000000
:004012C6 6A00                    push 00000000
:004012C8 6A00                    push 00000000
:004012CA 6A00                    push 00000000
:004012CC 6AFF                    push FFFFFFFF
:004012CE 56                          push esi

其實到這基本10秒中以及除掉了。什麼沒看見判斷時間的地方,不要緊我馬上找給你



* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040120A(C)
|
:00401212 A130D04000              mov eaxdword ptr [0040D030]
:00401217 85C0                           test eaxeax     /////////////////////

這個是測試時間的
:00401219 7F3D                           jg 00401258         -------------nop nop
這個跳轉nop 掉在也不會需要你等待了,時間問題解決,這個軟體簡單,也沒輸入註冊號的地方所以也沒找演算法的必要,
不過只沒睡覺的人(還清醒)就知道這個跳轉條到0041258是去減1去了,有興趣的去看看很簡單。算了我還是也複製出來吧


* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00401219(C)
|
:00401258 48                      dec eax                               ------------------------------過1秒指令執行到此減1秒,開始的時候EAX=A
就是10秒,之後9,8,7。。。。。。
:00401259 6A0A                           push 0000000A                  
:0040125B 6868024100              push 00410268                    
:00401260 50                                 push eax
:00401261 A330D04000              mov dword ptr [0040D030], eax    ――――――[0040D030]作者定義的全域性變數儲存時間的
:00401266 E8EB990000              call 0040AC56 
:0040126B 83C40C                  add esp, 0000000C
:0040126E 50                      push eax
:0040126F 8B44240C                mov eaxdword ptr [esp+0C]
:00401273 6A01                    push 00000001
:00401275 50                      push eax

時間解決了,開始解決哪個倒黴OK按扭

:0040121B 8B742408                 mov esidword ptr [esp+08]
:0040121F 57                               push edi

* Reference To: USER32.GetDlgItem, Ord:0000h
                                  |
:00401220 8B3DB0B14000            mov edidword ptr [0040B1B0]

* Possible StringData Ref from Data Obj ->"OK"
                                  |
:00401226 685CD04000              push 0040D05C
:0040122B 6A01                            push 00000001
:0040122D 56                                 push esi
:0040122E FFD7                           call edi
:00401230 50                                 push eax

* Reference To: USER32.SetWindowTextA, Ord:0000h
                                  |
:00401231 FF1544B14000            Call dword ptr [0040B144]
:00401237 6A01                              push 00000001
:00401239 6A01                             push 00000001
:0040123B 56                                  push esi
:0040123C FFD7                          call edi
:0040123E 50                                push eax

* Reference To: USER32.EnableWindow, Ord:0000h
                                  |
:0040123F FF15B8B14000            Call dword ptr [0040B1B8]
:00401245 6A01                              push 00000001
:00401247 56                                   push esi

* Reference To: USER32.KillTimer, Ord:0000h
                                  |
:00401248 FF15B4B14000            Call dword ptr [0040B1B4]
:0040124E 5F                                   pop edi
:0040124F B801000000                 mov eax, 00000001    /<-開始在這修改  修改成 JMP 00401298就可以了|
:00401254 5E                                   pop esi        
:00401255 C21000                          ret 0010                                                                         
                                                                                                                                   
                                                                                                                                   
                                                                                                                                   
:0040128C 8B442410                mov eaxdword ptr [esp+10]                           
:00401290 25FFFF0000              and eax, 0000FFFF
:00401295 48                      dec eax
:00401296 753D                    jne 004012D5
:00401298 8B4C2408                mov ecxdword ptr [esp+08]    <-  就跳到這個地方
:0040129C 6A01                    push 00000001
:0040129E 51                      push ecx

好了可以收工了,估計不會浪費修改的人1個小時,這個外國人很善良。因為時間倉促我沒花太長時間,用別的方法也能解決問題,反正NAG已經不用你點滑鼠和等待了,

感謝看雪論壇眾多網友平時發的帖子讓我收益,作為回報寫個破(我寫的很破的)文,看我寫的不好的儘管扔蕃茄(我喜歡吃蕃茄),磚頭別扔,太危險。

 QQ 19226491

相關文章