吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 6217|回复: 25

[原创逆向图文] 某截图软件爆破教程

  [复制链接]

原谅我不说那个软件名字……说了恐怕会被很快和谐掉
软件是 HyperSnap6.jpg ,功能很好
现在软件更新到8.4.7了,昨天截图的时候才看到,正想PJ了分享结果被老妈轰走了……
软件有一个很神异的类似于暗桩一样的东西,爆破之后不能点击Help项下的About项,否则会直接挂
软件为英文版,无汉化,勿喷!
下面开始教程
首先去官网下载原版软件,地址http://www.hyperionics.com/hsdx/downloads.asp, Snap1.png 64下64位,32下32位,下载完成后安装,打开会直接提示 QQ截图20150307094643.png ,退出软件(从任务栏右侧中右键图标退出,不是直接关闭软件)
第二步,OD打开 QQ截图20150307095016.png
第三步,转到00401000 QQ截图20150307095050.png
最关键的一步,也是逆向的关键我说了啊,别打我
Ctrl+B,HEX输入8BC38B4DF464890D00000000595F5E5B8BE55DC21000 QQ截图20150307095153.png
搜到的语句改成mov eax,1即可 QQ截图20150307095314.png ,保存好了PJ完成
是不是很想打我{:6_209:}
这个方法如果没猜错的话适用于8.x.x版本,也就是说8版本全部适用,当然这是大家不太张扬的情况下,不然……我也不知道这方法能活多久

评分

参与人数 24HB +44 THX +18 收起 理由
24567 + 1
Jawon + 2
虚心学习 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
Soul1999 + 1
temp + 1 + 1
消逝的过去 + 1
凌夏随缘 + 1
jaunic + 2
叶落花开 + 1
lies + 1
tony2526 + 1 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
ma80366466 + 1 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
vigers + 2 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
fq19851220 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
DaoGod + 1 + 1 2015,羊年快乐,恭喜发财,万事如意!
一只大汉 + 1 + 1 2015,羊年快乐,恭喜发财,万事如意!
nuojiya8 + 1 好人有好报!你的热心我永远不忘!谢谢!
aigoke + 1 + 1 2015,羊年快乐,恭喜发财,万事如意!
逍遥枷锁 + 4 + 1 2015,羊年快乐,恭喜发财,万事如意!
Shark恒 + 10 + 1 2015,羊年快乐,恭喜发财,万事如意!
闪耀 + 4 + 1 2015,羊年快乐,恭喜发财,万事如意!
Mrsin + 4 + 1 2015,羊年快乐,恭喜发财,万事如意!
xor + 1 + 1 2015,羊年快乐,恭喜发财,万事如意!
Scar-疤痕 + 5 + 1 2015,羊年快乐,恭喜发财,万事如意!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| 月光下の魔术师 发表于 2015-3-7 10:26 | 显示全部楼层

本帖最后由 月光下の魔术师 于 2015-3-7 12:09 编辑

那么这个方法原理是什么呢
软件打开直接提示未注册,那么软件要么是读注册表判断注册,要么是读文件判断注册
有了思路就好办了,OD载入,Ctrl+N,果然找到了几个有关函数 QQ截图20150307102502.png ,右键——在每个调用处设置断点,看着四个函数,其实断点也不是非常多,慢慢判断就好了
F9运行,断在RegOpenKeyExW上,看一下堆栈
0012F418   80000002  |hKey = HKEY_LOCAL_MACHINE
0012F41C   001C1C30  |Subkey = "SOFTWARE\Hyperionics\HyperSnap 8"
0012F420   00000000  |Reserved = 0x0
0012F424   00020019  |Access = KEY_READ
0012F428   0012F438  \pHandle = 0012F438
注意hKey = HKEY_LOCAL_MACHINE
理论来说软件不应该在LocalMachine里写这东西,但是也不排除这种可能性,这个先注释一下标成可疑地址
继续F9,中断后堆栈0012DF48   80000000  |hKey = HKEY_CLASSES_ROOT
0012DF4C   0066DE18  |Subkey = "Applications\HprSnap8.exe\shell\open\command"
0012DF50   00000000  |Reserved = 0x0
0012DF54   00020019  |Access = KEY_READ
0012DF58   0012DF68  \pHandle = 0012DF68
这个一看直接跳过,取消断点防止以后浪费调试时间
再次F9,中断
0012E1EC   80000001  |hKey = HKEY_CURRENT_USER
0012E1F0   0012E320  |Subkey = "Identities\{492EB3C4-CA39-31BF-B518-527AD6AE017B}"
0012E1F4   00000000  |Reserved = 0x0
0012E1F8   00020019  |Access = KEY_READ
0012E1FC   0012E20C  \pHandle = 0012E20C
取消断点不解释

0012E210   80000000  |hKey = HKEY_CLASSES_ROOT
0012E214   0012E280  |Subkey = "CLSID\{492EB3C4-C9A3-1B3F-B185-D6A527AE017B}\VERSION"
0012E218   00000000  |Reserved = 0x0
0012E21C   00020019  |Access = KEY_READ
0012E220   0012E22C  \pHandle = 0012E22C
取消,理由同上

0012E05C   80000001  |hKey = HKEY_CURRENT_USER
0012E060   00681CD0  |Subkey = "Control Panel\Cursors"
0012E064   00000000  |Reserved = 0x0
0012E068   00020019  |Access = KEY_READ
0012E06C   0012E078  \pHandle = 0012E078
同上

0012E308   80000001  |hKey = HKEY_CURRENT_USER
0012E30C   0066E540  |Subkey = "Control Panel\International"
0012E310   00000000  |Reserved = 0x0
0012E314   00020019  |Access = KEY_READ
0012E318   0012E344  \pHandle = 0012E344
同上

0012D8D8   80000001  |hKey = HKEY_CURRENT_USER
0012D8DC   001C22F0  |Subkey = "Software\Hyperionics\HyperSnap 8"
0012D8E0   00000000  |Reserved = 0x0
0012D8E4   00020019  |Access = KEY_READ
0012D8E8   0012D900  \pHandle = 0012D900
这个很可疑啊,hKey = HKEY_CURRENT_USER,Subkey = "Software\Hyperionics\HyperSnap 8",我们也列为可疑地址,记下它的地址:00530CBA

0012D8D8   80000001  |hKey = HKEY_CURRENT_USER
0012D8DC   003322F0  |Subkey = "Software\Hyperionics\HyperSnap 8"
0012D8E0   00000000  |Reserved = 0x0
0012D8E4   00020019  |Access = KEY_READ
0012D8E8   0012D900  \pHandle = 0012D900
再次中断后不仅地址一致,就连堆栈也一样,该处调用嫌疑瞬间暴涨

0012D8D8   80000001  |hKey = HKEY_CURRENT_USER
0012D8DC   003322F0  |Subkey = "Software\Hyperionics\HyperSnap 7"
0012D8E0   00000000  |Reserved = 0x0
0012D8E4   00020019  |Access = KEY_READ
0012D8E8   0012D900  \pHandle = 0012D900
还是熟悉的地址,还是熟悉的堆栈,只是Subkey不同,嫌疑再次暴涨

0012D8D8   80000001  |hKey = HKEY_CURRENT_USER
0012D8DC   001E22F0  |Subkey = "Software\Hyperionics\HyperSnap 7"
0012D8E0   00000000  |Reserved = 0x0
0012D8E4   00020019  |Access = KEY_READ
0012D8E8   0012D900  \pHandle = 0012D900
又来一次,调用地址一样,全部都是00530CBA;堆栈也几乎相同,再加上这时候未注册的提示框还未跳出,这处地址显得非常的……诡异
再次F9,程序运行,未注册出现。
显然00530CBA是重中之重
重载程序,将未标注的断点全部删除(强迫症……)
下面来着重分析这两个地址,究竟是第一个HKEY_LOCAL_MACHINE的调用是判断,还是HKEY_CURRENT_USER的4个调用时判断?
注:下面就是我凭直觉走(就是乱猜)的部分了,分析不一定对(应该是一定不对),错误之处望指出,希望可以共同进步!
运行,断在第一个断点 QQ截图20150307102114.png 单步到0052C3C3  |.  FF15 08806600 call near dword ptr ds:[<&ADVAPI32.RegQu>; \RegQueryValueExW
这里是取一个表项的值,到目前为止还没发现有什么异常,再次F8
QQ截图20150307103350.png EAX=2,查阅后发现这个含义是表项不存在
然后就是关闭句柄,也成功了,EAX=0,含义为ERROR_SUCCESS
单步到返回,函数返回值为1 QQ截图20150307103735.png
出来之后…… QQ截图20150307104052.png wc这是要我老命的节奏?还!能!愉!快!的!玩!耍!么!于是……我选择了一种非常蛋疼的方法:直接看函数猜这是要干啥
0052D495  |.  FF15 2C9A6600 call near dword ptr ds:[<&KERNEL32.Creat>; \CreateFileW  看下堆栈
0012F438   002AF6B8  |FileName = "E:\HyperSnap 8\"                                                   //这是软件的安装目录
0012F43C   80000000  |Access = GENERIC_READ                                                          //允许对设备进行读访问
0012F440   00000003  |ShareMode = FILE_SHARE_READ|FILE_SHARE_WRITE            //共享模式为读和写
0012F444   00000000  |pSecurity = NULL                                                                      //文件安全特性的指针,为空
0012F448   00000003  |Mode = OPEN_EXISTING                                                          //文件必须存在
0012F44C   02000000  |Attributes = BACKUP_SEMANTICS                                            //允许改变属性
0012F450   00000000  \hTemplateFile = NULL                                                              //用来复制文件句柄的,为空就不看了
本着乱猜胡诌的原则,我猜这玩意是读取安装目录下的啥文件——这和注册表有啥关系?
0052D4AE  |.  FF15 1C9A6600 call near dword ptr ds:[<&KERNEL32.GetFi>; \GetFileTime 取文件事件信息
0012F444   000000C0  |hFile = 000000C0 (window)
0012F448   0012F47C  |pCreationTime = 0012F47C
0012F44C   00000000  |pLastAccess = NULL
0012F450   00000000  \pLastWrite = NULL
看到这个我立马想到了易语言的一个子程序 取启动时间 ()先是读注册表,然后是打开了个啥文件,然后又取了系统的启动时间——这是要干啥?
剩下的我就不一一截图分析了,取了系统启动到目前为止的事件后又取了一个环境变量,然后又搜索了一个字符串,然后又设置了一个环境变量——小弟不学无术才疏学浅实在不懂这是要干啥,望大牛分析
事实上我第一次看这个的时候看到这里我心基本凉完了——看都看不懂还破个毛线……
最后返回值是个很怪异的值,再往后走了两个函数,返回值都没啥引人注意的地方,再加上后面那个“极度可疑”的00530CBA,所以我果断放弃了这个地址……
然后F9运行到之前所说的那个“极度可疑”的地址:00530CBA  |.  FF15 04806600 call near dword ptr ds:[<&ADVAPI32.RegOp>; |\可疑地址2
下面是代码
  1. 00530C00  /.  55            push ebp
  2. 00530C01  |.  8BEC          mov ebp,esp
  3. 00530C03  |.  6A FF         push -0x1
  4. 00530C05  |.  68 BB216600   push HprSnap8.006621BB
  5. 00530C0A  |.  64:A1 0000000>mov eax,dword ptr fs:[0]
  6. 00530C10  |.  50            push eax
  7. 00530C11  |.  83EC 0C       sub esp,0xC
  8. 00530C14  |.  53            push ebx
  9. 00530C15  |.  56            push esi
  10. 00530C16  |.  57            push edi
  11. 00530C17  |.  A1 38D57300   mov eax,dword ptr ds:[0x73D538]
  12. 00530C1C  |.  33C5          xor eax,ebp
  13. 00530C1E  |.  50            push eax
  14. 00530C1F  |.  8D45 F4       lea eax,dword ptr ss:[ebp-0xC]
  15. 00530C22  |.  64:A3 0000000>mov dword ptr fs:[0],eax
  16. 00530C28  |.  8B7D 10       mov edi,dword ptr ss:[ebp+0x10]
  17. 00530C2B  |.  8D4D 10       lea ecx,dword ptr ss:[ebp+0x10]
  18. 00530C2E  |.  33F6          xor esi,esi
  19. 00530C30  |.  C745 FC 00000>mov dword ptr ss:[ebp-0x4],0x0
  20. 00530C37  |.  8975 EC       mov dword ptr ss:[ebp-0x14],esi
  21. 00530C3A  |.  8937          mov dword ptr ds:[edi],esi
  22. 00530C3C  |.  FF15 B4B16600 call near dword ptr ds:[<&mfc120u.#296>] ;  mfc120u.#316
  23. 00530C42  |.  68 78690000   push 0x6978
  24. 00530C47  |.  8D4D 10       lea ecx,dword ptr ss:[ebp+0x10]
  25. 00530C4A  |.  C645 FC 01    mov byte ptr ss:[ebp-0x4],0x1
  26. 00530C4E  |.  FF15 E0AE6600 call near dword ptr ds:[<&mfc120u.#8346>>;  mfc120u.#8346
  27. 00530C54  |.  8D4D 10       lea ecx,dword ptr ss:[ebp+0x10]
  28. 00530C57  |.  FF15 98B16600 call near dword ptr ds:[<&mfc120u.#5824>>;  mfc120u.#5825
  29. 00530C5D  |.  50            push eax
  30. 00530C5E  |.  68 2C4B6800   push HprSnap8.00684B2C                   ;  ASCII "EN"
  31. 00530C63  |.  8D4D F0       lea ecx,dword ptr ss:[ebp-0x10]
  32. 00530C66  |.  FF15 00AD6600 call near dword ptr ds:[<&mfc120u.#293>] ;  mfc120u.#293
  33. 00530C6C  |.  8D4D F0       lea ecx,dword ptr ss:[ebp-0x10]
  34. 00530C6F  |.  C645 FC 02    mov byte ptr ss:[ebp-0x4],0x2
  35. 00530C73  |.  FF15 74B16600 call near dword ptr ds:[<&mfc120u.#1658>>;  mfc120u.#6864
  36. 00530C79  |.  50            push eax
  37. 00530C7A  |.  8D4D 10       lea ecx,dword ptr ss:[ebp+0x10]
  38. 00530C7D  |.  FF15 94B16600 call near dword ptr ds:[<&mfc120u.#2948>>;  mfc120u.#2948
  39. 00530C83  |.  85C0          test eax,eax
  40. 00530C85  |.  C645 FC 01    mov byte ptr ss:[ebp-0x4],0x1
  41. 00530C89  |.  8D4D F0       lea ecx,dword ptr ss:[ebp-0x10]
  42. 00530C8C  |.  0F94C3        sete bl
  43. 00530C8F  |.  FF15 A8B16600 call near dword ptr ds:[<&mfc120u.#1042>>;  mfc120u.#1501
  44. 00530C95  |.  84DB          test bl,bl
  45. 00530C97  |.  74 09         je short HprSnap8.00530CA2
  46. 00530C99  |.  8D4D 10       lea ecx,dword ptr ss:[ebp+0x10]
  47. 00530C9C  |.  FF15 E4AE6600 call near dword ptr ds:[<&mfc120u.#4280>>;  mfc120u.#4280
  48. 00530CA2  |>  8D45 EC       lea eax,dword ptr ss:[ebp-0x14]
  49. 00530CA5  |.  50            push eax
  50. 00530CA6  |.  68 19000200   push 0x20019
  51. 00530CAB  |.  6A 00         push 0x0
  52. 00530CAD  |.  8D4D 0C       lea ecx,dword ptr ss:[ebp+0xC]
  53. 00530CB0  |.  FF15 74B16600 call near dword ptr ds:[<&mfc120u.#1658>>;  mfc120u.#6864
  54. 00530CB6  |.  50            push eax                                 ; ||Subkey
  55. 00530CB7  |.  FF75 08       push dword ptr ss:[ebp+0x8]              ; ||hKey
  56. 00530CBA  |.  FF15 04806600 call near dword ptr ds:[<&ADVAPI32.RegOp>; |\可疑地址2
  57. 00530CC0  |.  85C0          test eax,eax                             ; |
  58. 00530CC2  |.  0F85 8D000000 jnz HprSnap8.00530D55                    ; |
  59. 00530CC8  |.  68 00100000   push 0x1000                              ; |/size = 1000 (4096.)
  60. 00530CCD  |.  FF15 E89D6600 call near dword ptr ds:[<&MSVCR120.mallo>; |\malloc
  61. 00530CD3  |.  8BF0          mov esi,eax                              ; |
  62. 00530CD5  |.  C745 F0 00100>mov dword ptr ss:[ebp-0x10],0x1000       ; |
  63. 00530CDC  |.  8D45 10       lea eax,dword ptr ss:[ebp+0x10]          ; |
  64. 00530CDF  |.  50            push eax                                 ; |Arg3
  65. 00530CE0  |.  8D45 E8       lea eax,dword ptr ss:[ebp-0x18]          ; |
  66. 00530CE3  |.  68 304B6800   push HprSnap8.00684B30                   ; |Arg2 = 00684B30
  67. 00530CE8  |.  50            push eax                                 ; |Arg1
  68. 00530CE9  |.  E8 72AEF3FF   call HprSnap8.0046BB60                   ; \HprSnap8.0046BB60
  69. 00530CEE  |.  83C4 10       add esp,0x10
  70. 00530CF1  |.  8D4D F0       lea ecx,dword ptr ss:[ebp-0x10]
  71. 00530CF4  |.  51            push ecx
  72. 00530CF5  |.  56            push esi
  73. 00530CF6  |.  6A 00         push 0x0
  74. 00530CF8  |.  6A 00         push 0x0
  75. 00530CFA  |.  8BC8          mov ecx,eax
  76. 00530CFC  |.  FF15 74B16600 call near dword ptr ds:[<&mfc120u.#1658>>;  mfc120u.#6864
  77. 00530D02  |.  50            push eax                                 ; |ValueName
  78. 00530D03  |.  FF75 EC       push dword ptr ss:[ebp-0x14]             ; |hKey
  79. 00530D06  |.  FF15 08806600 call near dword ptr ds:[<&ADVAPI32.RegQu>; \RegQueryValueExW
  80. 00530D0C  |.  85C0          test eax,eax
  81. 00530D0E  |.  8D4D E8       lea ecx,dword ptr ss:[ebp-0x18]
  82. 00530D11  |.  0F94C3        sete bl
  83. 00530D14  |.  FF15 A8B16600 call near dword ptr ds:[<&mfc120u.#1042>>;  mfc120u.#1501
  84. 00530D1A  |.  84DB          test bl,bl
  85. 00530D1C  |.  74 07         je short HprSnap8.00530D25
  86. 00530D1E  |.  8B45 F0       mov eax,dword ptr ss:[ebp-0x10]
  87. 00530D21  |.  8907          mov dword ptr ds:[edi],eax
  88. 00530D23  |.  EB 21         jmp short HprSnap8.00530D46
  89. 00530D25  |>  8D45 F0       lea eax,dword ptr ss:[ebp-0x10]
  90. 00530D28  |.  50            push eax                                 ; /pBufSize
  91. 00530D29  |.  56            push esi                                 ; |Buffer
  92. 00530D2A  |.  6A 00         push 0x0                                 ; |pValueType = NULL
  93. 00530D2C  |.  6A 00         push 0x0                                 ; |Reserved = NULL
  94. 00530D2E  |.  68 304B6800   push HprSnap8.00684B30                   ; |ValueName = "Key"
  95. 00530D33  |.  FF75 EC       push dword ptr ss:[ebp-0x14]             ; |hKey
  96. 00530D36  |.  FF15 08806600 call near dword ptr ds:[<&ADVAPI32.RegQu>; \RegQueryValueExW
  97. 00530D3C  |.  33C9          xor ecx,ecx
  98. 00530D3E  |.  85C0          test eax,eax
  99. 00530D40  |.  0F444D F0     cmove ecx,dword ptr ss:[ebp-0x10]
  100. 00530D44  |.  890F          mov dword ptr ds:[edi],ecx
  101. 00530D46  |>  8B07          mov eax,dword ptr ds:[edi]
  102. 00530D48  |.  C60406 00     mov byte ptr ds:[esi+eax],0x0
  103. 00530D4C  |.  FF75 EC       push dword ptr ss:[ebp-0x14]             ; /hKey
  104. 00530D4F  |.  FF15 3C806600 call near dword ptr ds:[<&ADVAPI32.RegCl>; \RegCloseKey
  105. 00530D55  |>  8D4D 10       lea ecx,dword ptr ss:[ebp+0x10]
  106. 00530D58  |.  FF15 A8B16600 call near dword ptr ds:[<&mfc120u.#1042>>;  mfc120u.#1501
  107. 00530D5E  |.  8D4D 0C       lea ecx,dword ptr ss:[ebp+0xC]
  108. 00530D61  |.  FF15 A8B16600 call near dword ptr ds:[<&mfc120u.#1042>>;  mfc120u.#1501
  109. 00530D67  |.  8BC6          mov eax,esi
  110. 00530D69  |.  8B4D F4       mov ecx,dword ptr ss:[ebp-0xC]
  111. 00530D6C  |.  64:890D 00000>mov dword ptr fs:[0],ecx
  112. 00530D73  |.  59            pop ecx
  113. 00530D74  |.  5F            pop edi
  114. 00530D75  |.  5E            pop esi
  115. 00530D76  |.  5B            pop ebx
  116. 00530D77  |.  8BE5          mov esp,ebp
  117. 00530D79  |.  5D            pop ebp
  118. 00530D7A  \.  C3            retn
复制代码

这个是可疑的call所在的函数,走到00530D7A后单步走出该函数,来到下面这个函数:
  1. 00531010   [        DISCUZ_CODE_11        ]nbsp; 55            push ebp
  2. 00531011   .  8BEC          mov ebp,esp
  3. 00531013   .  6A FF         push -0x1
  4. 00531015   .  68 83226600   push HprSnap8.00662283
  5. 0053101A   .  64:A1 0000000>mov eax,dword ptr fs:[0]
  6. 00531020   .  50            push eax
  7. 00531021   .  83EC 28       sub esp,0x28
  8. 00531024   .  53            push ebx
  9. 00531025   .  56            push esi
  10. 00531026   .  57            push edi
  11. 00531027   .  A1 38D57300   mov eax,dword ptr ds:[0x73D538]
  12. 0053102C   .  33C5          xor eax,ebp
  13. 0053102E   .  50            push eax
  14. 0053102F   .  8D45 F4       lea eax,dword ptr ss:[ebp-0xC]
  15. 00531032   .  64:A3 0000000>mov dword ptr fs:[0],eax
  16. 00531038   .  8BF9          mov edi,ecx
  17. 0053103A   .  897D E0       mov dword ptr ss:[ebp-0x20],edi
  18. 0053103D   .  C745 F0 00000>mov dword ptr ss:[ebp-0x10],0x0
  19. 00531044   .  33F6          xor esi,esi
  20. 00531046   .  33DB          xor ebx,ebx
  21. 00531048   .  E8 533EF6FF   call HprSnap8.00494EA0
  22. 0053104D   .  395D 08       cmp dword ptr ss:[ebp+0x8],ebx
  23. 00531050   .  0F85 33010000 jnz HprSnap8.00531189
  24. 00531056   .  68 38F46600   push HprSnap8.0066F438                   ;  UNICODE ""
  25. 0053105B   .  8D4D EC       lea ecx,dword ptr ss:[ebp-0x14]
  26. 0053105E   .  FF15 A0AD6600 call near dword ptr ds:[<&mfc120u.#290>] ;  mfc120u.#290
  27. 00531064   .  68 204B6800   push HprSnap8.00684B20                   ;  ASCII "Software"
  28. 00531069   .  8D4D E8       lea ecx,dword ptr ss:[ebp-0x18]
  29. 0053106C   .  895D FC       mov dword ptr ss:[ebp-0x4],ebx
  30. 0053106F   .  FF15 A0AD6600 call near dword ptr ds:[<&mfc120u.#290>] ;  mfc120u.#290
  31. 00531075   .  8D87 84000000 lea eax,dword ptr ds:[edi+0x84]
  32. 0053107B   .  C645 FC 01    mov byte ptr ss:[ebp-0x4],0x1
  33. 0053107F   .  50            push eax
  34. 00531080   .  8D45 E8       lea eax,dword ptr ss:[ebp-0x18]
  35. 00531083   .  50            push eax
  36. 00531084   .  8D45 D4       lea eax,dword ptr ss:[ebp-0x2C]
  37. 00531087   .  50            push eax
  38. 00531088   .  E8 33AAF3FF   call HprSnap8.0046BAC0
  39. 0053108D   .  8D4D EC       lea ecx,dword ptr ss:[ebp-0x14]
  40. 00531090   .  C645 FC 02    mov byte ptr ss:[ebp-0x4],0x2
  41. 00531094   .  51            push ecx
  42. 00531095   .  50            push eax
  43. 00531096   .  8D45 D8       lea eax,dword ptr ss:[ebp-0x28]
  44. 00531099   .  50            push eax
  45. 0053109A   .  E8 21AAF3FF   call HprSnap8.0046BAC0
  46. 0053109F   .  8BC8          mov ecx,eax                              ; |
  47. 005310A1   .  8D47 2C       lea eax,dword ptr ds:[edi+0x2C]          ; |
  48. 005310A4   .  C645 FC 03    mov byte ptr ss:[ebp-0x4],0x3            ; |
  49. 005310A8   .  50            push eax                                 ; |Arg3
  50. 005310A9   .  51            push ecx                                 ; |Arg2
  51. 005310AA   .  8D45 E4       lea eax,dword ptr ss:[ebp-0x1C]          ; |
  52. 005310AD   .  50            push eax                                 ; |Arg1
  53. 005310AE   .  E8 0DAAF3FF   call HprSnap8.0046BAC0                   ; \HprSnap8.0046BAC0
  54. 005310B3   .  83C4 24       add esp,0x24
  55. 005310B6   .  8D4D D8       lea ecx,dword ptr ss:[ebp-0x28]
  56. 005310B9   .  FF15 A8B16600 call near dword ptr ds:[<&mfc120u.#1042>>;  mfc120u.#1501
  57. 005310BF   .  8D4D D4       lea ecx,dword ptr ss:[ebp-0x2C]
  58. 005310C2   .  FF15 A8B16600 call near dword ptr ds:[<&mfc120u.#1042>>;  mfc120u.#1501
  59. 005310C8   .  8D4D E8       lea ecx,dword ptr ss:[ebp-0x18]
  60. 005310CB   .  FF15 A8B16600 call near dword ptr ds:[<&mfc120u.#1042>>;  mfc120u.#1501
  61. 005310D1   .  8D4D EC       lea ecx,dword ptr ss:[ebp-0x14]
  62. 005310D4   .  C645 FC 08    mov byte ptr ss:[ebp-0x4],0x8
  63. 005310D8   .  FF15 A8B16600 call near dword ptr ds:[<&mfc120u.#1042>>;  mfc120u.#1501
  64. 005310DE   .  8D45 F0       lea eax,dword ptr ss:[ebp-0x10]
  65. 005310E1   .  50            push eax
  66. 005310E2   .  51            push ecx
  67. 005310E3   .  8D45 E4       lea eax,dword ptr ss:[ebp-0x1C]
  68. 005310E6   .  8BCC          mov ecx,esp
  69. 005310E8   .  50            push eax
  70. 005310E9   .  FF15 84AF6600 call near dword ptr ds:[<&mfc120u.#280>] ;  mfc120u.#280
  71. 005310EF   .  68 01000080   push 0x80000001                          ; |Arg1 = 80000001
  72. 005310F4   .  E8 07FBFFFF   call HprSnap8.00530C00                   ; \HprSnap8.00530C00
  73. 005310F9   .  8BF0          mov esi,eax
  74. 005310FB   .  83C4 0C       add esp,0xC
  75. 005310FE   .  8B45 F0       mov eax,dword ptr ss:[ebp-0x10]
  76. 00531101   .  83F8 05       cmp eax,0x5
  77. 00531104   .  7E 16         jle short HprSnap8.0053111C
  78. 00531106   .  FF75 10       push dword ptr ss:[ebp+0x10]
  79. 00531109   .  8BCF          mov ecx,edi
  80. 0053110B   .  53            push ebx
  81. 0053110C   .  FF75 0C       push dword ptr ss:[ebp+0xC]
  82. 0053110F   .  50            push eax
  83. 00531110   .  56            push esi
  84. 00531111   .  E8 4A030000   call HprSnap8.00531460
  85. 00531116   .  8BD8          mov ebx,eax
  86. 00531118   .  85DB          test ebx,ebx
  87. 0053111A   .  75 55         jnz short HprSnap8.00531171
  88. 0053111C   >  56            push esi                                 ; /block
  89. 0053111D   .  FF15 549E6600 call near dword ptr ds:[<&MSVCR120.free>>; \free
  90. 00531123   .  83C4 04       add esp,0x4
  91. 00531126   .  8D45 F0       lea eax,dword ptr ss:[ebp-0x10]
  92. 00531129   .  50            push eax
  93. 0053112A   .  51            push ecx
  94. 0053112B   .  8D45 E4       lea eax,dword ptr ss:[ebp-0x1C]
  95. 0053112E   .  8BCC          mov ecx,esp
  96. 00531130   .  50            push eax
  97. 00531131   .  FF15 84AF6600 call near dword ptr ds:[<&mfc120u.#280>] ;  mfc120u.#280
  98. 00531137   .  68 01000080   push 0x80000001                          ; |Arg1 = 80000001
  99. 0053113C   .  E8 BFFAFFFF   call HprSnap8.00530C00                   ; \HprSnap8.00530C00
  100. 00531141   .  8BF0          mov esi,eax
  101. 00531143   .  83C4 0C       add esp,0xC
  102. 00531146   .  8B45 F0       mov eax,dword ptr ss:[ebp-0x10]
  103. 00531149   .  83F8 05       cmp eax,0x5
  104. 0053114C   .  7E 17         jle short HprSnap8.00531165
  105. 0053114E   .  FF75 10       push dword ptr ss:[ebp+0x10]
  106. 00531151   .  8BCF          mov ecx,edi
  107. 00531153   .  6A 00         push 0x0
  108. 00531155   .  FF75 0C       push dword ptr ss:[ebp+0xC]
  109. 00531158   .  50            push eax
  110. 00531159   .  56            push esi
  111. 0053115A   .  E8 01030000   call HprSnap8.00531460
  112. 0053115F   .  8BD8          mov ebx,eax
  113. 00531161   .  85DB          test ebx,ebx
  114. 00531163   .  75 0C         jnz short HprSnap8.00531171
  115. 00531165   >  56            push esi                                 ; /block
  116. 00531166   .  FF15 549E6600 call near dword ptr ds:[<&MSVCR120.free>>; \free
  117. 0053116C   .  83C4 04       add esp,0x4
  118. 0053116F   .  33F6          xor esi,esi
  119. 00531171   >  8D4D E4       lea ecx,dword ptr ss:[ebp-0x1C]
  120. 00531174   .  C745 FC FFFFF>mov dword ptr ss:[ebp-0x4],-0x1
  121. 0053117B   .  FF15 A8B16600 call near dword ptr ds:[<&mfc120u.#1042>>;  mfc120u.#1501
  122. 00531181   .  85DB          test ebx,ebx
  123. 00531183   .  0F85 AC020000 jnz HprSnap8.00531435
  124. 00531189   >  8D4D EC       lea ecx,dword ptr ss:[ebp-0x14]
  125. 0053118C   .  FF15 B4B16600 call near dword ptr ds:[<&mfc120u.#296>] ;  mfc120u.#316
  126. 00531192   .  8B45 08       mov eax,dword ptr ss:[ebp+0x8]
  127. 00531195   .  8D4D EC       lea ecx,dword ptr ss:[ebp-0x14]
  128. 00531198   .  C745 FC 09000>mov dword ptr ss:[ebp-0x4],0x9
  129. 0053119F   .  85C0          test eax,eax
  130. 005311A1   .  74 09         je short HprSnap8.005311AC
  131. 005311A3   .  50            push eax
  132. 005311A4   .  FF15 A0B16600 call near dword ptr ds:[<&mfc120u.#1520>>;  mfc120u.#1520
  133. 005311AA   .  EB 0D         jmp short HprSnap8.005311B9
  134. 005311AC   >  8D87 AC000000 lea eax,dword ptr ds:[edi+0xAC]
  135. 005311B2   .  50            push eax
  136. 005311B3   .  FF15 A4B16600 call near dword ptr ds:[<&mfc120u.#1518>>;  mfc120u.#1518
  137. 005311B9   >  68 48096700   push HprSnap8.00670948                   ;  UNICODE "rb"
  138. 005311BE   .  8D4D EC       lea ecx,dword ptr ss:[ebp-0x14]
  139. 005311C1   .  FF15 74B16600 call near dword ptr ds:[<&mfc120u.#1658>>;  mfc120u.#6864
  140. 005311C7   .  50            push eax                                 ; |path
  141. 005311C8   .  FF15 FC9D6600 call near dword ptr ds:[<&MSVCR120._wfop>; \_wfopen
  142. 005311CE   .  83C4 08       add esp,0x8
  143. 005311D1   .  8945 E8       mov dword ptr ss:[ebp-0x18],eax
  144. 005311D4   .  85C0          test eax,eax
  145. 005311D6   .  75 38         jnz short HprSnap8.00531210
  146. 005311D8   .  3945 08       cmp dword ptr ss:[ebp+0x8],eax
  147. 005311DB   .  0F85 A7000000 jnz HprSnap8.00531288
  148. 005311E1   .  8D87 B0000000 lea eax,dword ptr ds:[edi+0xB0]
  149. 005311E7   .  50            push eax
  150. 005311E8   .  8D4D EC       lea ecx,dword ptr ss:[ebp-0x14]
  151. 005311EB   .  FF15 A4B16600 call near dword ptr ds:[<&mfc120u.#1518>>;  mfc120u.#1518
  152. 005311F1   .  68 48096700   push HprSnap8.00670948                   ;  UNICODE "rb"
  153. 005311F6   .  8D4D EC       lea ecx,dword ptr ss:[ebp-0x14]
  154. 005311F9   .  FF15 74B16600 call near dword ptr ds:[<&mfc120u.#1658>>;  mfc120u.#6864
  155. 005311FF   .  50            push eax                                 ; |path
  156. 00531200   .  FF15 FC9D6600 call near dword ptr ds:[<&MSVCR120._wfop>; \_wfopen
  157. 00531206   .  83C4 08       add esp,0x8
  158. 00531209   .  8945 E8       mov dword ptr ss:[ebp-0x18],eax
  159. 0053120C   .  85C0          test eax,eax
  160. 0053120E   .  74 78         je short HprSnap8.00531288
  161. 00531210   >  8B3D A49D6600 mov edi,dword ptr ds:[<&MSVCR120.fseek>] ;  msvcr120.fseek
  162. 00531216   .  6A 02         push 0x2                                 ; /whence = SEEK_END
  163. 00531218   .  6A 00         push 0x0                                 ; |offset = 0x0
  164. 0053121A   .  50            push eax                                 ; |stream
  165. 0053121B   .  FFD7          call near edi                            ; \fseek
  166. 0053121D   .  FF75 E8       push dword ptr ss:[ebp-0x18]             ; /stream
  167. 00531220   .  FF15 A09D6600 call near dword ptr ds:[<&MSVCR120.ftell>; \ftell
  168. 00531226   .  6A 00         push 0x0
  169. 00531228   .  6A 00         push 0x0
  170. 0053122A   .  FF75 E8       push dword ptr ss:[ebp-0x18]
  171. 0053122D   .  8945 F0       mov dword ptr ss:[ebp-0x10],eax
  172. 00531230   .  FFD7          call near edi
  173. 00531232   .  83C4 1C       add esp,0x1C
  174. 00531235   .  85F6          test esi,esi
  175. 00531237   .  75 10         jnz short HprSnap8.00531249
  176. 00531239   .  8B45 F0       mov eax,dword ptr ss:[ebp-0x10]
  177. 0053123C   .  40            inc eax
  178. 0053123D   .  50            push eax                                 ; /size
  179. 0053123E   .  FF15 E89D6600 call near dword ptr ds:[<&MSVCR120.mallo>; \malloc
  180. 00531244   .  83C4 04       add esp,0x4
  181. 00531247   .  8BF0          mov esi,eax
  182. 00531249   >  8B7D E8       mov edi,dword ptr ss:[ebp-0x18]
  183. 0053124C   .  57            push edi                                 ; /stream
  184. 0053124D   .  FF75 F0       push dword ptr ss:[ebp-0x10]             ; |n
  185. 00531250   .  6A 01         push 0x1                                 ; |size = 0x1
  186. 00531252   .  56            push esi                                 ; |ptr
  187. 00531253   .  FF15 A89D6600 call near dword ptr ds:[<&MSVCR120.fread>; \fread
  188. 00531259   .  8B45 F0       mov eax,dword ptr ss:[ebp-0x10]
  189. 0053125C   .  57            push edi                                 ; /stream
  190. 0053125D   .  C60406 00     mov byte ptr ds:[esi+eax],0x0            ; |
  191. 00531261   .  FF15 F89D6600 call near dword ptr ds:[<&MSVCR120.fclos>; \fclose
  192. 00531267   .  8B45 F0       mov eax,dword ptr ss:[ebp-0x10]
  193. 0053126A   .  83C4 14       add esp,0x14
  194. 0053126D   .  8B7D E0       mov edi,dword ptr ss:[ebp-0x20]
  195. 00531270   .  83F8 05       cmp eax,0x5
  196. 00531273   .  7E 13         jle short HprSnap8.00531288
  197. 00531275   .  FF75 10       push dword ptr ss:[ebp+0x10]
  198. 00531278   .  8BCF          mov ecx,edi
  199. 0053127A   .  6A 00         push 0x0
  200. 0053127C   .  FF75 0C       push dword ptr ss:[ebp+0xC]
  201. 0053127F   .  50            push eax
  202. 00531280   .  56            push esi
  203. 00531281   .  E8 DA010000   call HprSnap8.00531460
  204. 00531286   .  8BD8          mov ebx,eax
  205. 00531288   >  8D4D EC       lea ecx,dword ptr ss:[ebp-0x14]
  206. 0053128B   .  C745 FC FFFFF>mov dword ptr ss:[ebp-0x4],-0x1
  207. 00531292   .  FF15 A8B16600 call near dword ptr ds:[<&mfc120u.#1042>>;  mfc120u.#1501
  208. 00531298   .  85DB          test ebx,ebx
  209. 0053129A   .  0F85 95010000 jnz HprSnap8.00531435
  210. 005312A0   .  56            push esi                                 ; /block
  211. 005312A1   .  FF15 549E6600 call near dword ptr ds:[<&MSVCR120.free>>; \free
  212. 005312A7   .  83C4 04       add esp,0x4
  213. 005312AA   .  8D47 5C       lea eax,dword ptr ds:[edi+0x5C]
  214. 005312AD   .  33F6          xor esi,esi
  215. 005312AF   .  8945 0C       mov dword ptr ss:[ebp+0xC],eax
  216. 005312B2   .  8975 E8       mov dword ptr ss:[ebp-0x18],esi
  217. 005312B5   .  EB 09         jmp short HprSnap8.005312C0
  218. 005312B7   .  8DA424 000000>lea esp,dword ptr ss:[esp]
  219. 005312BE   .  8BFF          mov edi,edi
  220. 005312C0   >  68 B4C86D00   push HprSnap8.006DC8B4
  221. 005312C5   .  8D48 D8       lea ecx,dword ptr ds:[eax-0x28]
  222. 005312C8   .  FF15 A8A46600 call near dword ptr ds:[<&mfc120u.#2949>>;  mfc120u.#2949
  223. 005312CE   .  85C0          test eax,eax
  224. 005312D0   .  0F8E 5F010000 jle HprSnap8.00531435
  225. 005312D6   .  68 38F46600   push HprSnap8.0066F438                   ;  UNICODE ""
  226. 005312DB   .  8D4D DC       lea ecx,dword ptr ss:[ebp-0x24]
  227. 005312DE   .  FF15 A0AD6600 call near dword ptr ds:[<&mfc120u.#290>] ;  mfc120u.#290
  228. 005312E4   .  68 204B6800   push HprSnap8.00684B20                   ;  ASCII "Software"
  229. 005312E9   .  8D4D E0       lea ecx,dword ptr ss:[ebp-0x20]
  230. 005312EC   .  C745 FC 0A000>mov dword ptr ss:[ebp-0x4],0xA
  231. 005312F3   .  FF15 A0AD6600 call near dword ptr ds:[<&mfc120u.#290>] ;  mfc120u.#290
  232. 005312F9   .  8D87 84000000 lea eax,dword ptr ds:[edi+0x84]
  233. 005312FF   .  C645 FC 0B    mov byte ptr ss:[ebp-0x4],0xB
  234. 00531303   .  50            push eax
  235. 00531304   .  8D45 E0       lea eax,dword ptr ss:[ebp-0x20]
  236. 00531307   .  50            push eax
  237. 00531308   .  8D45 CC       lea eax,dword ptr ss:[ebp-0x34]
  238. 0053130B   .  50            push eax
  239. 0053130C   .  E8 AFA7F3FF   call HprSnap8.0046BAC0
  240. 00531311   .  8D4D DC       lea ecx,dword ptr ss:[ebp-0x24]
  241. 00531314   .  C645 FC 0C    mov byte ptr ss:[ebp-0x4],0xC
  242. 00531318   .  51            push ecx
  243. 00531319   .  50            push eax
  244. 0053131A   .  8D45 D0       lea eax,dword ptr ss:[ebp-0x30]
  245. 0053131D   .  50            push eax
  246. 0053131E   .  E8 9DA7F3FF   call HprSnap8.0046BAC0
  247. 00531323   .  FF75 0C       push dword ptr ss:[ebp+0xC]              ; |Arg3
  248. 00531326   .  C645 FC 0D    mov byte ptr ss:[ebp-0x4],0xD            ; |
  249. 0053132A   .  50            push eax                                 ; |Arg2
  250. 0053132B   .  8D45 08       lea eax,dword ptr ss:[ebp+0x8]           ; |
  251. 0053132E   .  50            push eax                                 ; |Arg1
  252. 0053132F   .  E8 8CA7F3FF   call HprSnap8.0046BAC0                   ; \HprSnap8.0046BAC0
  253. 00531334   .  83C4 24       add esp,0x24
  254. 00531337   .  8D4D D0       lea ecx,dword ptr ss:[ebp-0x30]
  255. 0053133A   .  FF15 A8B16600 call near dword ptr ds:[<&mfc120u.#1042>>;  mfc120u.#1501
  256. 00531340   .  8D4D CC       lea ecx,dword ptr ss:[ebp-0x34]
  257. 00531343   .  FF15 A8B16600 call near dword ptr ds:[<&mfc120u.#1042>>;  mfc120u.#1501
  258. 00531349   .  8D4D E0       lea ecx,dword ptr ss:[ebp-0x20]
  259. 0053134C   .  FF15 A8B16600 call near dword ptr ds:[<&mfc120u.#1042>>;  mfc120u.#1501
  260. 00531352   .  8D4D DC       lea ecx,dword ptr ss:[ebp-0x24]
  261. 00531355   .  C645 FC 12    mov byte ptr ss:[ebp-0x4],0x12
  262. 00531359   .  FF15 A8B16600 call near dword ptr ds:[<&mfc120u.#1042>>;  mfc120u.#1501
  263. 0053135F   .  8D45 F0       lea eax,dword ptr ss:[ebp-0x10]
  264. 00531362   .  50            push eax
  265. 00531363   .  51            push ecx
  266. 00531364   .  8D45 08       lea eax,dword ptr ss:[ebp+0x8]
  267. 00531367   .  8BCC          mov ecx,esp
  268. 00531369   .  50            push eax
  269. 0053136A   .  FF15 84AF6600 call near dword ptr ds:[<&mfc120u.#280>] ;  mfc120u.#280
  270. 00531370   .  68 01000080   push 0x80000001                          ; |Arg1 = 80000001
  271. 00531375   .  E8 86F8FFFF   call HprSnap8.00530C00                   ; \HprSnap8.00530C00
  272. 0053137A   .  8BF0          mov esi,eax
  273. 0053137C   .  83C4 0C       add esp,0xC
  274. 0053137F   .  8B45 F0       mov eax,dword ptr ss:[ebp-0x10]
  275. 00531382   .  83F8 05       cmp eax,0x5
  276. 00531385   .  7E 1A         jle short HprSnap8.005313A1
  277. 00531387   .  FF75 10       push dword ptr ss:[ebp+0x10]
  278. 0053138A   .  8BCF          mov ecx,edi
  279. 0053138C   .  6A 00         push 0x0
  280. 0053138E   .  6A 01         push 0x1
  281. 00531390   .  50            push eax
  282. 00531391   .  56            push esi
  283. 00531392   .  E8 C9000000   call HprSnap8.00531460
  284. 00531397   .  8BD8          mov ebx,eax
  285. 00531399   .  85DB          test ebx,ebx
  286. 0053139B   .  0F85 8B000000 jnz HprSnap8.0053142C
  287. 005313A1   >  56            push esi                                 ; /block
  288. 005313A2   .  FF15 549E6600 call near dword ptr ds:[<&MSVCR120.free>>; \free
  289. 005313A8   .  83C4 04       add esp,0x4
  290. 005313AB   .  8D45 F0       lea eax,dword ptr ss:[ebp-0x10]
  291. 005313AE   .  50            push eax
  292. 005313AF   .  51            push ecx
  293. 005313B0   .  8D45 08       lea eax,dword ptr ss:[ebp+0x8]
  294. 005313B3   .  8BCC          mov ecx,esp
  295. 005313B5   .  50            push eax
  296. 005313B6   .  FF15 84AF6600 call near dword ptr ds:[<&mfc120u.#280>] ;  mfc120u.#280
  297. 005313BC   .  68 01000080   push 0x80000001                          ; |Arg1 = 80000001
  298. 005313C1   .  E8 3AF8FFFF   call HprSnap8.00530C00                   ; \HprSnap8.00530C00
  299. 005313C6   .  8B4D F0       mov ecx,dword ptr ss:[ebp-0x10]
  300. 005313C9   .  83C4 0C       add esp,0xC
  301. 005313CC   .  8BF0          mov esi,eax
  302. 005313CE   .  83F9 05       cmp ecx,0x5
  303. 005313D1   .  7E 22         jle short HprSnap8.005313F5
  304. 005313D3   .  33C0          xor eax,eax
  305. 005313D5   .  3905 70207300 cmp dword ptr ds:[0x732070],eax
  306. 005313DB   .  0F94C0        sete al
  307. 005313DE   .  0B45 10       or eax,dword ptr ss:[ebp+0x10]
  308. 005313E1   .  50            push eax
  309. 005313E2   .  6A 00         push 0x0
  310. 005313E4   .  6A 01         push 0x1
  311. 005313E6   .  51            push ecx
  312. 005313E7   .  56            push esi
  313. 005313E8   .  8BCF          mov ecx,edi
  314. 005313EA   .  E8 71000000   call HprSnap8.00531460
  315. 005313EF   .  8BD8          mov ebx,eax
  316. 005313F1   .  85DB          test ebx,ebx
  317. 005313F3   .  75 37         jnz short HprSnap8.0053142C
  318. 005313F5   >  56            push esi                                 ; /block
  319. 005313F6   .  FF15 549E6600 call near dword ptr ds:[<&MSVCR120.free>>; \free
  320. 005313FC   .  83C4 04       add esp,0x4
  321. 005313FF   .  C745 FC FFFFF>mov dword ptr ss:[ebp-0x4],-0x1
  322. 00531406   .  8D4D 08       lea ecx,dword ptr ss:[ebp+0x8]
  323. 00531409   .  33F6          xor esi,esi
  324. 0053140B   .  FF15 A8B16600 call near dword ptr ds:[<&mfc120u.#1042>>;  mfc120u.#1501
  325. 00531411   .  8B4D E8       mov ecx,dword ptr ss:[ebp-0x18]
  326. 00531414   .  8B45 0C       mov eax,dword ptr ss:[ebp+0xC]
  327. 00531417   .  41            inc ecx
  328. 00531418   .  83C0 04       add eax,0x4
  329. 0053141B   .  894D E8       mov dword ptr ss:[ebp-0x18],ecx
  330. 0053141E   .  8945 0C       mov dword ptr ss:[ebp+0xC],eax
  331. 00531421   .  83F9 0A       cmp ecx,0xA
  332. 00531424   .^ 0F8C 96FEFFFF jl HprSnap8.005312C0
  333. 0053142A   .  EB 09         jmp short HprSnap8.00531435
  334. 0053142C   >  8D4D 08       lea ecx,dword ptr ss:[ebp+0x8]
  335. 0053142F   .  FF15 A8B16600 call near dword ptr ds:[<&mfc120u.#1042>>;  mfc120u.#1501
  336. 00531435   >  8B45 14       mov eax,dword ptr ss:[ebp+0x14]
  337. 00531438   .  85C0          test eax,eax
  338. 0053143A   .  74 04         je short HprSnap8.00531440
  339. 0053143C   .  8930          mov dword ptr ds:[eax],esi
  340. 0053143E   .  EB 0A         jmp short HprSnap8.0053144A
  341. 00531440   >  56            push esi                                 ; /block
  342. 00531441   .  FF15 549E6600 call near dword ptr ds:[<&MSVCR120.free>>; \free
  343. 00531447   .  83C4 04       add esp,0x4
  344. 0053144A   >  8BC3          mov eax,ebx
  345. 0053144C   .  8B4D F4       mov ecx,dword ptr ss:[ebp-0xC]
  346. 0053144F   .  64:890D 00000>mov dword ptr fs:[0],ecx
  347. 00531456   .  59            pop ecx
  348. 00531457   .  5F            pop edi
  349. 00531458   .  5E            pop esi
  350. 00531459   .  5B            pop ebx
  351. 0053145A   .  8BE5          mov esp,ebp
  352. 0053145C   .  5D            pop ebp
  353. 0053145D   .  C2 1000       retn 0x10
复制代码
从中可以非常清晰的看出这个函数调用了四次00530C00(也就是包含可疑地址2的函数),执行这个函数完之后未注册窗口出现,这意味着什么不言而喻,再看一下返回值:EAX=0,显然这个函数就是我们苦苦寻找的关键函数!
最后一次对eax的赋值是在0053144A处,等等,还记得之前我给大家的特征码吗?8BC38B4DF464890D00000000595F5E5B8BE55DC21000,没错,就是0053144C的代码!
然后就好办了,将0053144A的代码修改为mov eax,1即可。
@逍遥绝尘 更新完成

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| 月光下の魔术师 发表于 2015-3-7 09:57 | 显示全部楼层

附上逆向后成果 QQ截图20150307095722.png 可以看见已经没有水印了
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
逍遥绝尘 发表于 2015-3-7 10:22 | 显示全部楼层

楼主说明一下输入这个8BC38B4DF464890D00000000595F5E5B8BE55DC21000的意思!不详细啊!

评分

参与人数 1HB +2 THX +1 收起 理由
月光下の魔术师 + 2 + 1 正在编辑中

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| 月光下の魔术师 发表于 2015-3-7 10:24 | 显示全部楼层

Chrome你妹不小心点了一个快捷方式然后我所有图片都……没了……我!@#¥%…………
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
闪耀 发表于 2015-3-7 11:01 | 显示全部楼层

卧槽撸主好流弊啊

评分

参与人数 1HB +2 THX +1 收起 理由
月光下の魔术师 + 2 + 1 解密专家不要讽刺我了QAQ知道自己渣

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| 月光下の魔术师 发表于 2015-3-7 11:19 | 显示全部楼层

闪耀 发表于 2015-3-7 11:01
卧槽撸主好流弊啊

大牛别讽刺我了……知道自己渣

点评

闪耀”点评说:
真的好流弊  发表于 2015-3-7 11:27
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Scar-疤痕 发表于 2015-3-7 11:29 | 显示全部楼层

楼主好流弊啊,膜拜
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
xor 发表于 2015-3-7 11:37 | 显示全部楼层

我初三都只会耍朋友,都没这么流弊。。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| 月光下の魔术师 发表于 2015-3-7 12:11 | 显示全部楼层

闪耀 发表于 2015-3-7 11:01
卧槽撸主好流弊啊

大神是怎么用点评的,为啥我没找到,特权?
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
5层
2层
3层
4层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表