|
|
请教一个思路,注册码是明码在注册表中。
最初由 cctv 发布 可能出现明码,但也可能不出现明码。 这样的程序一般对操作注册表的API函数上下断即可。 |
|
|
|
|
|
[求助]请问各位大大,以下代码为什么有后面的问题?能告诉我解决方法吗?
//试试这样,不过没有测试,不保证还有没有错。 procedure DoKongFu ();cdecl; const addr:DWORD = $0050C11B; begin asm push ebp mov ebp,esp sub esp,$0C94 push ebx push esi push edi xor ebx,ebx mov ecx,$2FE xor eax,eax lea edi,dword ptr [ebp-$C8E] mov word ptr [ebp-$C90],bx mov word ptr [ebp-$C92],bx mov word ptr [ebp-$C94],bx rep stos dword ptr [edi] stos word ptr [edi] mov eax,dword ptr [$1201774] mov dword ptr [eax+$1B4],ebx mov ecx,dword ptr [$1201774] mov eax,dword ptr [ebp+8] mov byte ptr [ecx+$1BC],bl mov edx,dword ptr [$1201774] mov dword ptr [edx+$1B8],-1 jmp addr end; end; procedure UseKongFu(attr:DWORD); var pKongFu:pointer; begin pKongFu := GetKongFuPtr(attr); // 根据武功ID获取其对象指针 if pKongFu <> nil then //指针正确 begin asm push eax mov eax,pKongFu //武功对象指针 push eax call DoKongFu //调用 add esp,4 pop eax end; end; end; |
|
|
call别人程序的内部函数
自己试试不就明白了,如果不行,那么调用这个函数就全部用内嵌汇编完成也一样。 __asm{ mov ecx,0xf19c20 push 985555 push 785 call 0062C6D0 } |
|
|
|
|
|
call别人程序的内部函数
这个问题实在不好回答。说简单也可以,说不简单也可以(因为你并没有说出[ebp-c]的值是如何得到的),简单的是如果[ebp-c]的值是直接赋值给[ebp-c]的,如:mov [ebp-c],xxxxxxxx,那么你只须将xxxxxxxx的值直接传给ecx就行了(mov ecx,xxxxxxxx)。难的是如果在传给[ebp-c]的值是前面经过复杂运算所得到的值,如: .... .... .... //前面经过复杂运算 mov [ebp-c],xxxxxxxx //最后将值赋给[ebp-c]的临时变量里。 那么,在你的Dll里也必须重复执行前面复杂的运算,最后将得到的值赋给ecx就行了。如: ..... ..... ..... mov ecx.xxxxxxxx push 1 push 985555 push 785 call 0062C6D0 |
|
|
[求助]pe文件判断的问题
将这一句if (hMapFile=NULL)改成if (!hMapFile)就行了。 |
|
|
[求助]请问各位大大一个VC2DELPHI的问题?
procedure DoObject(idx:LongWord); var pPlayer:pChar; addr:LongWord; begin pPlayer := pChar(pLongWord($11EAC88)^); pLongWord($B0FF58)^ := idx; addr := $43BC10; asm mov ecx,pPlayer push 0 push $78 push 3 call addr end; end; |
|
|
|
|
|
|
|
|
请高手高手进来看看
用SetTimer下断或用DeDe找到Timer控件事件地址,再对这个事件地址下断。 |
|
|
高手,关于RadAsm的问题 在线等啊...
invoke MessageBox NULL, addr msg, NULL, MB_OK ;?笔误吧? invoke MessageBox,NULL, addr msg, NULL, MB_OK 或许是RadASM的LIB的Path没配好吧。 |
|
|
[求助]请问是花指令还是伪装,尝试手动清除没有效果
PEID已经告诉你没有加壳。 |
|
|
[求助]请问是花指令还是伪装,尝试手动清除没有效果
不是花指令,是BC++程序的入口标准代码。 |
|
|
[求助]请教各位老大一段代码
fcom //比较st(0)和st(1)的数 fcomp //比较st(0)和st(1)的数,并弹出st(0)的数。 fcompp //比较st(0)和st(1)的数,并弹出st(0)和st(1)的数。 |
|
|
弱弱的请教个C语言数学题,热心的朋友请进。
//我的是这样的。 #include <windows.h> #include <stdio.h> #include <stdlib.h> char* _mul(char* szOutBuff,char szStr1[],char szStr2[]) { int iLen1,iLen2,i,j; WCHAR szTmp1[255]={0},Tmp; char szTmp2[255]={0}; iLen1 = strlen(szStr1); iLen2 = strlen(szStr2); for (i=0; i<=iLen1-1; i++) { for (j=0; j<=iLen2-1; j++) { szTmp1[i+j] += ((szStr1[i]-'0')*(szStr2[j]-'0')); } } for (i=iLen1+iLen2-2; i>=0; i--) { Tmp = szTmp1[i] / 10; szTmp1[i] %= 10; if (szTmp1[i] >= 10) szTmp2[i+1] = '0'; else szTmp2[i+1] = szTmp1[i] + '0'; szTmp1[i-1] += Tmp; } if (Tmp >= 10 || Tmp == 0) strcpy(szTmp2,&szTmp2[1]); else szTmp2[i+1] = Tmp + '0'; strcpy(szOutBuff,szTmp2); return szOutBuff; } int main() { char szStr1[255]={0},szStr2[255]={0},szStr3[255]={0}; printf("-------------------Code by zhanshen[DFCG][RCT]-------------------\n"); printf("please Input you Number1:"); scanf("%s",&szStr2); printf("\n"); printf("please Input you Number2:"); scanf("%s",&szStr3); printf("\n"); printf("Number1:%s\nNumber2:%s\nNumber1*Number2=%s\n",szStr2,szStr3,_mul(szStr1,szStr2,szStr3)); system("pause"); return 0; } |
|
|
|
|
|
|
|
|
呵呵,仿OD插件的一个窗口管理工具源码。
谢谢大家的支持。 最初由 CCDebuger 发布 名字就不用改了,永远都属于小虾。 最初由 qqmei 发布 不是 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
勋章
兑换勋章
证书
证书查询 >
能力值