吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4816|回复: 3
收起左侧

[Scripts] Obsidium 1.x.x Deobfuscator v4.0

[复制链接]
Hmily 发表于 2011-9-18 18:07
Obsidium is a huge fan and has relied on these jump obfuscation techniques forever. Of course now they have VM code. This is somewhat easy to get around using a script. Here is a script I made a while ago for this. You may have to analyze the script commands if it don't work and it should be simple to add new jumps to it if need be.
VAR ep
VAR NumOfBytes
VAR endaddr

CMP $VERSION, "1.82"                                ; checks ODBGScript version
JAE above_ver
MSG "Use ODBGScript v1.82.6 or newer!"
above_ver:

GCI eip, DESTINATION                                ; checks for AV modified EP, fixes if found
CMP $RESULT, 10000000
JB no_av
;MSG "Are you sure this is Obsidium EP. Is your AntiVirus changing the EP?"
BPHWS eip, "x"
EOB above_ver
ERUN
BPHWC eip
no_av:

BC
BPHWC
MOV ep, eip

loop:
    OPCODE ep

    CMP $RESULT_2, 2                                ; checks for invalid opcode
    JNE skip_opcode_fill
    SCMP "EB", $RESULT, 2                        ; checks for short jmp instruction
    JE fix_opcode
    SCMP "73", $RESULT, 2                        ; checks for short jnb instruction
    JE fix_opcode
    SCMP "71", $RESULT, 2                        ; checks for short jno instruction
    JE fix_opcode
    SCMP "74", $RESULT, 2                        ; checks for short je instruction
    JE fix_opcode                        
    JMP skip_opcode_fill

fix_opcode:
    MOV eax, [ep]
    SHR eax, 8
    XOR ecx, ecx
    MOV cl, al
    ADD ecx, 2

    FILL ep, ecx, 90
    ADD ep, ecx
    JMP loop
    
skip_opcode_fill:

    SCMP $RESULT_1, "??", 2
    JE end_loop

    ADD ep, $RESULT_2
    JMP loop


end_loop:

MOV endaddr, ep

/********************************************* SCAN and LABEL **********************************************/

MOV ep, eip

loop2:
    OPCODE ep
    SCMP "90", $RESULT, 1                ; check for nop instruction
    JNE another_nop
    SCMP "E8", $RESULT, 1                ; check for call instruction
    JE label_instruction
    SCMP "E9", $RESULT, 1                ; check for jmp instruction
    JE label_instruction
    SCMP "0F87", $RESULT, 2                ; check for ja instruction
    JE label_instruction
    SCMP "0F85", $RESULT, 2                ; check for jnz instruction
    JE label_instruction
    SCMP "0F86", $RESULT, 2                ; check for jbe instruction
    JE label_instruction
    SCMP "0F84", $RESULT, 2                ; check for je instruction
    JE label_instruction
    SCMP "0F83", $RESULT, 2                ; check for jnb instruction
    JE label_instruction
    JMP another_nop
    
label_instruction:
    
    
another_nop:
    ADD ep, $RESULT_2
    CMP ep, endaddr
    JAE scan_done
    JMP loop2

scan_done:

RET                

Obsidium 1.x.x Deobfuscator v4.0.rar

808 Bytes, 下载次数: 35, 下载积分: 吾爱币 -1 CB

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

残风恋 发表于 2011-9-18 18:12
老大!!!你说得真好, 但是你这些英文下次能用有道过一过 好么
把意思翻译个大概就OK拉  呵呵 恩 我知道不是给我这样的小鸟看得,
但是总让我能有个念想吧,让我懂个千分之一 
xie83544109 发表于 2011-9-18 20:09
booyd 发表于 2012-10-11 22:16
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-14 15:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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