文章作者: wangshq397
无key脱arm4.4单进程
用arm4.4汉化版,本文只讨论key,加壳选项只选运行时需要密钥,输入密钥iw9LWgs4FPbkw8JVhq2E,其他选项全不选。
修改版od载入,shift+F9运行,弹出提示,任意输入key,在od命令行下断:bpstrlen
点确定,中断后alt+F9返回,
00A149E4E835060100call00A2501E
00A149E985C0testeax,eax=》返回这里
00A149EB59popecx
00A149EC741Ajeshort00A14A08
00A149EE8B0DE01EA300movecx,dwordptrds:[A31EE0]
00A149F48D8500FFFFFFleaeax,dwordptrss:[ebp-100]
00A149FA50pusheax
00A149FBE87D77FEFFcall009FC17D
00A14A0084C0testal,al=》测试标志位,修改al=1
00A14A027404jeshort00A14A08
00A14A046A01push1
00A14A06EB4Cjmpshort00A14A54=》跳走吧
删除断点,设置断点:BPGetModuleHandleA,shift+F9运行,中断后取消断点,alt+M下内存断点。
如下:
内存映射,项目50
地址=01001000
大小=00016000(90112.)
宿主=350s01000000
区段=.text
类型=Imag01001002
访问=R
初始访问=RWE
shift+F9运行,中断后到OEP,1次不到就2次、3次。
0100E3B76A60push60
0100E3B968E01C0001push350s.01001CE0
0100E3BEE831120000call350s.0100F5F4
0100E3C3BF94000000movedi,94
0100E3C88BC7moveax,edi
0100E3CAE881130000call350s.0100F750
0100E3CF8965E8movdwordptrss:[ebp-18],esp
0100E3D28BF4movesi,esp
0100E3D4893Emovdwordptrds:[esi],edi
0100E3D656pushesi
0100E3D7FF15AC10000>calldwordptrds:[10010AC];kernel32.GetVersionExA
0100E3DD8B4E10movecx,dwordptrds:[esi+10]
dump和修复略。
加壳程序见附件。附件:350s.rar