首页
社区
课程
招聘
[原创]Inpaint 5.2 算法分析和Delphi注册机源码
发表于: 2013-8-20 10:35 8558

[原创]Inpaint 5.2 算法分析和Delphi注册机源码

2013-8-20 10:35
8558

Inpaint(去水印软件)是一款去除图片背景中瑕疵的图片处理软件。如果你的图片中有一些你不满意的瑕疵,你不必动用庞大PS来兴师动众处理,只需要使用Teorex.Inpaint就可以轻松搞定。运用选择工具选取你希望去除的对象,然后选择伪装,Inpaint(去水印软件)就会自动计算去除对象周围背景的颜色和分布,利用周围的背景自动填充你去除的对象,从而使你的图片看上去非常完美,让瑕疵轻松去除,不留痕迹。


1、PEID查壳:Microsoft Visual C++ v6.0 。

2、输入任意假码,弹出错误提示,如下图:


3、搜索该错误提示字符串,来到关键代码段:

00479390  /$  55            push ebp
00479391  |.  8BEC          mov ebp,esp
00479393  |.  6A FF         push -1
00479395  |.  68 C8FBAC00   push Inpaint.00ACFBC8                    ;  SE 句柄安装
0047939A  |.  64:A1 0000000>mov eax,dword ptr fs:[0]
004793A0  |.  50            push eax
004793A1  |.  64:8925 00000>mov dword ptr fs:[0],esp
004793A8  |.  83EC 0C       sub esp,0C
004793AB  |.  56            push esi
004793AC  |.  8BF1          mov esi,ecx
004793AE  |.  8B45 08       mov eax,[arg.1]
004793B1  |.  8378 08 00    cmp dword ptr ds:[eax+8],0
004793B5  |.  C745 FC 00000>mov [local.1],0
004793BC  |.  0F84 EA000000 je Inpaint.004794AC
004793C2  |.  8D4D 08       lea ecx,[arg.1]
004793C5  |.  51            push ecx                                 ; /Arg1
004793C6  |.  E8 B5BDFFFF   call Inpaint.00475180                    ; \算法关键CALL
004793CB  |.  83C4 04       add esp,4
004793CE  |.  84C0          test al,al
004793D0  |.  0F84 D6000000 je Inpaint.004794AC                      ;  不能跳
004793D6  |.  8B8E 88010000 mov ecx,dword ptr ds:[esi+188]
004793DC  |.  6A 00         push 0
004793DE  |.  E8 6D3F1900   call Inpaint.0060D350
004793E3  |.  8B8E 8C010000 mov ecx,dword ptr ds:[esi+18C]
004793E9  |.  6A 00         push 0
004793EB  |.  E8 603F1900   call Inpaint.0060D350
004793F0  |.  8D4D 08       lea ecx,[arg.1]
004793F3  |.  51            push ecx
004793F4  |.  8D4E 14       lea ecx,dword ptr ds:[esi+14]
004793F7  |.  E8 64ED5600   call Inpaint.009E8160
004793FC  |.  6A FF         push -1
004793FE  |.  68 3C41BD00   push Inpaint.00BD413C                    ;  ASCII  "Inpaint"
00479403  |.  E8 48005400   call Inpaint.009B9450
00479408  |.  8945 F0       mov [local.4],eax                        ; |
0047940B  |.  6A 00         push 0                                   ; |Arg3 = 00000000
0047940D  |.  8D55 EC       lea edx,[local.5]                        ; |
00479410  |.  68 8C4EBD00   push Inpaint.00BD4E8C                    ; |Arg2 = 00BD4E8C ASCII  " Thank you for registering!"
00479415  |.  52            push edx                                 ; |Arg1
00479416  |.  C645 FC 03    mov byte ptr ss:[ebp-4],3                ; |
0047941A  |.  E8 41ADFFFF   call Inpaint.00474160                    ; \Inpaint.00474160
0047941F  |.  83C4 14       add esp,14
00479422  |.  6A 00         push 0
00479424  |.  51            push ecx
00479425  |.  8BCC          mov ecx,esp
00479427  |.  8965 E8       mov [local.6],esp
0047942A  |.  50            push eax
0047942B  |.  8D45 F0       lea eax,[local.4]
0047942E  |.  50            push eax
0047942F  |.  56            push esi
00479430  |.  C645 FC 04    mov byte ptr ss:[ebp-4],4
00479434  |.  C701 00040000 mov dword ptr ds:[ecx],400
0047943A  |.  E8 91BA1B00   call Inpaint.00634ED0
0047943F  |.  8B4D EC       mov ecx,[local.5]
00479442  |.  83C4 14       add esp,14
00479445  |.  C645 FC 03    mov byte ptr ss:[ebp-4],3
00479449  |.  83CA FF       or edx,FFFFFFFF
0047944C  |.  F0:0FC111     lock xadd dword ptr ds:[ecx],edx
00479450  |.  75 0C         jnz short Inpaint.0047945E
00479452  |.  8B45 EC       mov eax,[local.5]
00479455  |.  50            push eax
00479456  |.  E8 F5DC5300   call Inpaint.009B7150
0047945B  |.  83C4 04       add esp,4
0047945E  |>  8B4D F0       mov ecx,[local.4]
00479461  |.  C645 FC 00    mov byte ptr ss:[ebp-4],0
00479465  |.  83CA FF       or edx,FFFFFFFF
00479468  |.  F0:0FC111     lock xadd dword ptr ds:[ecx],edx
0047946C  |.  75 0C         jnz short Inpaint.0047947A
0047946E  |.  8B45 F0       mov eax,[local.4]
00479471  |.  50            push eax
00479472  |.  E8 D9DC5300   call Inpaint.009B7150
00479477  |.  83C4 04       add esp,4
0047947A  |>  8B4D 08       mov ecx,[arg.1]
0047947D  |.  C745 FC FFFFF>mov [local.1],-1
00479484  |.  83CA FF       or edx,FFFFFFFF
00479487  |.  F0:0FC111     lock xadd dword ptr ds:[ecx],edx
0047948B  |.  75 0C         jnz short Inpaint.00479499
0047948D  |.  8B45 08       mov eax,[arg.1]
00479490  |.  50            push eax
00479491  |.  E8 BADC5300   call Inpaint.009B7150
00479496  |.  83C4 04       add esp,4
00479499  |>  B0 01         mov al,1
0047949B  |.  8B4D F4       mov ecx,[local.3]
0047949E  |.  64:890D 00000>mov dword ptr fs:[0],ecx
004794A5  |.  5E            pop esi
004794A6  |.  8BE5          mov esp,ebp
004794A8  |.  5D            pop ebp
004794A9  |.  C2 0400       retn 4
004794AC  |>  6A FF         push -1
004794AE  |.  68 3C41BD00   push Inpaint.00BD413C                    ;  ASCII "Inpaint"
004794B3  |.  E8 98FF5300   call Inpaint.009B9450
004794B8  |.  8945 F0       mov [local.4],eax                        ; |
004794BB  |.  6A 00         push 0                                   ; |Arg3 = 00000000
004794BD  |.  8D55 EC       lea edx,[local.5]                        ; |
004794C0  |.  68 5C4EBD00   push Inpaint.00BD4E5C                    ; |Arg2 = 00BD4E5C ASCII "Serial key is invalid. Please check all fields."
004794C5  |.  52            push edx                                 ; |Arg1
004794C6  |.  C645 FC 01    mov byte ptr ss:[ebp-4],1                ; |
004794CA  |.  E8 91ACFFFF   call Inpaint.00474160                    ; \Inpaint.00474160
004794CF  |.  83C4 14       add esp,14
004794D2  |.  6A 00         push 0
004794D4  |.  51            push ecx
004794D5  |.  8BCC          mov ecx,esp
004794D7  |.  8965 E8       mov [local.6],esp
004794DA  |.  50            push eax

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

上传的附件:
收藏
免费 5
支持
分享
最新回复 (6)
雪    币: 45
活跃值: (55)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
收藏,练习下。
2013-8-20 11:37
0
雪    币: 269
活跃值: (51)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
好文章,果断下载收藏
2013-8-20 17:23
0
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这个跟马不是明码的吧?试着按照楼主的教程跟了,,
2013-8-20 23:54
0
雪    币: 20923
活跃值: (4120)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
谢谢分享!

Impaint 5.4 有点区别 :
//计算生成RegCode[12]
  n1 := Byte(RegCode[9]) * Byte(RegCode[10]) * Byte(RegCode[11]);
  n2 := n1 mod $19;
  n3 := n2 + $41;
RegCode[12] := Char(n3);

//随机产生RegCode[13]
  RegCode[13] := CapitalLetters[Random(25)+1];

//计算生成RegCode[14]
  n1 := Byte(RegCode[3]) + Byte(RegCode[6])+ Byte(RegCode[11]) + $34d;
  n2 := n1 mod $19;
  n3 := n2 + $41;
  RegCode[14] := Char(n3);
2013-8-21 11:33
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
高手,学习下。希望作者能够留下联系方式,想深入交流
2013-9-15 21:10
0
雪    币: 16455
活跃值: (1720)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
5.0 的万能SN 是AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAA-XXXX-XXXX-XXXX
瞎蒙出来的
2014-4-19 17:56
0
游客
登录 | 注册 方可回帖
返回
//