欢迎来到 嗅灵易学

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

转一篇比较简单的installshiled的破解 (2千字)

转一篇比较简单的installshiled的破解 (2千字)

InstallShield Pro 5 Build 221 for Win95
Crack InstallShield International East build 224
1. Execute the package (about 20MB) downloaded from InstallShield ftp:
        ftp://ftp.installshield.com/is5/intl/east/pftw/is5east.exe
2. At password-input screen, launch soft-ice. Clear all the other
    breakpoints and then bpx USER32!GetWindowTextA
3. Quit soft-ice. Press a key in the password editbox.
4. Soft-ice will be triggered at GetWindowTextA
5. Issue "p ret" to get out of this procedure. You should then stop at
        00403719        mov    edx, [0040ef90] ; edx->input buffer
                        push    edx            ; PARAMETER_1
                        call    00401090        ; checksum procedure
                        mov    edx, [0040ea88] ; ideal value of return
                        add    esp, 4          ; stack fixup ... late
                        xor    ecx, ecx        ; zero ecx
                        cmp    eax, edx        ; eax = edx?
                        setz    cl              ; yes, cl = 1; no, cl = 0
                        mov    eax, ecx
                        pop    ebp            ; stack frame
                        ret                    ; return in eax
    while the previous instruction is to call GetWindowTextA
6. As you can see in the above, the procedure at 00401090 is the one we
    are looking for. It takes one parameter: the address of the password
    string. After some processing, it will return a value in eax
    calculated from the string. In order to ease the reading, following
    shows a psuedo-code of the procedure rather than assembly.
        accumulation = 0xf143ac
        do
            ch = *lpPassword++;
            if (ch == '\0') break;
            accumulation += 2 * ch;
        loop
        accumulation xor 0x51993;
        return accumulation;
7. After the accumulation value is returned, the program than compares
    with the ideal value, which is 0xF44F75 stored in address 0040ea88 in
    this case.
8. So that we can calculate the accumulation before xor, which is F156E6.
    Subtract this value by the initial value F143AC will get whatever is
    added in loop. From the psuedo-code, the value added is two times the
    checksum of the password string, which is 0x133a.
9. Since each character is added up by two times of value, therefore the
    actual checksum of the password is 0x133a / 2 = 0x99d.
10. By using a basic program to count up a checksum, I decided to use
    "asdfasdfasdfasdfasdfasdO" (5 times 'asdf' plus 'asd' and 'O', case
    sensitive) as the password. The final 'O' is just a fixup. Nothing
    special. You may use any similar method to add-up to your own favorite
    password for InstallShield International East 5 build 224.
*. The above cracking technique can be applied on PackageForTheWeb
    2.00.200 packages.

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

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

0 0 0 举报
复制成功