|
[原创]Themida的另类破解
好文!!!!! |
|
[原创]耐心的体验——手脱SVK1.43加壳记事本(两种方法)
to: 五德转移 2009-04-25, 20:59 谢谢,这个是怎么知道的cmp dword ptr ds:[ebx],251097CC ------------------------------------------------------------------------------ 我以前遇到这样的问题也是很郁闷,就是不知道怎样来的,脱过几个壳以后你就会知道了: 跟踪过程中发现的。 所以有些属于过程性的东西,最好自己跟踪着看看,我原来也不知道,跟过以后就明白了。^_^ 认认真真的脱几个壳以后,你就会找到一些感觉了,提高也会很快。一定要自己多动手,别人的文章只是一个参考。呵呵,个人理解~ 建议新手从二哥的脱文18篇学起,我就是这样开始的,不过现在还很菜,只能说是一点建议吧。 |
|
[原创]耐心的体验——手脱SVK1.43加壳记事本(两种方法)
方法二: 呵呵,回来了,继续吧! ----------------------------------------------------------------------------------- 以壳解壳: 注意,这里我是在找回了stolen的情况下进行的,本来想连stolen的地方也用壳自身的代码解决,无奈还得用个跳转语句来实现跳向那段代码,程序还膨胀到800K,晕,因为方法一得出了 stolen code 所以就直接贴上去,而将重点放在iat的处理上。 1.od载入加壳记事本,bp GetModuleHandleA+5,F9运行断下后,直接在oep处下断,运行断下 ,然后lodpe dump程序,记得要验证一下pe,重新载入dump 出的程序,来到4010cc,把方法一找到的stolen code 补上去,注意要将004063e4地址处的数据改为7c812f2d (kernel32GetCommandLineA的地址),保存到可执行文件。 2.区域脱壳: 跟踪一下壳里面调用函数的地方,可以知道它跳向地址0b7XXXXX处,只要程序包含了这部分代码,程序自然就能跳向正确的函数。 od载入加壳记事本,bp GetModuleHandleA+5 运行断下后,用lodpe区域脱壳:右键->区域转存 ,选择地址0B7B0000-0B7E9000,默认保存为Region0B7B0000-0B7E9000。然后,用lodpe的pe编辑器载入步骤1 dump出的程序,点击【区段】 ,然后右键->从磁盘载入段,选择文件Region0B7B0000-0B7E9000.dum,右键->编辑区段,改虚拟地址为0B7B0000-00400000(基址)=0B3B0000,改oep为10cc(记得点击保存) 3.载入步骤2得到的程序,运行,出现异常: 地址=0013FDD5 消息=访问违规: 正在写入到 [0B7F2324] 0013FDC2 61 popad 0013FDC3 8BC4 mov eax, esp 0013FDC5 8BA5 AACE0200 mov esp, dword ptr [ebp+2CEAA] 0013FDCB 81AD AACE0200 0>sub dword ptr [ebp+2CEAA], 100 0013FDD5 50 push eax 分析一下,原来0013FDCB 处esp被改为0B7F2324了(尝试修改内存访问属性失败),幸好还有一招,改[ebp+2CEAA]处的0B7F2324为0013d500(当前堆栈里的一个地址,这个地址的附近不要有数据),保存到可执行文件。运行一下程序,可以执行(还没完啦!) 4.修正 点菜单【新建】、【打开】等都会让程序崩溃,汗~。od载入吧,运行,提示一个地址(7xxxxxxx,没记下来太忙了,见谅!)访问异常。好吧,现在我们alt+e看看7xxxxxxx处,可看到没有这个地址处的模块调用,od载入加壳记事本,alt+e可看到 Executable modules, 条目 5 基址=76320000 大小=00047000 (290816.) 入口=76321AB8 comdlg32.<模块入口点> 名称=comdlg32 (系统) 文件版本=6.00.2900.2180 (xpsp_sp2_rtm.04 路径=C:\WINDOWS\system32\comdlg32.dll 原来是没有加载comdlg32.dll~ 好,写点小代码实现吧。 我是在壳的入口地址0040c000处写下: push 0040c100 ;这个地址写入字符串“comdlg32.dll”,不要忘记标记字符串结束的0 call 7c801d77 ;LoadLibrary的地址 jmp 004010cc 保存到可执行文件,lodpe 改入口为:0040c000 运行一下,ok了。(脱出来400k,两种方法很鲜明的对比!) 【结束】 ---------------------------------------------------------------------------------- 【结语】 最近太忙了,写得有些仓促,错误之处请指正! |
|
[原创]耐心的体验——手脱SVK1.43加壳记事本(两种方法)
谢谢starhust的支持及看雪大哥的鼓励。 |
|
[求助]EXECryptor 2.2.4脱壳疑问
壳监测到了你在调试程序,找个避开这种壳检测的插件或者OD |
|
[求助]想知道怎样拦截窗体上的按钮??
You should use "bp RegisterClassA" or "bp RegisterClassW" |
|
[招聘]安博士信息安全有限公司诚聘病毒分析师
1.本科学历 2. 热爱底层工作,对反病毒、逆向工程、系统漏洞等有强烈兴趣 3. 熟悉x86系列汇编语言,能熟练读懂汇编代码) 4.有一定C/C++程序功底 而且会OD,IDA等调试 我没贴出这些来不说明我不会,1、2、3、4都满足,确实的说我现在od 用得比较多,ida辅助的时候用一下,不否认我现在的能力还不强,当然我还得建议一下:学历不代表能力,我想论坛里潜伏着很多这样的高手,当然只是一点建议啦,毕竟招人的是你们的公司。 |
|
[原创]菜鸟脱壳心得--PeShield v0.25
说错了,谢谢更正,在我脱壳的过程中是会检查软件断点,另外SEH handler里还会清除调试寄存器来使下硬件断点无效. 请教过xsjs的方法如下: “断ZwContinue之后 ctrl+g,输入[ecx+0b8] 下断就可以了” |
|
[招聘]安博士信息安全有限公司诚聘病毒分析师
很想来,不过我是09本科应届生,只有一些基础:学过c/c++、windows程序设计、intel 80x86汇编语言、win32 asm, 没有工作经验,不知道够不够资格! |
|
[原创]菜鸟脱壳心得--PeShield v0.25
XSJS 见解相当不错(这个壳就是反调试稍稍有些强度,暂时没有全程跟踪过,有兴趣的可以试试,还是比较有意思的)!! |
|
[原创]JDPack1.01加壳文件的反单步调试分析
不小心发重了,致歉! |
|
[求助]hyperchem的《脱壳经验谈》里的一点疑问
谢谢hyperchem及elance的赐教,不知hyperchem要表达的是不是elance说的那个意思。 |
|
[讨论]马上大学毕业了,工作好难找!
the same as you,同病相怜的说一句,坚持住! |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值