欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

不知道有没有人破过 AmazingMIDI v 1.60 ? 也不知道好不好用 ? 呵呵.. (4千字)

不知道有没有人破过 AmazingMIDI v 1.60 ? 也不知道好不好用 ? 呵呵.. (4千字)


对像:AmazingMIDI v 1.60
保护:注册码
工具: trw2000
安装并运行 AmazingMIDI , 弹出一个窗口,提示"注册后不再显示此窗口"之类的内容, 点"确定"来到程序的主界面, 在"帮助"菜单里有一个"注册"子菜单, 点击它, 弹出注册框, (嘻嘻,这个软件的注册对话框里只有一个文本输入框,是不是挺简单的---心里想), 输入 789789 , 点"确定",先来碰碰运气,( :-( 晕~~,
有这样碰运气的吗? ) , 呵呵, 其实也不是什么碰运气, 只是想看看它会弹出什么错误信息来. 果然,
"抱歉!注册号码错误." 随着"震耳欲聋"的报错声弹了出来,(不是吧, 没声卡也能发声? 倒,, 没声卡都被你说了出来, 以后我怎么见人呀,?~! )
再次输入 789789
运行 trw2000
下断点 bpx hmemcpy
F5 或 G 返回程序界面,点击"确定", 随后程序会被中断
bc 清除断点
pmodule 领空
接下来的工作就是不停的按F12 而且口中也得跟着F12的次数念念有词, 到了 33 次----
STOP ! 按F10单步执行后,来到下面的代码处:
:00405D66 83F801                  cmp eax, 00000001
:00405D69 0F85B6000000            jne 00405E25
:00405D6F 51                      push ecx
:00405D70 8D442470                lea eax, dword ptr [esp+70]
:00405D74 8BCC                    mov ecx, esp
:00405D76 89642410                mov dword ptr [esp+10], esp
:00405D7A 50                      push eax
:00405D7B E887B50100              call 00421307
:00405D80 8D4C240C                lea ecx, dword ptr [esp+0C]
:00405D84 C644247C00              mov [esp+7C], 00
:00405D89 51                      push ecx
:00405D8A E861010000              call 00405EF0
:00405D8F 8BC8                    mov ecx, eax
:00405D91 E8AA180000              call 00407640
:00405D96 8B00                    mov eax, dword ptr [eax]         
* Possible StringData Ref from Data Obj ->"<<@::5<720"
                                  |
:00405D98 BE58054400              mov esi, 00440558                    // d eax 可以看到被加密过的789789 
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00405DBF(C)
|
:00405D9D 8A10                    mov dl, byte ptr [eax]              // d esi 可以看到 <<@::5<720 等字符
:00405D9F 8A1E                    mov bl, byte ptr [esi]
:00405DA1 8ACA                    mov cl, dl
:00405DA3 3AD3                    cmp dl, bl
:00405DA5 751E                    jne 00405DC5                        // 不能跳哦,
:00405DA7 84C9                    test cl, cl
:00405DA9 7416                    je 00405DC1                          // 抬头可见 mov cl, dl 即取完
                                  // 输入的字符时就跳
:00405DAB 8A5001                  mov dl, byte ptr [eax+01]
:00405DAE 8A5E01                  mov bl, byte ptr [esi+01]
:00405DB1 8ACA                    mov cl, dl
:00405DB3 3AD3                    cmp dl, bl
:00405DB5 750E                    jne 00405DC5                        // 也不能跳哦,
:00405DB7 83C002                  add eax, 00000002
:00405DBA 83C602                  add esi, 00000002
:00405DBD 84C9                    test cl, cl                         
:00405DBF 75DC                    jne 00405D9D                        // 没取完输入的字符就跳回去继续取
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00405DA9(C)
|
:00405DC1 33C0                    xor eax, eax
:00405DC3 EB05                    jmp 00405DCA
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00405DA5(C), :00405DB5(C)
|
:00405DC5 1BC0                    sbb eax, eax
:00405DC7 83D8FF                  sbb eax, FFFFFFFF
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00405DC3(U)
|
:00405DCA 85C0                    test eax, eax
:00405DCC 8D4C2408                lea ecx, dword ptr [esp+08]
:00405DD0 0F94C3                  sete bl
:00405DD3 E8BAB70100              call 00421592
:00405DD8 84DB                    test bl, bl
:00405DDA 7513                    jne 00405DEF                          // 这里不跳可不行, 呵呵
:00405DDC 6AFF                    push FFFFFFFF
:00405DDE 6A00                    push 00000000
                    .
                    .
                    .
                    .
                    .
这个程序利用固定的 key ( 9876543210 ) 把输入的字符进行加密并反向取值, 然后与 <<@::5<720 相比较, 如果相等则注册码正确, 否则就错误(废话!!) , 所以注册码也是固定的.

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功