飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 22256|回复: 1

[原创] Themida & WinLicen 辅助脚本

[复制链接]
  • TA的每日心情
    开心
    2017-10-10 17:24
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2007-5-1 16:52:41 | 显示全部楼层 |阅读模式
    Themida & WinLicen 辅助脚本

    减少一些手工活

    /*
    Script written by  ~icy~学习班
    Script            : Themida & WinLicen 辅助脚本
    Date              : 2007-05-01
    Test Environment  : OllyDbg 1.1, ODBGScript 1.52, Winxp Win2003
    */

    var modulebase
    var codebase
    var codesize
    var TZ1
    var TZ2
    var gjd1
    var gjd2

    BPHWCALL

    gmi eip,MODULEBASE
    mov modulebase,$RESULT
    gmi eip,CODEBASE
    mov codebase,$RESULT
    gmi eip,CODESIZE
    mov codesize,$RESULT

    bpwm codebase,codesize
    ESTO

    REP:
    ESTO
    ESTO
    find eip,#F3A4????#
    cmp $RESULT,0
    je REP
    STI
    STO
    ESTO

    LODS:
    find eip,#8908AD??#
    cmp $RESULT,0
    je TZ1

    ask "请输入关键点1地址范围=当前EIP-888"
    cmp $RESULT,0
    je Over
    mov gjd1,$RESULT
    repl gjd1, #0F850A000000#, #EB0E90909090#,FF
    ask "请输入关键点2地址范围=当前EIP-777"
    cmp $RESULT,0
    je Over
    mov gjd2,$RESULT
    repl gjd2, #0F8439000000#, #EB2890909090#,FF
    bpmc
    Over:
    eval "请在此处修改补丁代码!见本脚本后面注释部分参考代码!"
    msg $RESULT
    ret

    TZ1:
    ESTO
    find eip,#8908AD??#
    cmp $RESULT,0
    jmp LODS



    =================================================================================================

    参考代码:

    =================================================================================================
    004F52E1     8908             MOV DWORD PTR DS:[EAX],ECX          《=========脚本执行完毕后地址
    004F52E3     AD               LODS DWORD PTR DS:[ESI]
    004F52E4     C746 FC 0000000>MOV DWORD PTR DS:[ESI-4],0   
    004F52EB     89B5 6D301B07    MOV DWORD PTR SS:[EBP+71B306D],ESI
    004F52F1     83F8 FF          CMP EAX,-1
    004F52F4     0F85 20000000    JNZ 无敌外挂.004F531A
    004F52FA     813E DDDDDDDD    CMP DWORD PTR DS:[ESI],DDDDDDDD
    004F5300     0F85 14000000    JNZ 无敌外挂.004F531A
    =================================================================================================
    004F4A8D    |0F85 0A000000    JNZ 无敌外挂.004F4A9D               《=========关键点1地址
    004F4A93    |C785 410C1B07 0> MOV DWORD PTR SS:[EBP+71B0C41],1
    004F4A9D    \61               POPAD
    =================================================================================================
    004F4BCC     0F84 39000000    JE 无敌外挂.004F4C0B                《=========关键点2地址
    004F4BD2     3B8D 29081B07    CMP ECX,DWORD PTR SS:[EBP+71B0829]
    004F4BD8     0F84 2D000000    JE 无敌外挂.004F4C0B
    004F4BDE     3B8D 1D171B07    CMP ECX,DWORD PTR SS:[EBP+71B171D]
    004F4BE4     0F84 21000000    JE 无敌外挂.004F4C0B
    004F4BEA     3B8D 552A1B07    CMP ECX,DWORD PTR SS:[EBP+71B2A55]
    004F4BF0     0F84 15000000    JE 无敌外挂.004F4C0B
    004F4BF6     8D9D E2FD2107    LEA EBX,DWORD PTR SS:[EBP+721FDE2]
    004F4BFC     FFD3             CALL EBX
    004F4BFE     8BF8             MOV EDI,EAX
    004F4C00     8985 1D2F1B07    MOV DWORD PTR SS:[EBP+71B2F1D],EAX
    004F4C06     E9 B4060000      JMP 无敌外挂.004F52BF
    004F4C0B     8D9D E2FD2107    LEA EBX,DWORD PTR SS:[EBP+721FDE2]
    004F4C11     FFD3             CALL EBX
    =================================================================================================
    脚本已自动改好上面2处了,返回中断处,用HideOD申请一段内存地址(我的是2A30000)

    004F52E1     8908             MOV DWORD PTR DS:[EAX],ECX          《=========改成 JMP 2A30000
    004F52E3     AD               LODS DWORD PTR DS:[ESI]
    004F52E4     C746 FC 0000000>MOV DWORD PTR DS:[ESI-4],0   
    004F52EB     89B5 6D301B07    MOV DWORD PTR SS:[EBP+71B306D],ESI  《=========地址A,记下来
    004F52F1     83F8 FF          CMP EAX,-1
    004F52F4     0F85 20000000    JNZ 无敌外挂.004F531A
    004F52FA     813E DDDDDDDD    CMP DWORD PTR DS:[ESI],DDDDDDDD
    004F5300     0F85 14000000    JNZ 无敌外挂.004F531A
    004F5306     C706 00000000    MOV DWORD PTR DS:[ESI],0
    004F530C     83C6 04          ADD ESI,4
    004F530F     89B5 6D301B07    MOV DWORD PTR SS:[EBP+71B306D],ESI
    004F5315   ^ E9 E6F6FFFF      JMP 无敌外挂.004F4A00
    004F531A     C1C0 03          ROL EAX,3
    004F531D     0385 11171B07    ADD EAX,DWORD PTR SS:[EBP+71B1711]
    004F5323     83BD 99221B07 0>CMP DWORD PTR SS:[EBP+71B2299],1
    004F532A     0F84 9D000000    JE 无敌外挂.004F53CD
    004F5330     813E AAAAAAAA    CMP DWORD PTR DS:[ESI],AAAAAAAA
    004F5336     0F85 12000000    JNZ 无敌外挂.004F534E
    004F533C     83C6 04          ADD ESI,4
    004F533F     C746 FC 0000000>MOV DWORD PTR DS:[ESI-4],0
    004F5346     97               XCHG EAX,EDI
    004F5347     B0 E9            MOV AL,0E9
    004F5349     E9 03000000      JMP 无敌外挂.004F5351
    004F534E     97               XCHG EAX,EDI
    004F534F     B0 E8            MOV AL,0E8
    004F5351     50               PUSH EAX
    004F5352     83BD 31011B07 0>CMP DWORD PTR SS:[EBP+71B0131],1
    004F5359     0F84 3E000000    JE 无敌外挂.004F539D
    004F535F     B8 00010000      MOV EAX,100
    004F5364     83BD C7E82107 0>CMP DWORD PTR SS:[EBP+721E8C7],0
    004F536B     0F84 08000000    JE 无敌外挂.004F5379
    004F5371     8D9D 61712107    LEA EBX,DWORD PTR SS:[EBP+7217161]
    004F5377     FFD3             CALL EBX
    004F5379     803F 90          CMP BYTE PTR DS:[EDI],90
    004F537C     0F84 08000000    JE 无敌外挂.004F538A
    004F5382     83C7 05          ADD EDI,5
    004F5385     E9 43000000      JMP 无敌外挂.004F53CD
    004F538A     83F8 50          CMP EAX,50
    004F538D     0F82 0A000000    JB 无敌外挂.004F539D
    004F5393     B0 90            MOV AL,90
    004F5395     AA               STOS BYTE PTR ES:[EDI]
    004F5396     58               POP EAX
    004F5397     AA               STOS BYTE PTR ES:[EDI]
    004F5398     E9 24000000      JMP 无敌外挂.004F53C1               《=========改成 JMP 2A30014
    004F539D     58               POP EAX
    004F539E     AA               STOS BYTE PTR ES:[EDI]
    004F539F     807F FF E9       CMP BYTE PTR DS:[EDI-1],0E9
    004F53A3     0F85 18000000    JNZ 无敌外挂.004F53C1               《=========改成 JMP 2A30036
    004F53A9     83BD C7E82107 0>CMP DWORD PTR SS:[EBP+721E8C7],0     《=========地址C,记下来
    004F53B0     0F84 08000000    JE 无敌外挂.004F53BE
    004F53B6     8D9D 31712107    LEA EBX,DWORD PTR SS:[EBP+7217131]
    004F53BC     FFD3             CALL EBX
    004F53BE     8847 04          MOV BYTE PTR DS:[EDI+4],AL          《=========这里NOP掉
    004F53C1     8B85 1D2F1B07    MOV EAX,DWORD PTR SS:[EBP+71B2F1D]  《=========地址B,记下来
    004F53C7     2BC7             SUB EAX,EDI
    004F53C9     83E8 04          SUB EAX,4
    004F53CC     AB               STOS DWORD PTR ES:[EDI]             《=========这里NOP掉
    004F53CD     AD               LODS DWORD PTR DS:[ESI]
    004F53CE     C746 FC 0000000>MOV DWORD PTR DS:[ESI-4],0
    004F53D5   ^ E9 11FFFFFF      JMP 无敌外挂.004F52EB               《=========改成 JMP 2A3005F
    004F53DA     89B5 6D301B07    MOV DWORD PTR SS:[EBP+71B306D],ESI
    004F53E0     52               PUSH EDX
    004F53E1     68 00800000      PUSH 8000
    004F53E6     6A 00            PUSH 0
    004F53E8     FFB5 F5211B07    PUSH DWORD PTR SS:[EBP+71B21F5]
    004F53EE     FF95 49131B07    CALL DWORD PTR SS:[EBP+71B1349]
    004F53F4     5A               POP EDX
    004F53F5     8B8D 9D121B07    MOV ECX,DWORD PTR SS:[EBP+71B129D]
    004F53FB     C701 00000000    MOV DWORD PTR DS:[ECX],0
    004F5401     83C1 04          ADD ECX,4
    004F5404     898D 9D121B07    MOV DWORD PTR SS:[EBP+71B129D],ECX
    004F540A   ^ E9 10F5FFFF      JMP 无敌外挂.004F491F
    004F540F     E9 A4060000      JMP 无敌外挂.004F5AB8               《=========这里F2下个断点
    004F5414     60               PUSHAD
    004F5415     8B8D 9D121B07    MOV ECX,DWORD PTR SS:[EBP+71B129D]
    004F541B     8B09             MOV ECX,DWORD PTR DS:[ECX]
    004F541D     898D C3E82107    MOV DWORD PTR SS:[EBP+721E8C3],ECX
    004F5423     8138 4E54444C    CMP DWORD PTR DS:[EAX],4C44544E
    =================================================================================================

    CTRL+G 来到2A30000处,写如下代码:

    02A30000     A3 0004A302      MOV DWORD PTR DS:[2A30400],EAX      《=========注意是申请的地址
    02A30005     8908             MOV DWORD PTR DS:[EAX],ECX
    02A30007     AD               LODS DWORD PTR DS:[ESI]
    02A30008     C746 FC 0000000>MOV DWORD PTR DS:[ESI-4],0
    02A3000F   - E9 D752ACFD      JMP 无敌外挂.004F52EB               《=========地址A
    02A30014     50               PUSH EAX
    02A30015     A1 0004A302      MOV EAX,DWORD PTR DS:[2A30400]      《=========注意是申请的地址
    02A3001A     8907             MOV DWORD PTR DS:[EDI],EAX
    02A3001C     807F FF E8       CMP BYTE PTR DS:[EDI-1],0E8
    02A30020     75 08            JNZ SHORT 02A3002A
    02A30022     66:C747 FE FF15 MOV WORD PTR DS:[EDI-2],15FF
    02A30028     EB 06            JMP SHORT 02A30030
    02A3002A     66:C747 FE FF25 MOV WORD PTR DS:[EDI-2],25FF
    02A30030     58               POP EAX
    02A30031   - E9 8B53ACFD      JMP 无敌外挂.004F53C1               《=========地址B
    02A30036     50               PUSH EAX
    02A30037     A1 0004A302      MOV EAX,DWORD PTR DS:[2A30400]      《=========注意是申请的地址
    02A3003C     8947 01          MOV DWORD PTR DS:[EDI+1],EAX
    02A3003F     807F FF E8       CMP BYTE PTR DS:[EDI-1],0E8
    02A30043     75 08            JNZ SHORT 02A3004D
    02A30045     66:C747 FF FF15 MOV WORD PTR DS:[EDI-1],15FF
    02A3004B     EB 06            JMP SHORT 02A30053
    02A3004D     66:C747 FF FF25 MOV WORD PTR DS:[EDI-1],25FF
    02A30053     58               POP EAX
    02A30054   - 0F85 6753ACFD    JNZ 无敌外挂.004F53C1               《=========地址B
    02A3005A   - E9 4A53ACFD      JMP 无敌外挂.004F53A9               《=========地址C
    02A3005F     83C7 04          ADD EDI,4
    02A30062   - E9 8452ACFD      JMP 无敌外挂.004F52EB               《=========地址A
    02A30067     90               NOP

    (二进制代码)

    A3 00 04 A3 02 89 08 AD C7 46 FC 00 00 00 00 E9 D7 52 AC FD 50 A1 00 04 A3 02 89 07 80 7F FF E8
    75 08 66 C7 47 FE FF 15 EB 06 66 C7 47 FE FF 25 58 E9 8B 53 AC FD 50 A1 00 04 A3 02 89 47 01 80
    7F FF E8 75 08 66 C7 47 FF FF 15 EB 06 66 C7 47 FF FF 25 58 0F 85 67 53 AC FD E9 4A 53 AC FD 83
    C7 04 E9 84 52 AC FD 90
    =================================================================================================

    写好代码后,删除先前在代码段下的内存写入断点,shift+F9,中断在004F540F,到这里已经获得了IAT,现在

    找OEP.,在这里我采用世面上流传的找THEMIDA OEP方法:

    取消004F540F处断点,ALT+M打开内存察看窗口,直接在代码段F2下断点。Shift+F9就中断在OEP处了

    =================================================================================================

    [ 本帖最后由 a__p 于 2007-5-1 17:51 编辑 ]

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?加入我们

    x
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2012-9-1 17:29:27 | 显示全部楼层
    学习一下,我来做沙发
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表