cf不全屏能全屏,求高手指点,要详细流程, 不知道其他…

我的电脑配置玩穿越火线FPS底,我想换显卡,不知道能换什么样的显卡最好,求高手指点。。。。_百度知道
我的电脑配置玩穿越火线FPS底,我想换显卡,不知道能换什么样的显卡最好,求高手指点。。。。
电脑型号 X86 兼容 台式电脑
操作系统 Windows XP 专业版 32位 SP3 ( DirectX 9.0c )
处理器 英特尔 Pentium(奔腾) 双核 E2180 @ 2.00GHz
主板 华硕 P5G-MX (英特尔 945G - ICH7)
内存 2 GB ( 金士泰 DDR2 800MHz )
主硬盘 日立 HDS721616PLA380 ( 16...
我有更好的答案
放的D盘或者别的盘,你把桌面的东西弄少点,虚拟内存别放C盘9600玩CF没问题 吧。重装DirectX 9.0c 看看,玩的时候别录像
采纳率:41%
你这配置玩游戏有点问题,别听他们胡说,9600GT的显存只有256MB和内存仅仅2G还是800MHZ
DDR2 ,穿越尽管是垃圾游戏,不过还是有那么点小要求,建议显卡换成GT系列或者GTS系列,显存要至少512MB即可流畅,内存换成金士顿4G的,处理器和主板都不用换,~~
这配置玩CF理论上是无问题的,重搞下系统及驱动试下吧
上gts450喽。上太好cpu会托。当然,hd6770也行。
不过9600gt玩cf不至于底吧。。画质下调些看看。
其他1条回答
为您推荐:
其他类似问题
您可能关注的内容
玩穿越火线的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。一个带保护的delphi程序,请高手指点 - 『脱壳破解讨论求助区』
- 吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn
后使用快捷导航没有帐号?
只需一步,快速开始
请完成以下验证码
请完成以下验证码
查看: 4628|回复: 8
一个带保护的delphi程序,请高手指点
阅读权限10
发帖求助前要善用【】功能,那里可能会有你要找的答案;
求助软件脱壳或者破解思路时,请务必在主题帖中描述清楚你的分析思路与方法,否则会当作求脱求破处理;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人。
Delphi菜鸟,从未用过Delphi。前一段时间随机拿来研究的,再过段时间恐怕就忘了,所以写下来,请大牛指点。
没用查壳,直接拖IDA里去了,结果有如下段:
CODE& &9D000 R . X . L para 0001 public CODE 32 01 FFFFFFFF FFFFFFFF
DATA& &A0000 R W . . L para 0002 public DATA 32 01 FFFFFFFF FFFFFFFF
BSS& & 004A0 R W . . L para 0003 public& && &32 01 FFFFFFFF FFFFFFFF
.idata 004A0 R W . . L para 0004 public DATA 32 01 FFFFFFFF FFFFFFFF
.tls& &004A0 R W . . L para 0005 public& && &32 01 FFFFFFFF FFFFFFFF
.rdata 004A0 R . . . L para 0006 public DATA 32 01 FFFFFFFF FFFFFFFF
.jwx0&&004A0 R W . . L para 0007 public DATA 32 01 FFFFFFFF FFFFFFFF
.jwx1&&CE000 R W X . L para 0008 public CODE 32 01 FFFFFFFF FFFFFFFF
比较奇怪的是jwx0和jwx1,一个数据段,一个代码段,名字以前没见过,感觉是作者自己写的。起初怀疑这两个段是什么壳用的,但鉴于已有CODE段了(放眼望去,基本是DELPHI的库函数等),因此个人觉得是作者自创的什么保护机制了。
2.保护机制的分析(大牛请看)
用跟了下,看到jwx1中最主要的是一个jmp 到CODE中的一个地址0x去,而这个地址的引用居然出现了106次之多。为了近距离观察这个loc_开头的地址,在该位置创建了函数,变为sub函数,使用F5观察下内容(需要Alt+K调整栈偏移成正的)如下:
void __usercall sub_49A105(unsigned __int8 _CF&cf&, char _ZF&zf&, char _SF&sf&, unsigned __int8 _OF&of&, int a5&eax&, int a6&edx&, int a7, int a8, int a9, int a10, double a11)
&&__int16 v12; // dx@22
&&int v17; // kr08_4@29
&&char v18; // al@32
&&int v19; // eax@32
&&int v21; // esi@1
&&char v22; // zf@1
&&DWORD v23; // eax@1
&&int v24; // edx@1
&&DWORD v25; // ebx@1
&&signed int v26; // ecx@1
&&int v27; // edi@1
&&signed int v28; // eax@5
&&signed int v29; // ecx@5
&&int v30; // edi@9
&&char v31; // bl@9
&&int v32; // esi@9
&&char v33; // dl@10
&&unsigned __int8 v34; // dl@10
&&int v39; // eax@10
&&char v40; // al@13
&&__int16 v41; // dx@41
&&signed int v42; // ett@41
&&char v45; // al@48
&&unsigned int v46; // [sp-7Ah] [bp-92h]@1
&&int v47; // [sp-76h] [bp-8Eh]@14
&&int v48; // [sp-72h] [bp-8Ah]@1
&&int v49; // [sp-6Eh] [bp-86h]@1
&&int v50; // [sp-52h] [bp-6Ah]@1
&&signed __int32 v51; // [sp-32h] [bp-4Ah]@19
&&char v52; // [sp-2Eh] [bp-46h]@20
&&__int16 v53; // [sp-2Ch] [bp-44h]@21
&&char v54; // [sp-2Ah] [bp-42h]@21
&&int v55; // [sp-26h] [bp-3Eh]@27
&&__int16 v56; // [sp-22h] [bp-3Ah]@27
&&int v57; // [sp-20h] [bp-38h]@28
&&__int16 v58; // [sp-1Ch] [bp-34h]@28
&&unsigned int v59; // [sp-1Ah] [bp-32h]@29
&&int v60; // [sp-16h] [bp-2Eh]@29
&&__int16 v61; // [sp-Ch] [bp-24h]@18
&&char v62[6]; // [sp+12h] [bp-6h]@15
&&void *v63; // [sp+18h] [bp+0h]@18
&&v49 = a6;
&&v48 = a5;
&&__asm { pushf }
&&v46 = 0;
&&v21 = v50;
&&v23 = GetCurrentThreadId();
&&v25 = v23;
&&v26 = 256;
&&v27 = v24;
& & if ( !v26 )
& & v22 = *(_DWORD *)v27 == v23;
& & v27 += 4;
& & --v26;
&&while ( !v22 );
&&if ( !v22 )
& & v28 = v26;
& & v29 = 256;
& & v27 = v24;
& && &if ( !v29 )
& && &_ZF = *(_DWORD *)v27 == v28;
& && &v27 += 4;
& && &--v29;
& & while ( !_ZF );
& & *(_DWORD *)(v27 - 4) = v25;
&&v30 = v24 + 16 * (v27 - v24) + 960;
&&v31 = v21;
&&v32 = v46 + v21;
&&while ( 1 )
& & v33 = __ROL__(v31 + *(_BYTE *)v32 + 1, 7);
& & v34 = __ROL__(v33 + 1, 1);
& & ++v34;
& & ++v32;
& & _CF = __CFADD__(v34, v31);
& & _OF = __OFADD__(v34, v31);
& & _ZF = v34 + v31 == 0;
& & _SF = (char)(v34 + v31) & 0;
& & v31 += v34;
& & v39 = v34;
& & switch ( v34 )
& && &case 0u:
& && &&&__asm { fistp& &dword ptr [esp+0] }
& && &case 1u:
& && &&&__asm { mov& &&&eax, cr6 }
& && &&&*(_DWORD *)&v62[2] = _EAX;
& && &case 2u:
& && &&&_EDX = *(_DWORD *)&v54;
& && &&&__asm { mov& &&&dr7, edx }
& && &case 3u:
& && &case 0xBu:
& && &&&_CF = __CFADD__((_WORD)v63, v61);
& && &&&_OF = __OFADD__((_WORD)v63, v61);
& && &&&_ZF = (_WORD)v63 + v61 == 0;
& && &&&_SF = (signed __int16)((_WORD)v63 + v61) & 0;
& && &&&v61 += (signed __int16)v63;
& && &&&__asm { pushfw }
& && &case 5u:
& && &&&__asm { f2xm1 }
& && &case 6u:
& && &&&LOWORD(v42) = HIWORD(v46);
& && &&&HIWORD(v42) = v46;
& && &&&v41 = v42 % (signed __int16)v47;
& && &&&LOWORD(v47) = v42 / (signed __int16)v47;
& && &&&HIWORD(v46) = v41;
& && &case 7u:
& && &&&__asm { fld1 }
& && &case 8u:
& && &&&*(_WORD *)&v62[4] = **(_WORD **)&v62[2];
& && &case 9u:
& && &&&HIWORD(v46) += v46;
& && &case 0xAu:
& && &&&__asm { fstp& & tbyte ptr [esp] }
& && &case 0xCu:
& && &case 0x1Au:
& && &&&*(_DWORD *)&v62[2] = **(_DWORD **)&v62[2];
& && &case 0xDu:
& && &&&_CF = BYTE2(v39) != 0;
& && &&&_OF = BYTE2(v39) != 0;
& && &&&UNDEF(_ZF);
& && &&&UNDEF(_SF);
& && &&&HIWORD(v46) = (char)v46 * SBYTE2(v46);
& && &&&__asm { pushfw }
& && &case 0xEu:
& && &&&*(_BYTE *)v51 = v52;
& && &case 0xFu:
& && &&&_EAX = v46;
& && &&&__asm { mov& &&&cr6, eax }
& && &case 0x10u:
& && &case 0x27u:
& && &&&v51 = __readfsdword(v51);
& && &case 0x11u:
& && &case 0x22u:
& && &case 4u:
& && &case 0x12u:
& && &case 0x13u:
& && &&&__asm { fsubr& &dword ptr [esp+0] }
& && &case 0x14u:
& && &&&*(_WORD *)v55 = v56;
& && &case 0x15u:
& && &&&__asm { fldlg2 }
& && &case 0x16u:
& && &&&__asm { ftst }
& && &case 0x17u:
& && &&&*MK_FP(__GS__, v57) = v58;
& && &case 0x18u:
& && &&&v45 = *(_BYTE *)v32++;
& && &&&v31 += ~(~(v31 + v45 - 82) - 62);
& && &case 0x19u:
& && &&&__asm { fcos }
& && &case 0x1Bu:
& && &&&v46 = *(_DWORD *)v46;
& && &case 0x1Cu:
& && &&&__asm { fldpi }
& && &case 0x1Du:
& && &&&_CF = (unsigned __int8)(v59 * (unsigned __int64)(unsigned int)v60 && 32) != 0;
& && &&&_OF = (unsigned __int8)(v59 * (unsigned __int64)(unsigned int)v60 && 32) != 0;
& && &&&UNDEF(_ZF);
& && &&&UNDEF(_SF);
& && &&&v17 = v59 * v60;
& && &&&v59 = v59 * (unsigned __int64)(unsigned int)v60 && 32;
& && &&&v60 = v17;
& && &&&__asm { pushfw }
& && &case 0x1Eu:
& && &&&__ES__ = (unsigned __int16)v46;
& && &case 0x1Fu:
& && &&&__asm { fst& &&&qword ptr [esp+0] }
& && &case 0x20u:
& && &&&_CF = __CFSHL__(v53, v54);
& && &&&UNDEF(_OF);
& && &&&_ZF = v53 && v54 == 0;
& && &&&_SF = (signed __int16)(v53 && v54) & 0;
& && &&&*(_WORD *)&v54 = v53 && v54;
& && &&&__asm { pushfw }
& && &case 0x21u:
& && &&&v18 = *(_BYTE *)v32++;
& && &&&v19 = (unsigned __int8)-(char)(((unsigned __int8)(v31 + v18 - 112) ^ 0xC8) - 90);
& && &&&v31 += v19;
& && &&&HIWORD(v57) = *(_BYTE *)(v30 + 4 * v19);
& && &case 0x23u:
& && &&&*(int *)((char *)&v47 + 2) = *(_QWORD *)&v46 && v48;
& && &&&__asm { pushfw }
& && &case 0x24u:
& && &&&*(unsigned int *)((char *)&v46 + 2) = v46 && v47;
& && &case 0x25u:
& && &&&_ECX = *(_DWORD *)&v52;
& && &&&__asm { mov& &&&dr4, ecx }
& && &case 0x26u:
& && &&&v40 = *(_BYTE *)v32++;
& && &&&v31 += ~(~(v31 + v40 - 82) - 62);
& && &case 0x28u:
& && &&&v12 = (unsigned int)(v53 * *(signed __int16 *)&v54) && 16;
& && &&&_CF = (unsigned __int8)((unsigned int)(v53 * *(signed __int16 *)&v54) && 16) != 0;
& && &&&_OF = (unsigned __int8)((unsigned int)(v53 * *(signed __int16 *)&v54) && 16) != 0;
& && &&&UNDEF(_ZF);
& && &&&UNDEF(_SF);
& && &&&*(_WORD *)&v54 *= v53;
& && &&&v53 = v12;
& && &&&__asm { pushfw }
& && &case 0x29u:
& && &&&_CF = BYTE2(v39) != 0;
& && &&&_OF = BYTE2(v39) != 0;
& && &&&UNDEF(_ZF);
& && &&&UNDEF(_SF);
& && &&&HIWORD(v46) = (unsigned __int8)v46 * BYTE2(v46);
& && &&&__asm { pushfw }
& && &case 0x2Au:
& && &&&__asm { fnclex }
& && &case 0x2Bu:
& && &&&__asm { fcomp& &dword ptr [esp+0] }
& && &case 0x2Cu:
& && &&&__asm { fnstsw&&ax }
& && &&&LOWORD(v57) = _AX;
& && &case 0x2Du:
& && &&&v47 += v46;
& && &case 0x2Eu:
& && &&&HIWORD(v46) = *(_WORD *)v46;
对应的代码(部分,由于实在太长没补全):
CODE:& && & sub_49A105& && &proc near& && && && && &; CODE XREF: .jwx1:005BE04Cj
CODE:& && && && && && && && && && && && && && && &&&; .jwx1:005BE072j ...
CODE:& && & var_92& && && & = byte ptr -92h
CODE:& && & var_86& && && & = dword ptr -86h
CODE:& && & var_82& && && & = dword ptr -82h
CODE:& && & anonymous_0& &&&= byte ptr -46h
CODE:& && & anonymous_1& &&&= word ptr -42h
CODE:& && & var_16& && && & = dword ptr -16h
CODE:& && & var_12& && && & = dword ptr -12h
CODE:& && & var_6& && && &&&= byte ptr -6
CODE:& && & arg_4& && && &&&= dword ptr&&8
CODE:& && & arg_10& && && & = qword ptr&&14h
CODE:& && & ; FUNCTION CHUNK AT CODE:00499C9D SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE:00499CAD SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE:00499D0C SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE:00499D2C SIZE 0000000D BYTES
CODE:& && & ; FUNCTION CHUNK AT CODE:00499D73 SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE:00499D8F SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE:00499DC8 SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE:00499DE5 SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE:00499E38 SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE:00499E5F SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE:00499E85 SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE:00499EAF SIZE 0000000A BYTES
CODE:& && & ; FUNCTION CHUNK AT CODE:00499ED8 SIZE 0000000D BYTES
CODE:& && & ; FUNCTION CHUNK AT CODE:00499F3B SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE:00499FC5 SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE: SIZE 0000001C BYTES
CODE:& && & ; FUNCTION CHUNK AT CODE:0049A0EB SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE:0049A0FC SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE: SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE:0049A7CA SIZE 0000000F BYTES
CODE:& && & ; FUNCTION CHUNK AT CODE: SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE: SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE: SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE: SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE: SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE: SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE: SIZE 0000000F BYTES
CODE:& && & ; FUNCTION CHUNK AT CODE:0049AA7C SIZE 0000000B BYTES
CODE:& && & ; FUNCTION CHUNK AT CODE:0049AA99 SIZE 0000000B BYTES
CODE:& && & ; FUNCTION CHUNK AT CODE:0049AACC SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE:0049AAEB SIZE
CODE:& && & ; FUNCTION CHUNK AT CODE:0049AB03 SIZE 0000000F BYTES
CODE:& && & ; FUNCTION CHUNK AT CODE:0049AB2E SIZE 0000000A BYTES
CODE:& && & ; FUNCTION CHUNK AT .jwx1:005C237A SIZE 0000000A BYTES
CODE: 05C& && && && && &&&push& & ecx
CODE: 06E& && && && && &&&push& & ebx
CODE: 072& && && && && &&&push& & edi
CODE: 076& && && && && &&&push& & esp
CODE: 07A& && && && && &&&push& & ebp
CODE: 07E& && && && && &&&push& & esi
CODE: 082& && && && && &&&push& & edx
CODE: 086& && && && && &&&push& & eax
CODE: 08A& && && && && &&&pushf
CODE: 08E& && && && && &&&push& & 0
CODE: 092& && && && && &&&mov& &&&esi, [esp+28h]
CODE: 092& && && && && &&&cld
CODE: 092& && && && && &&&mov& &&&edx, offset unk_4A6000
CODE: 092& && && && && &&&call& & ds:__imp_GetCurrentThreadId
CODE: 092& && && && && &&&mov& &&&ebx, eax
CODE: 092& && && && && &&&mov& &&&ecx, 100h
CODE: 092& && && && && &&&mov& &&&edi, edx
CODE: 092& && && && && &&&repne scasd
CODE: 092& && && && && &&&jz& && &short loc_49A13D
CODE: 092& && && && && &&&mov& &&&eax, 100h
CODE: 092& && && && && &&&xchg& & eax, ecx
CODE: 092& && && && && &&&mov& &&&edi, edx
CODE: 092& && && && && &&&repne scasd
CODE: 092& && && && && &&&mov& &&&[edi-4], ebx
CODE:0049A13D
CODE:0049A13D& && & loc_49A13D:& && && && && && && && && &&&; CODE XREF: sub_49A105+29j
CODE: 092& && && && && &&&mov& &&&ebp, edi
CODE: 092& && && && && &&&sub& &&&edi, edx
CODE: 092& && && && && &&&shl& &&&edi, 1
CODE: 092& && && && && &&&lea& &&&edi, [edx+edi*8+3C0h]
CODE:0049A14A
CODE:0049A14A& && & loc_49A14A:& && && && && && && && && &&&; CODE XREF: CODE:00499CD9j
CODE: 092& && && && && &&&mov& &&&ebx, esi
CODE: 092& && && && && &&&add& &&&esi, [esp]
CODE:0049A14F
CODE:0049A14F& && & loc_49A14F:& && && && && && && && && &&&; CODE XREF: CODE:00499C8Fj
CODE:0049A14F& && && && && && && && && && && && && && && &&&; CODE:00499C98j ...
CODE: 092& && && && && &&&mov& &&&dl, [esi]
CODE: 092& && && && && &&&add& &&&dl, bl
CODE: 092& && && && && &&&inc& &&&dl
CODE: 092& && && && && &&&rol& &&&dl, 7
CODE: 092& && && && && &&&inc& &&&dl
CODE: 092& && && && && &&&rol& &&&dl, 1
CODE: 092& && && && && &&&inc& &&&dl
CODE: 092& && && && && &&&add& &&&esi, 1
CODE: 092& && && && && &&&add& &&&bl, dl
CODE: 092& && && && && &&&movzx& &eax, dl
CODE: 092& && && && && &&&jmp& &&&off_49A2B6[eax*4]
CODE:0049A16D
CODE:0049A16D& && & loc_49A16D:& && && && && && && && && &&&; DATA XREF: CODE:o
CODE: 092& && && && && &&&push& & esp
CODE: 096& && && && && &&&jmp& &&&loc_49A14F
CODE:0049A16E& && & ; ---------------------------------------------------------------------------
CODE: 096& && && && && &&&db 97h
CODE: 096& && && && && &&&dd 1F76h
CODE: 096 a_4d_2d_2d_2d_2 db '%.4d-%.2d-%.2d %.2d:%.2d:%.2d',0
CODE: 096& && && && && &&&align 4
CODE: 096& && && && && &&&push& & 0E9F1D453h
CODE: 09A& && && && && &&&jmp& &&&loc_5C237A& && &; 查看痕迹11&&time related
CODE:& && & ; ---------------------------------------------------------------------------
CODE: 0 09A& && && && && &&&pop& &&&ecx
CODE: 0 096& && && && && &&&pop& &&&small word ptr es:[ecx]
CODE: 0 094& && && && && &&&jmp& &&&loc_49A14F
CODE:0049A1AC& && & ; ---------------------------------------------------------------------------
CODE:0049A1AC
CODE:0049A1AC& && & loc_49A1AC:& && && && && && && && && &&&; CODE XREF: sub_49A105+61j
CODE:0049A1AC& && && && && && && && && && && && && && && &&&; DATA XREF: CODE:0049A36Eo
CODE:0049A1AC 0 092& && && && && &&&pop& &&&edx
CODE:0049A1AD 0 08E& && && && && &&&push& & small word ptr es:[edx]
CODE: 0 090& && && && && &&&jmp& &&&loc_49A14F
CODE:& && & ; ---------------------------------------------------------------------------
CODE: 0 090& && && && && &&&pop& &&&ecx
CODE: 0 08C& && && && && &&&push& & dword ptr gs:[ecx]
CODE:0049A1BA 0 090& && && && && &&&jmp& &&&loc_49A14F
CODE:0049A1BF& && & ; ---------------------------------------------------------------------------
CODE:0049A1BF 0 090& && && && && &&&pop& &&&ecx
CODE: 0 08C& && && && && &&&pop& &&&ax
CODE: 0 08A& && && && && &&&mov& &&&ss:[ecx], al
CODE: 0 08A& && && && && &&&jmp& &&&loc_49A14F
CODE:& && & ; ---------------------------------------------------------------------------
CODE:0049A1CA 0 08A& && && && && &&&db 0DFh
CODE:0049A1CB& && & ; ---------------------------------------------------------------------------
CODE:0049A1CB 0 08A& && && && && &&&sub& &&&al, 24h
CODE:0049A1CD 0 08A& && && && && &&&jmp& &&&loc_49A14F
CODE:0049A1CD& && & ; ---------------------------------------------------------------------------
CODE: 0 08A& && && && && &&&db 59h
CODE:& && & ; ---------------------------------------------------------------------------
CODE: 0 08A& && && && && &&&push& & small word ptr cs:[ecx]
CODE: 0 08C& && && && && &&&jmp& &&&loc_49A14F
CODE:0049A1DC& && & ; ---------------------------------------------------------------------------
CODE:0049A1DC 0 08C& && && && && &&&pop& &&&cx
CODE:0049A1DE 0 08A& && && && && &&&jmp& &&&loc_49A14F
CODE:& && & ; ---------------------------------------------------------------------------
CODE: 0 08A& && && && && &&&pop& &&&eax
CODE: 0 086& && && && && &&&pop& &&&dword ptr ss:[eax]
CODE: 0 082& && && && && &&&jmp& &&&loc_49A14F
CODE:0049A1EC& && & ; ---------------------------------------------------------------------------
CODE:0049A1EC& && && && && && && &&&db& && &66h
CODE:0049A1EC 0 082& && && && && &&&push& & ds
CODE:0049A1EE 0 084& && && && && &&&jmp& &&&loc_49A14F
CODE:& && & ; ---------------------------------------------------------------------------
CODE: 0 084& && && && && &&&mov& &&&edx, cr1
CODE: 0 084& && && && && &&&push& & edx
CODE: 0 088& && && && && &&&jmp& &&&loc_49A14F
CODE:0049A1FC& && & ; ---------------------------------------------------------------------------
CODE:0049A1FC 0 088& && && && && &&&pop& &&&dx
CODE:0049A1FE 0 086& && && && && &&&pop& &&&ax
CODE: 084& && && && && &&&pop& &&&cx
CODE: 082& && && && && &&&div& &&&cx
CODE: 082& && && && && &&&push& & ax
CODE: 084& && && && && &&&push& & dx
CODE: 086& && && && && &&&jmp& &&&loc_49A14F
CODE:0049A20E& && & ; ---------------------------------------------------------------------------
CODE: 086& && && && && &&&pop& &&&ecx
CODE: 082& && && && && &&&not& &&&ecx
CODE: 082& && && && && &&&not& &&&[esp+82h+var_82]
CODE: 082& && && && && &&&and& &&&[esp+82h+var_82], ecx
CODE: 082& && && && && &&&pushfw
CODE: 084& && && && && &&&jmp& &&&loc_49A14F
CODE:0049A21E& && & ; ---------------------------------------------------------------------------
CODE:0049A21E
CODE:0049A21E& && & loc_49A21E:& && && && && && && && && &&&; CODE XREF: sub_49A105+61j
CODE:0049A21E& && && && && && && && && && && && && && && &&&; DATA XREF: CODE:0049A34Eo
CODE: 092& && && && && &&&lodsb
CODE: 092& && && && && &&&add& &&&al, bl
CODE: 092& && && && && &&&sub& &&&al, 52h
CODE: 092& && && && && &&&not& &&&al
CODE: 092& && && && && &&&sub& &&&al, 3Eh
CODE: 092& && && && && &&&not& &&&al
CODE: 092& && && && && &&&add& &&&bl, al
CODE: 092& && && && && &&&push& & ax
CODE: 094& && && && && &&&jmp& &&&loc_49A14F
CODE:& && & ; ---------------------------------------------------------------------------
CODE:& && & loc_49A232:& && && && && && && && && &&&; CODE XREF: sub_49A105+61j
CODE:& && && && && && && && && && && && && && && &&&; DATA XREF: CODE:0049A36Ao
CODE: 092& && && && && &&&pop& &&&ecx
CODE: 08E& && && && && &&&add& &&&dword ptr [esp+8Eh+var_92+4], ecx
CODE: 08E& && && && && &&&jmp& &&&loc_49A14F
CODE:0049A23B& && & ; ---------------------------------------------------------------------------
CODE: 08E& && && && && &&&pop& &&&edx
CODE: 08A& && && && && &&&mov& &&&dr5, edx
CODE: 08A& && && && && &&&jmp& &&&loc_49A14F
CODE:& && & ; ---------------------------------------------------------------------------
CODE: 08A& && && && && &&&pop& &&&eax
CODE: 086& && && && && &&&mov& &&&dr3, eax
CODE: 086& && && && && &&&jmp& &&&loc_49A14F
CODE:0049A24D& && & ; ---------------------------------------------------------------------------
CODE: 086& && && && && &&&fadd& & [esp+86h+var_86]
CODE: 086& && && && && &&&jmp& &&&loc_49A14F
CODE:& && & ; ---------------------------------------------------------------------------
CODE: 086& && && && && &&&pop& &&&eax
CODE: 082& && && && && &&&push& & small word ptr gs:[eax]
CODE: 084& && && && && &&&jmp& &&&loc_49A14F
CODE:0049A25F& && & ; ---------------------------------------------------------------------------
CODE: 084& && && && && &&&mov& &&&dx, fs
CODE: 084& && && && && &&&push& & dx
CODE: 086& && && && && &&&jmp& &&&loc_49A14F
CODE:& && & ; ---------------------------------------------------------------------------
CODE: 086& && && && && &&&fprem
CODE: 086& && && && && &&&jmp& &&&loc_49A14F
CODE:& && & ; ---------------------------------------------------------------------------
CODE: 086& && && && && &&&fst& &&&[esp+86h+var_86]
CODE: 086& && && && && &&&jmp& &&&loc_49A14F
CODE:& && & ; ---------------------------------------------------------------------------
CODE: 086& && && && && &&&fldln2
CODE: 086& && && && && &&&jmp& &&&loc_49A14F
CODE:0049A27F& && & ; ---------------------------------------------------------------------------
CODE: 086& && && && && &&&fprem1
CODE: 086& && && && && &&&jmp& &&&loc_49A14F
CODE:& && & ; ---------------------------------------------------------------------------
CODE: 086& && && && && &&&pop& &&&eax
CODE: 082& && && && && &&&mov& &&&cr2, eax
CODE: 082& && && && && &&&jmp& &&&loc_49A14F
CODE:0049A28A& && & sub_49A105& && & sp-analysis failed
CODE:0049A28A
CODE:0049A28F& && & ; ---------------------------------------------------------------------------
CODE:0049A28F& && && && && && && &&&fisub& &word ptr [esp]
CODE:& && && && && && && &&&jmp& &&&loc_49A14F
CODE:& && & ; ---------------------------------------------------------------------------
CODE:& && & ; START OF FUNCTION CHUNK FOR sub_49A105
CODE:& && & loc_49A297:& && && && && && && && && &&&; CODE XREF: sub_49A105+61j
CODE:& && && && && && && && && && && && && && && &&&; DATA XREF: CODE:0049A35Eo
CODE: 0CA& && && && && &&&fnclex
CODE: 0CA& && && && && &&&jmp& &&&loc_49A14F
CODE:& && & ; END OF FUNCTION CHUNK FOR sub_49A105
CODE:0049A29E& && & ; ---------------------------------------------------------------------------
CODE:0049A29E& && && && && && && &&&pop& &&&ecx
CODE:0049A29F& && && && && && && &&&pop& &&&dword ptr fs:[ecx]
CODE:& && && && && && && &&&jmp& &&&loc_49A14F
CODE:& && & ; ---------------------------------------------------------------------------
CODE:& && && && && && && &&&push& & ebx
CODE:& && & ; ---------------------------------------------------------------------------
CODE:& && && && && && && &&&db 0Fh
CODE:& && && && && && && &&&db 0AC
CODE:0049A2AA& && && && && && && &&&db&&8B
CODE:0049A2AB& && && && && && && &&&db 0C0
下面还有很多类似的,省略了。
在调试中,每次程序运行某个新功能(如点击一个按钮),都会执行该段代码。个人感觉,是传说中的一种保护机制+花指令,不知道大牛能否指点下。
比如,DeDe中显示的某个按钮对应的RVA地址是0049A2AC,内容如下:
loc_49A2AC:& && && && && && && && && &&&; DATA XREF: CODE:00499B64o
CODE:0049A2AC& && && && && && && &&&push& & 7BA49400h
CODE:& && && && && && && &&&jmp& &&&loc_5BE122& && &;
loc_5BE122:& && && && && && && && && &&&; CODE XREF: CODE:j
.jwx1:005BE122& && && && && && && && && && && && && && && &&&; .jwx1:005BF33Dj
.jwx1:005BE122& && && && && && && &&&push& & offset dword_4AE970
.jwx1:005BE127& && && && && && && &&&jmp& &&&sub_49A105
基本每个按钮都类似,两次jmp跳转后到了sub_49A105,然后该函数内部经历颠来倒去的执行后,再要执行一段pushf起始、popf+retn结束的代码,才执行程序真正的算法的代码。比如ollydbg中Ctrl+F9,到达0x005becd5(此时ollydbg的反汇编已经出错,或者一旦移动指令的滚动条,就出错了,保护起作用了?)
.jwx1:005BECD5& && && && && && && &pushf& && && && && && & ; function:view
.jwx1:005BECD6& && && && && && && &neg& &&&eax
.jwx1:005BECD8& && && && && && && &lea& &&&eax, [eax+69FB4EBDh]
.jwx1:005BECDE& && && && && && && &inc& &&&edx
.jwx1:005BECDF& && && && && && && &neg& &&&edi
.jwx1:005BECE1& && && && && && && &neg& &&&esi
.jwx1:005BECE3& && && && && && && &xor& &&&ecx, 9EDF567h
.jwx1:005BECE9& && && && && && && &neg& &&&edx
.jwx1:005BECEB& && && && && && && &not& &&&eax
.jwx1:005BECED& && && && && && && &ror& &&&edi, 16h
.jwx1:005BECF0& && && && && && && &not& &&&ebx
.jwx1:005BECF2& && && && && && && &not& &&&ecx
.jwx1:005BECF4& && && && && && && &rol& &&&ebx, 2
.jwx1:005BECF7& && && && && && && &xor& &&&eax, 0F9728541h
.jwx1:005BECFC& && && && && && && &dec& &&&ecx
.jwx1:005BECFD& && && && && && && &not& &&&ecx
.jwx1:005BECFF& && && && && && && &add& &&&ebx, 434F8044h
.jwx1:005BED05& && && && && && && &neg& &&&ecx
.jwx1:005BED07& && && && && && && &rol& &&&edx, 16h
.jwx1:005BED0A& && && && && && && &not& &&&edx
.jwx1:005BED0C& && && && && && && &xor& &&&esi, 6E86D853h
.jwx1:005BED12& && && && && && && &bswap& &ebx
.jwx1:005BED14& && && && && && && &sub& &&&ecx, 54CCA5EFh
.jwx1:005BED1A& && && && && && && &rol& &&&ebx, 1Eh
.jwx1:005BED1D& && && && && && && &sub& &&&edx, 36E0F994h
.jwx1:005BED23& && && && && && && &xor& &&&edx, 61305FE6h
.jwx1:005BED29& && && && && && && &lea& &&&edi, [edi+695E8B0Eh]
.jwx1:005BED2F& && && && && && && &lea& &&&ebx, [ebx+55BB756h]
.jwx1:005BED35& && && && && && && &neg& &&&ebp
.jwx1:005BED37& && && && && && && &xor& &&&ebp, 0F0A55AF4h
.jwx1:005BED3D& && && && && && && &inc& &&&esi
.jwx1:005BED3E& && && && && && && &neg& &&&ebp
.jwx1:005BED40& && && && && && && &not& &&&esi
.jwx1:005BED42& && && && && && && &dec& &&&ebp
.jwx1:005BED43& && && && && && && &rol& &&&ebp, 17h
.jwx1:005BED46& && && && && && && &bswap& &ebp
.jwx1:005BED48& && && && && && && &neg& &&&esi
.jwx1:005BED4A& && && && && && && &ror& &&&edi, 8
.jwx1:005BED4D& && && && && && && &xor& &&&dword ptr [esp], 8D5h
.jwx1:005BED54& && && && && && && &rol& &&&esi, 11h
.jwx1:005BED57& && && && && && && &popf
.jwx1:005BED58& && && && && && && &retn
.jwx1:005BED58& &&&; ---------------------------------------------------------------------------
上述这段代码执行后,程序执行正常的程序部分(位于CODE节中)
pushf和popf之间的代码是无效代码么?
如果创建函数,F5结果如下:
int __usercall sub_5BECD5&eax&(char _CF&cf&, char _ZF&zf&, char _SF&sf&, char _OF&of&, int a5&eax&)
&& // eax@1
&&__asm { pushf }
&&result = ~( - a5) ^ 0xF9728541;
&&__asm { popf }
这样看来还是有些用的。。。
执行完该正常部分函数后,又回到如下代码:
.jwx1:005BE31D& && && && && && && &push& & 5557A4h
.jwx1:005BE322& && && && && && && &jmp& &&&sub_49A105
可见最后又回到了sub_49A105。sub_49A105这个位置的代码几乎就是类似中枢神经的位置了,有点像派遣函数的作用。似乎所有的程序正常功能的使用必须通过sub_49A105才能执行。
此外,sub_49A105的F5经常出现问题,可能是对应的汇编代码实在比较特殊吧(好多花指令的手法么?)。
基本的保护机制已经分析完毕,看看高手知道或者用过这种保护方式的,指点下吧,不知道我上面的分析有什么错误或者缺陷的么。
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
路过,纯学习。
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限25
等待大牛解析,学习思路
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限30
IDA看起来好复杂
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限20
进来学习下,等大牛解决
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限30
留个名 等大牛来
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限30
呵呵友情帮顶 看着都头疼啊
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
xiaobang 发表于
IDA看起来好复杂
IDA 只能作为参考,因为我设置的缘故,显示的反编译的代码也是不同的
直接看汇编的是大牛啊
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
在别的论坛,有人说可能是VMP的壳,我想了下是有可能的:
1。保护了某个特定的函数
2。VMP中的区段的名字依稀记得是可以自定义的
仅猜测,不知道熟悉VMP壳的大牛是否可以确认下
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
免责声明:吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。
( 京ICP备号 | 京公网安备 87号 )
Powered by Discuz!
Comsenz Inc.

我要回帖

 

随机推荐