首页
社区
课程
招聘
[旧帖] [求助]懂内联汇编帮帮我,自己在写一个keygen 0.00雪花
发表于: 2012-2-21 22:26 1931

[旧帖] [求助]懂内联汇编帮帮我,自己在写一个keygen 0.00雪花

2012-2-21 22:26
1931

 int x1,x2;//x1和x2是注册码的2个部分
char *name="pediy";//为什么用指针的时候出的结果x1,x2不正确           
 //char  name[20]="pediy";//用char数组结果正确,没有任何问题
__asm 
	{
 lea esi,name
  xor ecx,ecx  //r_esi=1242244
  L001:
  movsx eax,byte ptr ds:[esi]//eax=6
  mov ebx,eax  //eax=103 esi 1242244  eax 96?
  sub esi,edx
  shl eax,04h
  shr ebx,05h
  xor eax,ebx
  add eax,026h
  xor eax,ecx
  add ecx,eax
  inc esi
  cmp byte ptr ds:[esi],00h

  jnz L001
  mov eax,00C0DEFh
  sub eax,ecx
  imul eax,eax	
  mov x1,ecx
  mov x2,eax
	  
 }            


我想用指针,不用char数组,解决这个问题求各位帮帮我,谢谢了!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 859
活跃值: (309)
能力值: ( LV11,RANK:180 )
在线值:
发帖
回帖
粉丝
2
char *name="pediy";

mov esi,name
2012-2-21 22:49
0
雪    币: 37
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
能说的详细点么,你的意思是把lea esi,name改成mov esi,name?
2012-2-21 23:06
0
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
char *name本身就是对字符指针,楼主用lea esi,name 也就是取name自身指针存放的地址,而不是字符串“pediy”地址
2012-2-22 01:11
0
雪    币: 37
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
那应该咋修改呢?
我主要想用getdlgitemtext,获取编辑框里面的字符串,然后输出到另一个编辑框里,但是这样也会出错,不知道咋弄了。
TCHAR cCode[100]={0};
    int x1,x2;
TCHAR szText[256]={0};
GetDlgItemText(IDC_EDIT1, szText, sizeof(szText));
__asm 
	{
		
 lea esi,szText
  xor ecx,ecx
  L001:
  movsx eax,byte ptr ds:[esi]
  mov ebx,eax  
  sub esi,edx
  shl eax,04h
  shr ebx,05h
  xor eax,ebx
  add eax,026h
  xor eax,ecx
  add ecx,eax
  inc esi
  cmp byte ptr ds:[esi],00h  //KeyGen.exe 中的 0x00675527 处有未经处理的异常: 0xC0000005: 读取位置 0xfffded19 时发生访问冲突

  jnz L001
  mov eax,00C0DEFh
  sub eax,ecx
  imul eax,eax	
  mov x1,ecx
  mov x2,eax
	  
 }

wsprintf(cCode,TEXT("CM2-%.4X-%.4X"),x1,x2);
::SetDlgItemText(AfxGetMainWnd()->m_hWnd,IDC_EDIT2,cCode);
 

2012-2-22 02:20
0
雪    币: 13
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
nce
6
最近对keygen感兴趣
2015-2-5 14:47
0
雪    币: 704
活跃值: (3360)
能力值: ( LV7,RANK:140 )
在线值:
发帖
回帖
粉丝
7
sub esi,edx
这个edx有问题。你可以debug模式调试一下啊,看看内存,看看esi指针的变化。
跟一下就知道哪条指令出问题了

擦居然挖坟了
2015-2-8 15:36
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
lea esi,name 没有错吧。是提取name内存处的数据。。。。
2015-2-8 16:19
0
游客
登录 | 注册 方可回帖
返回
//