xctf(ddctf) Windows_Reverse2 脱壳
程序员文章站
2022-05-12 13:55:37
...
1.星期天闲着没事做做这个
od直接开trace
然后写个脚本化简下文件
import re
def isdigit(a):
try:
int(a,10)
return 1
except Exception as e:
try:
int(a,16)
return 1
except Exception as e1:
return 0
f1=open("ddctf-1.txt","rb")
f2=open("ddctf-3.txt","a+")
line=f1.readline()
while line:
line=f1.readline().replace('\r\n','\n')
if isdigit(line[:5])!=0:
if re.match( r'00AF(.*) main', line, re.M|re.I)==None:
#print(line)
a=1
else:
#print(list(line))
f2.write(line)
else:
#print(list(line))
f2.write(line)
f1.close()
f2.close()
直接翻了翻
看这地址跳这么远,就猜是oep了
od插件直接dump出来,
dump出来就像下面的鬼样子
用了下ImportRec 去修复IAT,并没有什么鸟用,看来还得手工修复
在od中main里面去找iat
就在0x2000这么个地方
结果dump出来不对就往后面翻了翻
结果0x2320那么个地方就是
所以直接把0x2320位置的数据copy过去
再选个位置建import表
最后NT结构里面去改下偏移和size
结果改完了,它还要给我日怪
发现运行不成功,还得把重定位去掉。
2.总结一下
import 表
指向的
这个地方是rva,在010中看得(rva-对应得offset+ 物理对应得offset)
OrginalFirstThunck和FirstThunk都可以指向同一个地方
上一篇: MAYA7.0制作人体皮肤材质的英文教程
下一篇: 不可不知的13个手机摄影技巧分享