吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 9652|回复: 39
收起左侧

[第九课] 【交作业贴】吾爱破解培训第九课交作业专帖

   关闭 [复制链接]
回帖奖励 104 CB吾爱币 回复本帖可获得 8 CB吾爱币奖励! 每人限 1 次
L4Nce 发表于 2015-10-15 11:37
前提介绍:
《吾爱破解培训第九课:短兵相接--深入浅出探讨脱壳细节(下)》 讲师:L4Nce http://www.52pojie.cn/thread-420354-1-1.html


请大家用课程学到的知识,对加壳的作业进行脱壳和编写脱壳脚本,脱壳脚本可以直接上传,脱壳成品可以上传网盘贴地址,节省论坛空间就不要上传到论坛了。

作业截至到2015年10月22号00:00前提交算数,没有加报名群的同学也可以提交,后期会通过作业的提交情况,来淘汰没有交作业的,让交作业的新人加入。


对于作业的解答我已经更新到上面培训贴中,作业遇到问题的可以参考一下。

帖子我设置只有我可见,等一周后取消,切记不要回复和作业无关内容,否则会被扣分,前50个名交作业的同学有奖励。

免费评分

参与人数 3热心值 +3 收起 理由
kkkwz + 1 十三句代码搞定,请l4nce大牛指点
349875904 + 1 第八第九还没看,现在去瞧瞧去
凌云9 + 1 谢谢@Thanks!

查看全部评分

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

beyondmk2001 发表于 2015-10-16 10:03

回帖奖励 +8 CB吾爱币

[Shell] 纯文本查看 复制代码
mov iat_s, 0047d024
mov iat_e, 0047d16c

@LOOP1:
mov iat,iat_s+663CFE
mov [iat_s],[iat]
add iat_s,4
cmp iat_s,iat_e
jne @LOOP1

mov iat_s,0047d16c
mov iat_e,0047D374  
@LOOP2:
mov iat,iat_s+644310
mov [iat_s],[iat]
add iat_s,4
cmp iat_s,iat_e
jne @LOOP2

mov iat_s,0047D384
mov iat_e,0047D390
@LOOP3:
mov iat,iat_s+6A2CCE
mov [iat_s],[iat]
add iat_s,4
cmp iat_s,iat_e
jne @LOOP3

mov iat_s,0047D390
mov iat_e,0047D600
@LOOP4:
mov iat,iat_s+654543
mov [iat_s],[iat]
add iat_s,4
cmp iat_s,iat_e
jne @LOOP4

MSG "IAT修复完成!"

ret


步骤:
①在.text段F2,F9运行
②在.rdata段F2,F9运行
③在.text段F2,F9运行
此时到达OEP,然后运行上面的修复IAT的脚本即可,最后用ImportREC修复即可完成脱壳。用PEID查壳,发现程序是用vc6.0写的。
脱壳后的程序我已上传到网盘,地址是:http://pan.baidu.com/s/1bngBxHt
clf7691782 发表于 2015-10-15 17:38
苏紫方璇 发表于 2015-10-15 11:57

回帖奖励 +8 CB吾爱币

本帖最后由 苏紫方璇 于 2015-10-15 22:57 编辑

[Asm] 纯文本查看 复制代码
var iat_b          ;iat起始位置
var iat_e          ;iat结束位置
var tmp            ;临时中转
var string         ;储存代码段自动跟踪命令
var oldesp         ;esp备份
var oldeip         ;eip备份
var codebegin      ;代码段起始地址
var codesize       ;代码段大小

gmi eip,CODEBASE              ;获取代码段地址
mov codebegin,$RESULT
gmi eip,CODESIZE              ;获取代码段大小
mov codesize,$RESULT
add codebegin,codesize        ;得到末尾地址
mov string,"eip < "           ;构建自动跟踪指令
add string,codebegin
msg "请取消所有的忽略异常"
ESTO
ESTO
ESTO
ESTO
ESTO
ESTO
ESTO                       ;最后一次异常法
bphws [esp+4],"x"          ;Seh地址下硬件断点
ESTO             		   ;Shift+F9
bphwcall                   ;清除所有硬件断点
TICND string               ;TICND "eip < 47d000"       ;tc eip<47d000
cmt eip,"程序入口点"
msg "找到入口点"
;IAT修复
mov iat_b,0047D000
mov iat_e,0047D6A0
mov oldesp,esp            ;备份esp,eip
mov oldeip,eip
@ILoop:
mov tmp,[iat_b]           ;tmp=原始iat表值
cmp tmp,10000000
ja @Next                   ;若大于10000000就换下一个
cmp tmp,00400000
ja @Start                   ;若大于00400000就继续运行
cmp tmp,0
jz @Next                   ;等于0就换下一个
@Start:
mov eip,tmp           ;设定eip
mov esp,oldesp        ;恢复esp
rtr                    ;运行到返回
mov [iat_b],[esp]       ;修复IAT
@Next:
add iat_b,4            ;下一个iat
cmp iat_b,iat_e        ;判断是否结束
jnz @ILoop
mov eip,oldeip         ;恢复eip,esp
mov esp,oldesp
ret
蚯蚓翔龙 发表于 2015-10-15 13:32

回帖奖励 +8 CB吾爱币

http://yunpan.cn/cFwumyRthitBp  访问密码 7f45
一岁就很帅呀{:1_903:}
小范 发表于 2015-10-15 13:32

回帖奖励 +8 CB吾爱币

作业:
http://yunpan.cn/cFwuFqR59fSDV (提取码:e64c)
黑的思想 发表于 2015-10-15 14:03

回帖奖励 +8 CB吾爱币

本帖最后由 黑的思想 于 2015-10-17 23:31 编辑

最后一次异常法,最后在text下内存访问断点,直接到达OEP
004C63EC    处用nop填充
004C6401   处修改为jmp
iat 自动修复 用importrec修复
作业链接:http://pan.baidu.com/share/link?shareid=1861732399&uk=3864546619
[Actionscript3] 纯文本查看 复制代码
msg "最后一次异常法脱壳,请忽略所有异常"
msg "ARE YOU READY ?"
var mbase
VAR iatb
VAR iate
var cbase
var csize
var temp
var name
var dumped
var adr
GMI eip,MODULEBASE
MOV mbase,$RESULT
MOV iatb,mbase
MOV iate,mbase
MOV adr,mbase
add iatb,07D024
add iate,07D600
add adr,0C6833
LOOP1:
ESTO
cmp eip,adr
jne LOOP1
gmi eip, CODEBASE
mov cbase, $RESULT
gmi eip, CODESIZE
mov csize, $RESULT
bprm cbase, csize
esto
cmt eip, "<== 这就是传说中的oep!!!"
msg "这里就是OEP了,你真幸运!"
msg "接下来,我们来修复iat好吗?"
LOOP2:
mov temp,[iatb]
cmp temp,0
je next
cmp temp,070000000
ja next
find temp,#FF30C3#
mov temp,$RESULT
sub temp,5
mov temp,[temp]
add temp,1
mov [iatb],[temp]
next:
add iatb,4
cmp iatb,iate
jne LOOP2
msg "iat修复完成,恭喜!"
msg "dump去吧!"
ret

liangyi 发表于 2015-10-15 19:50

回帖奖励 +8 CB吾爱币

我来学习学习~看看楼主的进度!
凌云9 发表于 2015-10-15 20:48

回帖奖励 +8 CB吾爱币

本帖最后由 凌云9 于 2015-10-16 13:16 编辑

链接:http://pan.baidu.com/s/1ntnI71n 密码:q5aw
脚本写的我也是醉了,xp脱壳修复正常(win7可运行)
[Asm] 纯文本查看 复制代码
var ss
mov iat_1,0047D024
mov iat_2,0047D600
bpWM 00401000,FF
run
bpmc 
BP 004C6070 
RUN
BPRM 00401000,FF
BP 0045D4F6 
rUN
bpmc
msg "oep"

@IAT_LOOP:
mov ss,[iat_1]
cmp ss,0
je  @NEXT_LOOP
cmp ss,76c20aa2
je  @NEXT_LOOP
cmp ss,76c31f8e
je  @NEXT_LOOP
cmp ss,76c41c91
je  @NEXT_LOOP
cmp ss,770F7A30
je  @NEXT_LOOP
cmp ss,770FCCFD
je  @NEXT_LOOP
cmp ss,7715DB75
je  @NEXT_LOOP

find ss,#FF30C3#
mov ss,$RESULT
cmp ss,0

sub ss,5
mov ss,[ss]
add ss,1
mov ss,[ss]
mov [iat_1],ss

@NEXT_LOOP:
add iat_1,4
cmp iat_1,iat_2
jnz @IAT_LOOP
ret


89zuoye.txt (588 Bytes, 下载次数: 0)
专业烤提莫 发表于 2015-10-15 21:12

回帖奖励 +8 CB吾爱币

交第八九课作业前先补交1, 2,4课作业,压缩包里有分析笔记. 下载地址与第九课地址一样,在文章最后


第八九课作业分析:
查了下壳: telock
不清楚这壳,也没在百度上查找资料,只想先试试
既然不清楚什么壳,但看过去是简单的,所以用单步跟踪

单步一下,在4C5000处,运行后,4C5000处指向OEP,但用任何断点都断不下来
用插件加强断点,但程序弹出CRC错误提示

跟踪了一下,发现程序常常进行自身解码, 至于CRC完全靠猜测,所以得出如下步骤:
1. 004C507A 这里下硬件断点.
   此处查不到死码,因为是后来解码出来的,脚本中也不想写一大堆的STI,所以直接用常量定位
2. 向下拖到004C5438这个位置,F7
   脚本中用死码定位
3. 完成如上步骤,便可下硬件断点而不被弹出错误提示

因为是易语言程序,很快找到了oep: 0x45D4F6

至于IAT修复,硬件断点解决了,所以可以很快的进行定位,关键代码如下:
004C64E5    8908           mov     dword ptr [eax], ecx             ; 数据存到iat中

004C656D    53             push    ebx
004C656E    FFB5 4AD34000  push    dword ptr [ebp+40D34A]
004C6574    FF95 E0BA4000  call    dword ptr [ebp+40BAE0]           ; kernel32.GetProcAddress
004C65B1    8907           mov     dword ptr [edi], eax             ; 地址存到[edi]中,edi==iat表


作业中有二种方法的od脚本. ps: 在群里说修复昨后跨不了平台,后来检查了下,原因是我脚本少了个判断引起的.....

下载地址:  http://share.weiyun.com/519c84ce88bc5e3181d8fce16978d20d(密码:9bJ4)



一_岁_就_很_帅 发表于 2015-10-16 00:11

回帖奖励 +8 CB吾爱币

本帖最后由 一_岁_就_很_帅 于 2015-10-16 00:13 编辑

用最后一次异常法到oep,这个很简单,但是写脚本费了好大的力,在论坛各种找脚本的命令。
最后是修复IAT这个真是累死人啊!

以脱壳:http://pan.baidu.com/s/1mgxnX6S
t什么的壳.txt (847 Bytes, 下载次数: 2)

脱壳脚本.jpg




您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-12-22 09:57

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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