哪位朋友帮我翻译C内嵌的汇编到DELPHI里调用,谢谢(200)

  • 主题发起人 主题发起人 gaiyueyue
  • 开始时间 开始时间
G

gaiyueyue

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟是初学者,刚刚知道C语言内嵌的汇编不能直接放到DELPHI中调用,天啊,我也搞不定呀,哪位好心人帮我翻译一下吧,让我在DELPHI里面调用这三个涵数呀,谢谢啦,我是新手,关照一下吧void __declspec(naked) patch_code_MiBao(){ _asm { pushad mov edx,esi xor ecx,ecx mov cl,3 lea edi,MiBao_Code lea esi,[edx+018h] rep movsd xor ecx,ecx mov cl,3 lea edi,MiBoa_Valu lea esi,[edx+038h] rep movsd // lea eax,MiBao_Code push eax lea eax,MiBoa_Valu push eax call my_MessageBox add esp,8 // popad mov eax,[edx+0D4h] jmp eax }}void __declspec(naked) patch_code_AccountPwd(){ _asm { pushad mov ecx,Flag_IsAccandPwd mov eax,[esp+30h] cmp eax,ecx jnz flag_none xor ecx,ecx mov cl,4 mov esi,[esp+28h] lea edi,User_Pwd rep movsd xor ecx,ecx mov cl,4 mov esi,[esp+48h] lea edi,User_Acc rep movsd lea eax,User_Acc push eax lea eax,User_Pwd push eax call my_MessageBox add esp,8flag_none: popad mov eax,jmp_reco_call_addr jmp eax }}void __declspec(naked) patch_code_ChangeMiBao(){ _asm { cmp [esp-0ch],40h jnz Flag_back pushfd pushad xor ecx,ecx add edi,29h lea esi,MiBao_HookDate mov cl,6 rep movsb popad popfdFlag_back: lea esi,[edi+2] mov eax, edi ret }}
 
不用翻译,DELPHI支持内嵌汇编_asm{}改为asmend;就可以了
 
不行啊,那样是编译不过去的呀
 
哪位大哥指点我一下吧,我按照楼上的说的那样改了,但是编译不过,好像写法要改吧?怎以改呀?
 
快来人帮帮我呀,谢谢啊
 
把报错信息贴出来看看,另外,你的汇编代码中有call my_MessageBox在Delphi中就要有my_MessageBox的具体实现,你要注意是否还有别的方法没有实现,如果是纯粹的汇编代码是可以很方便地移植到D的。
 
哪位朋友帮忙在DELPHI里面编译一下,告诉我都需要改哪里才能通过编译呀最下面那个函数里面把cmp [esp-0ch],40h更改成cmp [esp-0ch],$40这样,这句可以编译过去,但是下面那个Flag_back提示没定义类型,这要怎么办呢?
 
好心人快来帮帮我吧
 
我再加分啊,帮我弄弄呀朋友们,要多少分自己说
 
初学者就不要做外挂了。
 
后退
顶部