找到控件的属性值,做相应修改...这里主要依靠unicode的特殊性加快速度
1)p.l.e.a.s.e. .r.e.g.i.s.t.e.r.!
注意前面最近的p(0x50)(文件偏移0x13017),我想实际应该是0x50 02 00 00
是指这个控件的属性。根据查到的windows.inc知道ws_visible = 0x10 00 00 00。
所以将0x50 -> 0x40将会使这个控件不可见
经过对脱壳文件的修改(我实际是动态调试的),可以确定这个结论...
注意:这里为了做smc补丁必须计算修改的地方位于内存的地址
使用lordpe查看section:
voffset vsize roffset rsize
.src 00014000 00003000 00012400 00002128
memory address = imagebase 0x00014000 (0x00013017 - 0x00012400) = 0x00414c17
得到:mov b,[00414c17],40
2)s.t.a.t.i.c
memory address = imagebase 0x00014000 (0x000131eb - 0x00012400) = 0x00414deb
得到:mov b,[00414deb],40
3)...这个特征不明显,我是根据r.e.s.t.r.a.t.i.o.n. .i.n.f.o.m.a.t.i.o.n
相对位置推的。准确定位我还不会...:)
memory address = imagebase 0x00014000 (0x000132d7 - 0x00012400) = 0x00414ed7
得到:mov b,[00414ed7],40
/////////////////////////////////////////////////////////////////////
//
// 第3步:在即将进入oep前的地方加上自己的补丁代码
//
/////////////////////////////////////////////////////////////////////
即将转入oep的代码,可是直接在pecompact.exe里找不到哦...:)(多重的...)
00441551 6800e04300 push dword 0043e000
00441556 c204 ret 04
bpm 00441551...看看这里的代码是什么时候放进来的
0044119e f3a5 rep movsd
执行完后就...不用想了,追esi->...查到004425fc是这段代码。接着下bpm 004425fc
这里具体怎么传数据我倒不用管(我可以在传输完整片数据后补),f12到了以下
片段:
004442af 5d pop ebp
004442b0 2b7d0c sub edi, [ebp 0c]
004442b3 8bc7 mov eax, edi
004442b5 c9 leave
004442b6 c208 ret 08
注意:这里你会发现所处位置"pecompact!.rsrc"...而且底下一片0000...000
呵呵,还不偷着乐?
00441551 6800e04300 push dword 0043e000
//我要改这条指令,转向我要补的修改代码
//留些余地,暂时改为jmp 004442d0(e97a2d0000)
//最后可修正为jmp 004442c3(e96d2d0000)
00441556 c204 ret 04
/////////////////////////////////////////////////////////////////////
004442af 5d pop ebp
004442b0 2b7d0c sub edi, [ebp 0c]
004442b3 8bc7 mov eax, edi
//mov d,[00441551],002d7ae9
//mov b,[00441555],00 -> 本无必要,但...我在修
//改1.68版时发现这里移的数据在后面会加上imagebase
//所以要进行修正(因为会是个负数,所以这里要留着)
//呵呵,这个版本还方便些...不过知道思想就好
004442b5 c9 leave
004442b6 c208 ret 08
/////////////////////////////////////////////////////////////////////
//
// 小结一下修改的代码
//
/////////////////////////////////////////////////////////////////////
004442b5 mov d,[00441551],002d6de9
004442bf leave
004442c0 ret 08
004442c3 mov b,[00414c17],40
004442ca mov b,[00414deb],40
004442d1 mov b,[00414ed7],40
004442d8 mov b,[0040542f],c3
004442df mov d,[004053a6],00444300
//位于文件偏移12900处,写上大名啊
004442e9 push 0043e000
004442ee ret 04
/////////////////////////////////////////////////////////////////////
呵呵,拙文...是分析virility的解密文件整理而成的。one lamer more...:)
/////////////////////////////////////////////////////////////////////
//
// 谨以此文献给茁壮成长的ipb(inside pandora’s box - 原ocg)...
//
// personal greeting to: [afo] [ccg] [bcg] members & all my friends
//
/////////////////////////////////////////////////////////////////////
发表评论