首页
社区
课程
招聘
[原创]我的第一个脚本-- krypton的脱壳脚本
发表于: 2009-5-11 09:49 5181

[原创]我的第一个脚本-- krypton的脱壳脚本

2009-5-11 09:49
5181

前些天我全程分析了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


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 7
支持
分享
最新回复 (1)
雪    币: 1024
活跃值: (240)
能力值: ( LV12,RANK:310 )
在线值:
发帖
回帖
粉丝
2
不好意思 原创我点多了
2009-5-11 09:53
0
游客
登录 | 注册 方可回帖
返回
//