前些天我全程分析了krypton这个老壳
 文章论坛地址:
http://bbs.pediy.com/showthread.php?t=87760&highlight=
另外逛论坛的时候 我发现CCDebuger大牛已经在一个求助帖写出来了 对比一下 发现我写的脚本和大牛的只是定位代码有些不一样 有的抄的嫌疑 我写了详细的注释 希望像我一样的菜鸟能结合我前面分析壳的文章 熟悉一下写脚本的思路
我最近在学习脚本 这是我第一个脚本:
(试炼品见附件)
var temp


bphwcall                 
dbh
/*
壳程序先分配内存然后进行解码,分配内存地址存放到esi中
这句jmp esi是为了跳到这段代码中 
*/
findop eip, #FFE6#                                                     ;找到    FFE6                  jmp esi
mov temp, $RESULT
bp temp
esto
bc   
sto                                     ;f8
/*
如果不对下面的代码下断的话,我发现定位加密输入表的指令定位的不对,如果过了下面的代码之后,就可以定位到
下面代码就是下面的代码:
003A28A6     FF95 50BE4100         call dword ptr ss:[ebp+41BE50]                         ; kernel32.GetProcAddress
003A28AC     83BD 6F714000 00      cmp dword ptr ss:[ebp+40716F],0

*/
find eip, #FF95????????83BD#
mov temp, $RESULT
bp temp
esto
bc                                       


find eip, #8B85????????EB#
mov temp, $RESULT
add temp, 6
/*查找以下命令:
003a30D5    8B85 A6714000   MOV EAX,DWORD PTR SS:[EBP+4071A6]          ; 输入表地址写入的,NOP掉
*/
find temp, #8B85????????EB#
mov temp, $RESULT
mov [temp], #909090909090#
/*查找以下命令:
003A3A5E   - FFE2                  jmp edx                                                ; KRYPTON.00401000 跳向oep
003A3A60     51                    push ecx

*/
find temp, #FFE251#
mov temp, $RESULT
bphws temp, "x"
esto
bphwc
sto
cmt eip, " OEP,请用 IR 重建输入表"
ret

上传的附件 KRYPTON.rar [解压密码:PEDIY]