最新Winrar 32位版本爆破笔记

本帖最后由 zyjsuper 于 2019-7-10 07:43 编辑

看到了许多论坛的朋友分享的winrar破解的教程,参考大神们的教程我也整理了一篇文章,分享给同样菜菜的我们,希望大家能够共同学习到一些经验和方法。winrar每次运行都会弹出广告窗口,并且主窗口标题栏会有许可到期时间的提醒,爆破的目的是去掉这两项。

Winrar解压缩软件32位(5.71)版本下载地址:http://www.winrar.com.cn/download/wrar571scp.exe
64位下载地址:http://www.winrar.com.cn/download/winrar-x64-571scp.exe

所需工具: OllyDbg吾爱破解版、Binary Ninjahttps://down.52pojie.cn/Tools/Debuggers/%E5%90%BE%E7%88%B1%E7%A0%B4%E8%A7%A3%E4%B8%93%E7%94%A8%E7%89%88Ollydbg.rarhttps://cdn.binary.ninja/installers/BinaryNinja-demo.exe本文参考了飘云上一位牛人的文章:https://www.chinapyg.com/forum.php?mod=viewthread&tid=125493&highlight=winrar该方法非常理想,所以借鉴了一下,适合我这种菜菜来练习动手能力。使用OD加载winrar,如图:

按F9键运行winrar软件,直到弹出主窗口和广告窗口时,按F12键暂停程序,此时点击OD上方的“K”按键或者点击"ALT+K"来查看程序调用的堆栈,查看一下窗口弹出前的函数调用情况,得到如下图所示:这一步需要注意的是需要看到广告窗口正常弹出,没有其他提示再暂停程序然后查看堆栈,例如在调试时遇到的如下图:

下图只在我们正常看到广告页时才会到这一步。

右击最后一条调用如图所示,选择“显示调用”命令。

得到如下图的调用位置:

直接在该位置点击回车键或者F7步进调试,我们会得到下面的汇编代码段,这段内容包含我们想破解的两处,即去广告和去标题的许可过期提示,看代码注释就可以判断了。
1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

271

272

273

274

275

276

277

278

279

280

281

282

283

284

285

286

287

288

289

290

291

292

293

294

295

296

297

298

299

300

301

302

303

304

305

306

307

308

309

310

311

312

313

314

315

316

317

318

319

320

321

322

323

324

325

326

327

328

329

330

331

332

333

334

335

336

337

338

339

340

341

342

343

344

345

346

347

348

349

350

351

352

353

354

355

356

357

358

359

360

361

362

363

364

365

366

367

368

369

370

371

372

373

374

375

376

377

378

379

380

381

382

383

384

385

386

387

388

389

390

391

392

393

394

395

396

397

398

399

400

401

402

403

404

405

406

407

408

409

410

411

412

413

414

415

416

417

418

419

420

421

422

423

424

425

426

427

428

429

00AE1520   $  55            push ebp
00AE1521   .  8DAC24 E8CFFF>lea ebp,dword ptr ss:[esp-0x3018]
00AE1528   .  B8 18300000   mov eax,0x3018
00AE152D   .  E8 9E3F0100   call WinRAR.00AF54D0
00AE1532   .  6A FF         push -0x1
00AE1534   .  68 5832B100   push WinRAR.00B13258
00AE1539   .  64:A1 0000000>mov eax,dword ptr fs:[0]
00AE153F   .  50            push eax
00AE1540   .  83EC 14       sub esp,0x14
00AE1543   .  A1 341BB300   mov eax,dword ptr ds:[0xB31B34]
00AE1548   .  33C5          xor eax,ebp
00AE154A   .  8985 14300000 mov dword ptr ss:[ebp+0x3014],eax
00AE1550   .  53            push ebx
00AE1551   .  56            push esi
00AE1552   .  57            push edi
00AE1553   .  50            push eax
00AE1554   .  8D45 F4       lea eax,dword ptr ss:[ebp-0xC]
00AE1557   .  64:A3 0000000>mov dword ptr fs:[0],eax
00AE155D   .  8965 F0       mov dword ptr ss:[ebp-0x10],esp
00AE1560   .  8BB5 20300000 mov esi,dword ptr ss:[ebp+0x3020]
00AE1566   .  6A 01         push 0x1
00AE1568   .  E8 531EFBFF   call WinRAR.00A933C0
00AE156D   .  68 05800000   push 0x8005                              ; /ErrorMode =SEM_FAILCRITICALERRORS|SEM_NOALIGNMENTFAULTEXCEPT|SEM_NOOPENFILEERRORBOX
00AE1572   .  FF15 0442B100 call dword ptr ds:[<&KERNEL32.SetErrorMo>; \SetErrorMode
00AE1578   .  B9 A04BB400   mov ecx,WinRAR.00B44BA0
00AE157D   .  E8 DED3F7FF   call WinRAR.00A5E960
00AE1582   .  C605 D592B300>mov byte ptr ds:[0xB392D5],0x0
00AE1589   .  C705 F0A2B300>mov dword ptr ds:[0xB3A2F0],0x0
00AE1593   .  FF15 F441B100 call dword ptr ds:[<&KERNEL32.GetCurrent>; [GetCurrentThreadId
00AE1599   .  A3 F4A2B300   mov dword ptr ds:[0xB3A2F4],eax
00AE159E   .  6A 00         push 0x0                                 ; /EventName = NULL
00AE15A0   .  6A 00         push 0x0                                 ; |InitiallySignaled = FALSE
00AE15A2   .  6A 01         push 0x1                                 ; |ManualReset = TRUE
00AE15A4   .  6A 00         push 0x0                                 ; |pSecurity = NULL
00AE15A6   .  FF15 6841B100 call dword ptr ds:[<&KERNEL32.CreateEven>; \CreateEventW
00AE15AC   .  A3 F8A2B300   mov dword ptr ds:[0xB3A2F8],eax
00AE15B1   .  68 04DEB100   push WinRAR.00B1DE04                     ; /MsgName = "WMUser_DisplayError"
00AE15B6   .  FF15 7445B100 call dword ptr ds:[<&USER32.RegisterWind>; \RegisterWindowMessageW
00AE15BC   .  A3 20A3B300   mov dword ptr ds:[0xB3A320],eax
00AE15C1   .  68 A44BB100   push WinRAR.00B14BA4                     ;  UNICODE "General"
00AE15C6   .  E8 C504FCFF   call WinRAR.00AA1A90
00AE15CB   .  84C0          test al,al
00AE15CD   .  0f94c3        sete bl
00AE15D0   .  885D EF       mov byte ptr ss:[ebp-0x11],bl
00AE15D3   .  6A 01         push 0x1
00AE15D5   .  68 00080000   push 0x800
00AE15DA   .  8D85 00100000 lea eax,dword ptr ss:[ebp+0x1000]
00AE15E0   .  50            push eax
00AE15E1   .  E8 EAA3F9FF   call WinRAR.00A7B9D0
00AE15E6   .  68 00080000   push 0x800
00AE15EB   .  8D85 00100000 lea eax,dword ptr ss:[ebp+0x1000]
00AE15F1   .  50            push eax
00AE15F2   .  E8 1993F9FF   call WinRAR.00A7A910
00AE15F7   .  68 00080000   push 0x800
00AE15FC   .  8D85 00100000 lea eax,dword ptr ss:[ebp+0x1000]
00AE1602   .  50            push eax
00AE1603   .  68 E092B300   push WinRAR.00B392E0                     ;  UNICODE"C:\Users\IEUser\AppData\Roaming\WinRAR\rar.log"
00AE1608   .  E8 4312FBFF   call WinRAR.00A92850
00AE160D   .  68 00080000   push 0x800
00AE1612   .  68 CC89B100   push WinRAR.00B189CC                     ;  UNICODE "rar.log"
00AE1617   .  68 E092B300   push WinRAR.00B392E0                     ;  UNICODE"C:\Users\IEUser\AppData\Roaming\WinRAR\rar.log"
00AE161C   .  E8 EF11FBFF   call WinRAR.00A92810
00AE1621   .  6A 00         push 0x0
00AE1623   .  56            push esi
00AE1624   .  B9 08F0B600   mov ecx,WinRAR.00B6F008
00AE1629   .  E8 12AEFAFF   call WinRAR.00A8C440
00AE162E   .  68 2CDEB100   push WinRAR.00B1DE2C                     ;  UNICODE "winrar.lng"
00AE1633   .  B9 0CF0B600   mov ecx,WinRAR.00B6F00C
00AE1638   .  E8 639FFAFF   call WinRAR.00A8B5A0
00AE163D   .  56            push esi
00AE163E   .  E8 ADDBFFFF   call WinRAR.00ADF1F0
00AE1643   .  85C0          test eax,eax
00AE1645   .  0F84 66060000 je WinRAR.00AE1CB1
00AE164B   .  8D4D E0       lea ecx,dword ptr ss:[ebp-0x20]
00AE164E   .  E8 AD11FFFF   call WinRAR.00AD2800
00AE1653   .  C745 FC 00000>mov dword ptr ss:[ebp-0x4],0x0
00AE165A   .  8935 04F0B600 mov dword ptr ds:[0xB6F004],esi
00AE1660   .  B9 F0B5B500   mov ecx,WinRAR.00B5B5F0
00AE1665   .  E8 8643F2FF   call WinRAR.00A059F0
00AE166A   .  E8 6137FEFF   call WinRAR.00AC4DD0
00AE166F   .  E8 4CEAFDFF   call WinRAR.00AC00C0
00AE1674   .  E8 07FBFFFF   call WinRAR.00AE1180
00AE1679   .  68 44DEB100   push WinRAR.00B1DE44                     ; /MutexName = "WinRAR_Busy"
00AE167E   .  6A 00         push 0x0                                 ; |InitialOwner = FALSE
00AE1680   .  6A 00         push 0x0                                 ; |pSecurity = NULL
00AE1682   .  FF15 5C43B100 call dword ptr ds:[<&KERNEL32.CreateMute>; \CreateMutexW
00AE1688   .  A3 D092B300   mov dword ptr ds:[0xB392D0],eax
00AE168D   .  6A 00         push 0x0                                 ; /Title = NULL
00AE168F   .  68 B858B100   push WinRAR.00B158B8                     ; |Class = "WinRarWindow"
00AE1694   .  FF15 8C45B100 call dword ptr ds:[<&USER32.FindWindowW>>; \FindWindowW
00AE169A   .  8BF8          mov edi,eax
00AE169C   .  897D E8       mov dword ptr ss:[ebp-0x18],edi
00AE169F      6A 00         push 0x0                                 ; /lParam = NULL
00AE16A1      56            push esi                                 ; |hInst = 00DBCB64
00AE16A2      6A 00         push 0x0                                 ; |hMenu = NULL
00AE16A4      6A 00         push 0x0                                 ; |hParent = NULL
00AE16A6      68 00000080   push 0x80000000                          ; |Height = 80000000 (-2147483648.)
00AE16AB      68 00000080   push 0x80000000                          ; |Width = 80000000 (-2147483648.)
00AE16B0      68 00000080   push 0x80000000                          ; |Y = 80000000 (-2147483648.)
00AE16B5      68 00000080   push 0x80000000                          ; |X = 80000000 (-2147483648.)
00AE16BA      68 0000CF06   push 0x6CF0000                           ; |Style =WS_OVERLAPPED|WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_CLIPSIBLINGS|WS_CLIPCHILDREN|WS_SYSMENU|WS_THICKFRAME|WS_CAPTION
00AE16BF      68 6C71B100   push WinRAR.00B1716C                     ; |WindowName = "WinRAR"
00AE16C4      68 B858B100   push WinRAR.00B158B8                     ; |Class = "WinRarWindow"
00AE16C9      6A 10         push 0x10                                ; |ExtStyle = WS_EX_ACCEPTFILES
00AE16CB      FF15 A045B100 call dword ptr ds:[<&USER32.CreateWindow>; \CreateWindowExW
00AE16D1   .  A3 AC81B300   mov dword ptr ds:[0xB381AC],eax
00AE16D6   .  85C0          test eax,eax
00AE16D8   .  0F84 C4050000 je WinRAR.00AE1CA2
00AE16DE   .  50            push eax
00AE16DF   .  B9 0CF0B600   mov ecx,WinRAR.00B6F00C
00AE16E4   .  E8 F7A6FAFF   call WinRAR.00A8BDE0
00AE16E9   .  6A 00         push 0x0
00AE16EB   .  E8 60DAFFFF   call WinRAR.00ADF150
00AE16F0   .  E8 8BF8FFFF   call WinRAR.00AE0F80
00AE16F5   .  84DB          test bl,bl
00AE16F7   .  74 1A         je short WinRAR.00AE1713
00AE16F9   .  E8 D22EFCFF   call WinRAR.00AA45D0
00AE16FE   .  84C0          test al,al
00AE1700   .  75 11         jnz short WinRAR.00AE1713
00AE1702   .  6A 01         push 0x1
00AE1704   .  6A 00         push 0x0
00AE1706   .  E8 D596F2FF   call WinRAR.00A0ADE0
00AE170B   .  84C0          test al,al
00AE170D   .  75 04         jnz short WinRAR.00AE1713
00AE170F   .  B7 01         mov bh,0x1
00AE1711   .  EB 02         jmp short WinRAR.00AE1715
00AE1713   >  32FF          xor bh,bh
00AE1715   >  8D85 00300000 lea eax,dword ptr ss:[ebp+0x3000]
00AE171B   .  50            push eax
00AE171C   .  E8 FF8BF2FF   call WinRAR.00A0A320
00AE1721   .  0FB785 003000>movzx eax,word ptr ss:[ebp+0x3000]
00AE1728   .  50            push eax                                 ; /StringOrChar = 27BC
00AE1729   .  E8 5247FBFF   call <jmp.&USER32.CharUpperW>            ; \CharUpperW
00AE172E   .  0FB7F0        movzx esi,ax
00AE1731   .  68 34040000   push 0x434
00AE1736   .  6A 00         push 0x0
00AE1738   .  68 38A3B300   push WinRAR.00B3A338
00AE173D   .  E8 DE620100   call WinRAR.00AF7A20
00AE1742   .  83C4 0C       add esp,0xC
00AE1745   .  6A 00         push 0x0
00AE1747   .  6A 00         push 0x0
00AE1749   .  6A 01         push 0x1
00AE174B   .  B9 A04BB400   mov ecx,WinRAR.00B44BA0
00AE1750   .  E8 FBD6F7FF   call WinRAR.00A5EE50
00AE1755   .  E8 06E9F2FF   call WinRAR.00A10060
00AE175A   .  66:85F6       test si,si
00AE175D   .  74 66         je short WinRAR.00AE17C5
00AE175F   .  803D B46BB400>cmp byte ptr ds:[0xB46BB4],0x0
00AE1766   .  75 5D         jnz short WinRAR.00AE17C5
00AE1768   .  56            push esi
00AE1769   .  68 5CDEB100   push WinRAR.00B1DE5C                     ;  UNICODE "AFUMD"
00AE176E   .  E8 6F500100   call WinRAR.00AF67E2
00AE1773   .  83C4 08       add esp,0x8
00AE1776   .  85C0          test eax,eax
00AE1778   .  75 32         jnz short WinRAR.00AE17AC
00AE177A   .  83FE 43       cmp esi,0x43
00AE177D   .  75 09         jnz short WinRAR.00AE1788
00AE177F   .  66:3985 02300>cmp word ptr ss:[ebp+0x3002],ax
00AE1786   .  74 24         je short WinRAR.00AE17AC
00AE1788   >  803D B46BB400>cmp byte ptr ds:[0xB46BB4],0x0
00AE178F   .  75 34         jnz short WinRAR.00AE17C5
00AE1791   .  56            push esi
00AE1792   .  68 68DEB100   push WinRAR.00B1DE68                     ;  UNICODE "TXE"
00AE1797   .  E8 46500100   call WinRAR.00AF67E2
00AE179C   .  83C4 08       add esp,0x8
00AE179F   .  85C0          test eax,eax
00AE17A1   .  74 22         je short WinRAR.00AE17C5
00AE17A3   .  6A 00         push 0x0
00AE17A5   .  E8 3609FFFF   call WinRAR.00AD20E0
00AE17AA   .  EB 20         jmp short WinRAR.00AE17CC
00AE17AC   >  E8 3F6FFEFF   call WinRAR.00AC86F0
00AE17B1   .  83FE 44       cmp esi,0x44
00AE17B4   .  74 05         je short WinRAR.00AE17BB
00AE17B6   .  83FE 43       cmp esi,0x43
00AE17B9   .  75 11         jnz short WinRAR.00AE17CC
00AE17BB   >  33C0          xor eax,eax
00AE17BD   .  66:A3 B05BB40>mov word ptr ds:[0xB45BB0],ax
00AE17C3   .  EB 07         jmp short WinRAR.00AE17CC
00AE17C5   >  6A 00         push 0x0
00AE17C7   .  E8 4436FEFF   call WinRAR.00AC4E10
00AE17CC   >  6A 00         push 0x0
00AE17CE   .  6A 00         push 0x0
00AE17D0   .  6A 01         push 0x1
00AE17D2   .  B9 A04BB400   mov ecx,WinRAR.00B44BA0
00AE17D7   .  E8 74D6F7FF   call WinRAR.00A5EE50
00AE17DC   .  68 A04BB400   push WinRAR.00B44BA0
00AE17E1   .  B9 D011B500   mov ecx,WinRAR.00B511D0
00AE17E6   .  E8 6567F2FF   call WinRAR.00A07F50
00AE17EB   .  68 00080000   push 0x800
00AE17F0   .  68 EAFFB400   push WinRAR.00B4FFEA
00AE17F5   .  68 B081B300   push WinRAR.00B381B0
00AE17FA   .  E8 5110FBFF   call WinRAR.00A92850
00AE17FF   .  33C0          xor eax,eax
00AE1801   .  66:A3 EAFFB40>mov word ptr ds:[0xB4FFEA],ax
00AE1807   .  68 00080000   push 0x800
00AE180C   .  8D45 00       lea eax,dword ptr ss:[ebp]
00AE180F   .  50            push eax
00AE1810   .  E8 CB93FEFF   call WinRAR.00ACABE0
00AE1815   .  8D45 00       lea eax,dword ptr ss:[ebp]
00AE1818   .  50            push eax
00AE1819   .  B9 78E2B500   mov ecx,WinRAR.00B5E278
00AE181E   .  E8 1D38F6FF   call WinRAR.00A45040
00AE1823   .  C705 5492B300>mov dword ptr ds:[0xB39254],0x0
00AE182D   .  C645 FC 01    mov byte ptr ss:[ebp-0x4],0x1
00AE1831   .  E8 4A87F2FF   call WinRAR.00A09F80
00AE1836   .  C745 FC 00000>mov dword ptr ss:[ebp-0x4],0x0
00AE183D   .  FF35 AC81B300 push dword ptr ds:[0xB381AC]
00AE1843   .  E8 58FBFFFF   call WinRAR.00AE13A0
00AE1848   .  66:833D CC9CB>cmp word ptr ds:[0xB49CCC],0x0
00AE1850   .  74 2C         je short WinRAR.00AE187E
00AE1852   .  68 CC9CB400   push WinRAR.00B49CCC
00AE1857   .  E8 54ACF9FF   call WinRAR.00A7C4B0
00AE185C   .  68 00080000   push 0x800
00AE1861   .  68 CC9CB400   push WinRAR.00B49CCC
00AE1866   .  68 E092B300   push WinRAR.00B392E0                     ;  UNICODE"C:\Users\IEUser\AppData\Roaming\WinRAR\rar.log"
00AE186B   .  3D CC9CB400   cmp eax,WinRAR.00B49CCC
00AE1870   .  75 07         jnz short WinRAR.00AE1879
00AE1872   .  E8 39ADF9FF   call WinRAR.00A7C5B0
00AE1877   .  EB 05         jmp short WinRAR.00AE187E
00AE1879   >  E8 D20FFBFF   call WinRAR.00A92850
00AE187E   >  6A 00         push 0x0                                 ; /lParam = 0x0
00AE1880   .  6A 00         push 0x0                                 ; |wParam = 0x0
00AE1882   .  68 03800000   push 0x8003                              ; |Message = MSG(0x8003)
00AE1887   .  FF35 AC81B300 push dword ptr ds:[0xB381AC]             ; |hWnd = 0xB05BC
00AE188D   .  FF15 9845B100 call dword ptr ds:[<&USER32.SendMessageW>; \SendMessageW
00AE1893   .  833D AC81B300>cmp dword ptr ds:[0xB381AC],0x0
00AE189A   .  0F84 93010000 je WinRAR.00AE1A33
00AE18A0   .  66:833D CAEFB>cmp word ptr ds:[0xB4EFCA],0x0
00AE18A8   .  0F85 6F030000 jnz WinRAR.00AE1C1D
00AE18AE   .  32DB          xor bl,bl
00AE18B0   .  66:833D EAFFB>cmp word ptr ds:[0xB4FFEA],0x0
00AE18B8   .  0F84 3A030000 je WinRAR.00AE1BF8
00AE18BE   .  68 EAFFB400   push WinRAR.00B4FFEA
00AE18C3   .  E8 F8A7F8FF   call WinRAR.00A6C0C0
00AE18C8   .  83F8 FF       cmp eax,-0x1
00AE18CB   .  74 06         je short WinRAR.00AE18D3
00AE18CD   .  A8 10         test al,0x10
00AE18CF   .  74 02         je short WinRAR.00AE18D3
00AE18D1   .  B3 01         mov bl,0x1
00AE18D3   >  66:833D EAFFB>cmp word ptr ds:[0xB4FFEA],0x0
00AE18DB   .  0F84 EB020000 je WinRAR.00AE1BCC
00AE18E1   .  84DB          test bl,bl
00AE18E3   .  0F85 E7020000 jnz WinRAR.00AE1BD0
00AE18E9   .  6A 00         push 0x0
00AE18EB   .  68 8850B100   push WinRAR.00B15088                     ;  UNICODE "ReuseWindow"
00AE18F0   .  68 A44BB100   push WinRAR.00B14BA4                     ;  UNICODE "General"
00AE18F5   .  E8 9623FCFF   call WinRAR.00AA3C90
00AE18FA   .  85C0          test eax,eax
00AE18FC   .  0F84 F7000000 je WinRAR.00AE19F9
00AE1902   .  85FF          test edi,edi
00AE1904   .  0F84 EF000000 je WinRAR.00AE19F9
00AE190A   .  6A 00         push 0x0
00AE190C   .  68 00080000   push 0x800
00AE1911   .  8D85 00200000 lea eax,dword ptr ss:[ebp+0x2000]
00AE1917   .  50            push eax
00AE1918   .  E8 F37FFEFF   call WinRAR.00AC9910
00AE191D   .  68 00080000   push 0x800
00AE1922   .  8D85 00200000 lea eax,dword ptr ss:[ebp+0x2000]
00AE1928   .  50            push eax
00AE1929   .  E8 E28FF9FF   call WinRAR.00A7A910
00AE192E   .  68 00080000   push 0x800
00AE1933   .  68 8CC3B100   push WinRAR.00B1C38C                     ;  UNICODE "Rar$"
00AE1938   .  8D85 00200000 lea eax,dword ptr ss:[ebp+0x2000]
00AE193E   .  50            push eax
00AE193F   .  E8 CC0EFBFF   call WinRAR.00A92810
00AE1944   .  8D8D 00200000 lea ecx,dword ptr ss:[ebp+0x2000]
00AE194A   .  8D51 02       lea edx,dword ptr ds:[ecx+0x2]
00AE194D   .  8D49 00       lea ecx,dword ptr ds:[ecx]
00AE1950   >  66:8B01       mov ax,word ptr ds:[ecx]
00AE1953   .  83C1 02       add ecx,0x2
00AE1956   .  66:85C0       test ax,ax
00AE1959   .^ 75 F5         jnz short WinRAR.00AE1950
00AE195B   .  2BCA          sub ecx,edx
00AE195D   .  D1F9          sar ecx,1
00AE195F   .  51            push ecx
00AE1960   .  8D85 00200000 lea eax,dword ptr ss:[ebp+0x2000]
00AE1966   .  50            push eax
00AE1967   .  68 EAFFB400   push WinRAR.00B4FFEA
00AE196C   .  E8 DF45FBFF   call WinRAR.00A95F50
00AE1971   .  85C0          test eax,eax
00AE1973   .  0F84 80000000 je WinRAR.00AE19F9
00AE1979   .  68 20DDB100   push WinRAR.00B1DD20                     ; /MapName = "RarArchiveWideName"
00AE197E   .  68 00100000   push 0x1000                              ; |MaximumSizeLow = 0x1000
00AE1983   .  6A 00         push 0x0                                 ; |MaximumSizeHigh = 0x0
00AE1985   .  68 04000008   push 0x8000004                           ; |Protection = PAGE_READWRITE|SEC_COMMIT
00AE198A   .  6A 00         push 0x0                                 ; |pSecurity = NULL
00AE198C   .  6A FF         push -0x1                                ; |hFile = FFFFFFFF
00AE198E   .  FF15 9843B100 call dword ptr ds:[<&KERNEL32.CreateFile>; \CreateFileMappingW
00AE1994   .  8BF8          mov edi,eax
00AE1996   .  85FF          test edi,edi
00AE1998   .  74 5C         je short WinRAR.00AE19F6
00AE199A   .  68 00100000   push 0x1000                              ; /MapSize = 1000 (4096.)
00AE199F   .  6A 00         push 0x0                                 ; |OffsetLow = 0x0
00AE19A1   .  6A 00         push 0x0                                 ; |OffsetHigh = 0x0
00AE19A3   .  6A 02         push 0x2                                 ; |AccessMode = FILE_MAP_WRITE
00AE19A5   .  57            push edi                                 ; |hMapObject = NULL
00AE19A6   .  FF15 A043B100 call dword ptr ds:[<&KERNEL32.MapViewOfF>; \MapViewOfFile
00AE19AC   .  8BF0          mov esi,eax
00AE19AE   .  68 00080000   push 0x800
00AE19B3   .  56            push esi
00AE19B4   .  68 EAFFB400   push WinRAR.00B4FFEA
00AE19B9   .  B9 78E2B500   mov ecx,WinRAR.00B5E278
00AE19BE   .  E8 8DF6F5FF   call WinRAR.00A41050
00AE19C3   .  56            push esi                                 ; /BaseAddress = 00DBCB64
00AE19C4   .  FF15 9C43B100 call dword ptr ds:[<&KERNEL32.UnmapViewO>; \UnmapViewOfFile
00AE19CA   .  68 F164E97A   push 0x7AE964F1                          ; /lParam = 0x7AE964F1
00AE19CF   .  68 5EAC89D4   push 0xD489AC5E                          ; |wParam = 0xD489AC5E
00AE19D4   .  68 01800000   push 0x8001                              ; |Message = MSG(0x8001)
00AE19D9   .  FF75 E8       push dword ptr ss:[ebp-0x18]             ; |hWnd = 0xDBCBB0
00AE19DC   .  FF15 9845B100 call dword ptr ds:[<&USER32.SendMessageW>; \SendMessageW
00AE19E2   .  85C0          test eax,eax
00AE19E4   .  0f95c3        setne bl
00AE19E7   .  57            push edi                                 ; /hObject = NULL
00AE19E8   .  FF15 A443B100 call dword ptr ds:[<&KERNEL32.CloseHandl>; \CloseHandle
00AE19EE   .  84DB          test bl,bl
00AE19F0   .  0F85 B8010000 jnz WinRAR.00AE1BAE
00AE19F6   >  8B7D E8       mov edi,dword ptr ss:[ebp-0x18]
00AE19F9   >  68 EAFFB400   push WinRAR.00B4FFEA
00AE19FE   .  B9 78E2B500   mov ecx,WinRAR.00B5E278
00AE1A03   .  E8 68FFF5FF   call WinRAR.00A41970
00AE1A08   .  84C0          test al,al
00AE1A0A      0F84 9E010000 je WinRAR.00AE1BAE
00AE1A10   .  803D D491B300>cmp byte ptr ds:[0xB391D4],0x0
00AE1A17   .  75 17         jnz short WinRAR.00AE1A30
00AE1A19   .  833D BC91B300>cmp dword ptr ds:[0xB391BC],0x0
00AE1A20   .  0F84 77010000 je WinRAR.00AE1B9D
00AE1A26   .  B9 78E2B500   mov ecx,WinRAR.00B5E278
00AE1A2B   .  E8 302EF6FF   call WinRAR.00A44860
00AE1A30   >  8A5D EF       mov bl,byte ptr ss:[ebp-0x11]
00AE1A33   >  57            push edi
00AE1A34   .  68 00000100   push 0x10000
00AE1A39   .  68 B038AD00   push WinRAR.00AD38B0
00AE1A3E   .  E8 DEAC0100   call WinRAR.00AFC721
00AE1A43   .  83C4 0C       add esp,0xC
00AE1A46   .  FF35 AC81B300 push dword ptr ds:[0xB381AC]             ; /hWnd = 000B05BC ('winrar32 (评估版本)',class='WinRarWindow')
00AE1A4C   .  FF15 C445B100 call dword ptr ds:[<&USER32.IsWindowVisi>; \IsWindowVisible
00AE1A52   .  85C0          test eax,eax
00AE1A54   .  75 0E         jnz short WinRAR.00AE1A64
00AE1A56   .  85FF          test edi,edi
00AE1A58   .  0f95c0        setne al
00AE1A5B   .  0FB6C0        movzx eax,al
00AE1A5E   .  50            push eax
00AE1A5F   .  E8 CCF5FFFF   call WinRAR.00AE1030
00AE1A64   >  FF35 AC81B300 push dword ptr ds:[0xB381AC]             ; /hWnd = 000B05BC ('winrar32 (评估版本)',class='WinRarWindow')
00AE1A6A   .  FF15 0C45B100 call dword ptr ds:[<&USER32.UpdateWindow>; \UpdateWindow
00AE1A70   .  84FF          test bh,bh
00AE1A72   .  74 27         je short WinRAR.00AE1A9B
00AE1A74   .  84DB          test bl,bl
00AE1A76   .  74 23         je short WinRAR.00AE1A9B
00AE1A78   .  68 704BB100   push WinRAR.00B14B70                     ;  UNICODE "Setup"
00AE1A7D   .  E8 0E00FCFF   call WinRAR.00AA1A90
00AE1A82   .  84C0          test al,al
00AE1A84   .  75 15         jnz short WinRAR.00AE1A9B
00AE1A86   .  68 844CB100   push WinRAR.00B14C84                     ;  UNICODE ".rar"
00AE1A8B   .  E8 8096F5FF   call WinRAR.00A3B110
00AE1A90   .  84C0          test al,al
00AE1A92   .  75 07         jnz short WinRAR.00AE1A9B
00AE1A94   .  6A 06         push 0x6
00AE1A96   .  E8 65B2F2FF   call WinRAR.00A0CD00
00AE1A9B   >  6A 00         push 0x0
00AE1A9D   .  68 1855B100   push WinRAR.00B15518                     ;  UNICODE "ExportedSettings"
00AE1AA2   .  68 7C48B100   push WinRAR.00B1487C
00AE1AA7   .  E8 E421FCFF   call WinRAR.00AA3C90
00AE1AAC   .  85C0          test eax,eax
00AE1AAE   .  74 05         je short WinRAR.00AE1AB5
00AE1AB0   .  E8 7B92F2FF   call WinRAR.00A0AD30
00AE1AB5   >  6A 00         push 0x0
00AE1AB7   .  6A 01         push 0x1
00AE1AB9   .  E8 E238FCFF   call WinRAR.00AA53A0
00AE1ABE   .  6A 00         push 0x0
00AE1AC0   .  68 7050B100   push WinRAR.00B15070                     ;  UNICODE "WizardMode"
00AE1AC5   .  68 A44BB100   push WinRAR.00B14BA4                     ;  UNICODE "General"
00AE1ACA   .  E8 C121FCFF   call WinRAR.00AA3C90
00AE1ACF   .  85C0          test eax,eax
00AE1AD1   .  74 24         je short WinRAR.00AE1AF7
00AE1AD3   .  FF35 AC81B300 push dword ptr ds:[0xB381AC]
00AE1AD9   .  E8 E2390000   call WinRAR.00AE54C0
00AE1ADE   .  84C0          test al,al
00AE1AE0   .  74 15         je short WinRAR.00AE1AF7
00AE1AE2   .  833D BC91B300>cmp dword ptr ds:[0xB391BC],0x0
00AE1AE9   .  75 0C         jnz short WinRAR.00AE1AF7
00AE1AEB   .  FF35 AC81B300 push dword ptr ds:[0xB381AC]             ; /hWnd = 000B05BC ('winrar32 (评估版本)',class='WinRarWindow')
00AE1AF1   .  FF15 A445B100 call dword ptr ds:[<&USER32.DestroyWindo>; \DestroyWindow
00AE1AF7   >  6A 00         push 0x0
00AE1AF9   .  6A 00         push 0x0
00AE1AFB   .  E8 00F0FFFF   call WinRAR.00AE0B00
00AE1B00   .  84C0          test al,al
00AE1B02   .^ 75 F3         jnz short WinRAR.00AE1AF7
00AE1B04   .  6A 01         push 0x1
00AE1B06   .  6A 00         push 0x0
00AE1B08   .  6A 00         push 0x0
00AE1B0A   .  E8 7187FEFF   call WinRAR.00ACA280
00AE1B0F   .  B9 34A3B300   mov ecx,WinRAR.00B3A334
00AE1B14   .  E8 C7080000   call WinRAR.00AE23E0
00AE1B19   .  E8 A21EFFFF   call WinRAR.00AD39C0
00AE1B1E   .  C605 D592B300>mov byte ptr ds:[0xB392D5],0x1
00AE1B25   .  FF35 F8A2B300 push dword ptr ds:[0xB3A2F8]             ; /hEvent = 00000238 (window)
00AE1B2B   .  FF15 9441B100 call dword ptr ds:[<&KERNEL32.SetEvent>] ; \SetEvent
00AE1B31   .  33F6          xor esi,esi
00AE1B33   .  8B3D 5043B100 mov edi,dword ptr ds:[<&KERNEL32.Sleep>] ;  KERNEL32.Sleep
00AE1B39   .  8DA424 000000>lea esp,dword ptr ss:[esp]
00AE1B40   >  833D F0A2B300>cmp dword ptr ds:[0xB3A2F0],0x0
00AE1B47   .  7E 0D         jle short WinRAR.00AE1B56
00AE1B49   .  6A 64         push 0x64
00AE1B4B   .  FFD7          call edi
00AE1B4D   .  4E            dec esi
00AE1B4E   .  81FE C8000000 cmp esi,0xC8
00AE1B54   .^ 7C EA         jl short WinRAR.00AE1B40
00AE1B56   >  FF35 F8A2B300 push dword ptr ds:[0xB3A2F8]             ; /hObject = 00000238 (window)
00AE1B5C   .  FF15 A443B100 call dword ptr ds:[<&KERNEL32.CloseHandl>; \CloseHandle
00AE1B62   .  833D CC92B300>cmp dword ptr ds:[0xB392CC],0x0
00AE1B69   .  0F84 0B010000 je WinRAR.00AE1C7A
00AE1B6F   .  83C8 FF       or eax,-0x1
00AE1B72   .  A3 CC92B300   mov dword ptr ds:[0xB392CC],eax
00AE1B77   .  33F6          xor esi,esi
00AE1B79   .  8DA424 000000>lea esp,dword ptr ss:[esp]
00AE1B80   >  85C0          test eax,eax
00AE1B82   .  0F84 10010000 je WinRAR.00AE1C98
00AE1B88   .  6A 64         push 0x64
00AE1B8A   .  FFD7          call edi
00AE1B8C   .  46            inc esi
00AE1B8D   .  83FE 0A       cmp esi,0xA
00AE1B90   .  0F8D 02010000 jge WinRAR.00AE1C98
00AE1B96   .  A1 CC92B300   mov eax,dword ptr ds:[0xB392CC]
00AE1B9B   .^ EB E3         jmp short WinRAR.00AE1B80
00AE1B9D   >  FF35 AC81B300 push dword ptr ds:[0xB381AC]             ; /hWnd = 000B05BC ('winrar32 (评估版本)',class='WinRarWindow')
00AE1BA3   .  FF15 A445B100 call dword ptr ds:[<&USER32.DestroyWindo>; \DestroyWindow
00AE1BA9   .^ E9 82FEFFFF   jmp WinRAR.00AE1A30
00AE1BAE   >  E8 FDDDFEFF   call WinRAR.00ACF9B0
其中在“DestroyWindow”这一处(这里有两处,分别代表关闭主窗口和广告窗口,不知道是哪个的话我们可以下断点测试一下),应该是关闭窗口的操作,那么广告窗口应该就在它的上方,向上找相关调用,下断点调试肯定找到调用广告窗口的地方,判断出00AE1AB9位置的call WinRAR.00AA53A0这个函数调用,在这个位置向上找关键跳转,看看能否跳过这个函数调用,也可以直接nop掉该处的调用,找到00AE1AAE位置的跳转操作je short WinRAR.00AE1AB5,将其改为jmp 0x00AE1AF7直接跳过DestroyWindow函数,另一处的修改我选择用Binary Ninja这款反编译工具来完成,因为这款软件的流程图排版比较合理容易分析,并且占用系统资源比较小,其右键"patch"功能在修改汇编代码方面相对比较优秀。使用Binary Ninja加载winrar主程序后,按“G”键输入我们需要查找的地址,与OD的偏移地址不同,我们需要自己对应一下,00AE1520对应的是004E1520,直接查找该位置如图所示:

在上述代码中我们关注到有一处调用系统API函数IsWindowVisible(设置可见属性)的地方,即位置00AE1A4C处,这处如果调用起来的话就会使得标题栏对应的许可信息隐藏,那么我们在Binary Ninja中查找位置004E1A4C,得到如下图所示:

点选该位置所在的流程块的第一行即“push  edi {var_18_13}”处,在左下角的“Cross References”窗口中可以看到两个地址跳转到它,分析之后我们判断可以将最早跳转的地址0x4e189a的汇编代码修改为“jmp 0x4e1a33”(在该位置右击-->"patch"-->"Edit Current Line",如图所示)

修改之后如下图:

完成这两步后保存好修改,然后我们运行一下winrar得到如图:这下可以软件可以安静的启动,没有广告弹窗和标题栏的许可过期提醒。

可是别高兴太早,我们将系统时间调至软件过期,重新启动winrar,还是会出现如下窗口,提示购买winrar许可。

重复运行、暂停、查看堆栈、查看调用、步进调试一系列操作我们会找到如下代码段,可以看到这段代码包含广告的链接地址"http://ad.winrar.com.cn/show_2.html?L=7&bl=7&v=Vpersonal&a=A&src=pe001"以及提醒许可过期需要重新购买的函数RarReminder。
1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

271

272

273

274

275

276

277

278

279

280

281

282

283

284

285

286

287

288

289

290

291

292

293

294

295

296

297

298

299

300

301

302

303

304

305

306

307

  1 00B853A0  /$  B8 18100000   mov eax,0x1018
  2 00B853A5  |.  E8 26010500   call WinRAR1.00BD54D0
  3 00B853AA  |.  A1 341BC100   mov eax,dword ptr ds:[0xC11B34]
  4 00B853AF  |.  33C4          xor eax,esp
  5 00B853B1  |.  898424 141000>mov dword ptr ss:[esp+0x1014],eax
  6 00B853B8  |.  803D 74A5C500>cmp byte ptr ds:[0xC5A574],0x0
  7 00B853BF  |.  74 0E         je short WinRAR1.00B853CF
  8 00B853C1  |.  80BC24 201000>cmp byte ptr ss:[esp+0x1020],0x0
  9 00B853C9  |.  0F84 08040000 je WinRAR1.00B857D7
10 00B853CF  |>  833D ACFBC000>cmp dword ptr ds:[0xC0FBAC],0x0
11 00B853D6  |.  56            push esi
12 00B853D7  |.  74 1C         je short WinRAR1.00B853F5
13 00B853D9  |.  B9 98FBC000   mov ecx,WinRAR1.00C0FB98                 ;  ASCII "8g3#0w1$5r7%2ta"
14 00B853DE  |.  E8 1DF9FFFF   call WinRAR1.00B84D00
15 00B853E3  |.  833D ACFBC000>cmp dword ptr ds:[0xC0FBAC],0x0
16 00B853EA  |.  0F84 A1000000 je WinRAR1.00B85491
17 00B853F0  |.  E9 88000000   jmp WinRAR1.00B8547D
18 00B853F5  |>  68 FD040000   push 0x4FD
19 00B853FA  |.  E8 6171FEFF   call WinRAR1.00B6C560
20 00B853FF  |.  8BF0          mov esi,eax
21 00B85401  |.  66:833E 23    cmp word ptr ds:[esi],0x23
22 00B85405  |.  75 20         jnz short WinRAR1.00B85427
23 00B85407  |.  66:837E 02 23 cmp word ptr ds:[esi+0x2],0x23
24 00B8540C  |.  75 19         jnz short WinRAR1.00B85427
25 00B8540E  |.  8BCE          mov ecx,esi
26 00B85410  |.  8D51 02       lea edx,dword ptr ds:[ecx+0x2]
27 00B85413  |>  66:8B01       /mov ax,word ptr ds:[ecx]
28 00B85416  |.  83C1 02       |add ecx,0x2
29 00B85419  |.  66:85C0       |test ax,ax
30 00B8541C  |.^ 75 F5         \jnz short WinRAR1.00B85413
31 00B8541E  |.  2BCA          sub ecx,edx
32 00B85420  |.  D1F9          sar ecx,1
33 00B85422  |.  83F9 64       cmp ecx,0x64
34 00B85425  |.  73 06         jnb short WinRAR1.00B8542D
35 00B85427  |>  8B35 1800C100 mov esi,dword ptr ds:[0xC10018]          ;  WinRAR1.00BF9628
36 00B8542D  |>  68 00100000   push 0x1000
37 00B85432  |.  8D4424 1C     lea eax,dword ptr ss:[esp+0x1C]
38 00B85436  |.  6A 00         push 0x0
39 00B85438  |.  50            push eax
40 00B85439  |.  E8 E2250500   call WinRAR1.00BD7A20
41 00B8543E  |.  83C4 0C       add esp,0xC
42 00B85441  |.  8D4424 18     lea eax,dword ptr ss:[esp+0x18]
43 00B85445  |.  68 00100000   push 0x1000
44 00B8544A  |.  50            push eax
45 00B8544B  |.  8D46 04       lea eax,dword ptr ds:[esi+0x4]
46 00B8544E  |.  50            push eax
47 00B8544F  |.  E8 0C07FFFF   call WinRAR1.00B75B60
48 00B85454  |.  8D4C24 18     lea ecx,dword ptr ss:[esp+0x18]
49 00B85458  |.  8D51 01       lea edx,dword ptr ds:[ecx+0x1]
50 00B8545B  |.  EB 03         jmp short WinRAR1.00B85460
51 00B8545D  |   8D49 00       lea ecx,dword ptr ds:[ecx]
52 00B85460  |>  8A01          /mov al,byte ptr ds:[ecx]
53 00B85462  |.  41            |inc ecx
54 00B85463  |.  84C0          |test al,al
55 00B85465  |.^ 75 F9         \jnz short WinRAR1.00B85460
56 00B85467  |.  2BCA          sub ecx,edx
57 00B85469  |.  8D4424 18     lea eax,dword ptr ss:[esp+0x18]
58 00B8546D  |.  51            push ecx
59 00B8546E  |.  50            push eax
60 00B8546F  |.  B9 98FBC000   mov ecx,WinRAR1.00C0FB98                 ;  ASCII "8g3#0w1$5r7%2ta"
61 00B85474  |.  E8 67F4FFFF   call WinRAR1.00B848E0
62 00B85479  |.  84C0          test al,al
63 00B8547B  |.  75 14         jnz short WinRAR1.00B85491
64 00B8547D  |>  68 80040000   push 0x480
65 00B85482  |.  6A 00         push 0x0
66 00B85484  |.  68 98FBC000   push WinRAR1.00C0FB98                    ;  ASCII "8g3#0w1$5r7%2ta"
67 00B85489  |.  E8 92250500   call WinRAR1.00BD7A20
68 00B8548E  |.  83C4 0C       add esp,0xC
69 00B85491  |>  803D B467C400>cmp byte ptr ds:[0xC467B4],0x0
70 00B85498  |.  53            push ebx
71 00B85499  |.  75 12         jnz short WinRAR1.00B854AD
72 00B8549B  |.  A1 DC92C100   mov eax,dword ptr ds:[0xC192DC]
73 00B854A0  |.  83F8 28       cmp eax,0x28
74 00B854A3  |.  7F 04         jg short WinRAR1.00B854A9
75 00B854A5  |.  85C0          test eax,eax
76 00B854A7  |.  79 04         jns short WinRAR1.00B854AD
77 00B854A9  |>  B3 01         mov bl,0x1
78 00B854AB  |.  EB 02         jmp short WinRAR1.00B854AF
79 00B854AD  |>  32DB          xor bl,bl
80 00B854AF  |>  80BC24 241000>cmp byte ptr ss:[esp+0x1024],0x0
81 00B854B7  |.  0F84 EE020000 je WinRAR1.00B857AB
82 00B854BD  |.  E8 4EA0FCFF   call WinRAR1.00B4F510
83 00B854C2  |.  3D 01050000   cmp eax,0x501
84 00B854C7  |.  77 10         ja short WinRAR1.00B854D9
85 00B854C9  |.  F705 A8FBC000>test dword ptr ds:[0xC0FBA8],0x200
86 00B854D3  |.  0F84 FC020000 je WinRAR1.00B857D5
87 00B854D9  |>  803D 18FFC000>cmp byte ptr ds:[0xC0FF18],0x0
88 00B854E0  |.  0F84 EF020000 je WinRAR1.00B857D5
89 00B854E6  |.  C605 C3FCC000>mov byte ptr ds:[0xC0FCC3],0x0
90 00B854ED  |.  C605 C7FDC000>mov byte ptr ds:[0xC0FDC7],0x0
91 00B854F4  |.  C605 1700C100>mov byte ptr ds:[0xC10017],0x0
92 00B854FB  |.  84DB          test bl,bl
93 00B854FD  |.  75 14         jnz short WinRAR1.00B85513
94 00B854FF  |.  A0 A8FBC000   mov al,byte ptr ds:[0xC0FBA8]
95 00B85504  |.  24 80         and al,0x80
96 00B85506  |.  0FB6C0        movzx eax,al
97 00B85509  |.  F7D8          neg eax
98 00B8550B  |.  1BC0          sbb eax,eax
99 00B8550D  |.  2105 B0FBC000 and dword ptr ds:[0xC0FBB0],eax
100 00B85513  |>  32FF          xor bh,bh
101 00B85515  |.  833D C0FBC000>cmp dword ptr ds:[0xC0FBC0],0x0
102 00B8551C  |.  76 50         jbe short WinRAR1.00B8556E
103 00B8551E  |.  383D B467C400 cmp byte ptr ds:[0xC467B4],bh
104 00B85524  |.  75 48         jnz short WinRAR1.00B8556E
105 00B85526  |.  6A 00         push 0x0
106 00B85528  |.  68 A098BF00   push WinRAR1.00BF98A0                    ;  UNICODE "RemShown"
107 00B8552D  |.  68 306CBF00   push WinRAR1.00BF6C30                    ;  UNICODE "Interface\Misc"
108 00B85532  |.  E8 59E7FFFF   call WinRAR1.00B83C90
109 00B85537  |.  3B05 C0FBC000 cmp eax,dword ptr ds:[0xC0FBC0]
110 00B8553D  |.  73 2F         jnb short WinRAR1.00B8556E
111 00B8553F  |.  40            inc eax
112 00B85540  |.  50            push eax
113 00B85541  |.  68 A098BF00   push WinRAR1.00BF98A0                    ;  UNICODE "RemShown"
114 00B85546  |.  68 306CBF00   push WinRAR1.00BF6C30                    ;  UNICODE "Interface\Misc"
115 00B8554B  |.  E8 50F3FFFF   call WinRAR1.00B848A0
116 00B85550  |.  803D C4FBC000>cmp byte ptr ds:[0xC0FBC4],0x0
117 00B85557  |.  B7 01         mov bh,0x1
118 00B85559  |.  0F84 B8000000 je WinRAR1.00B85617
119 00B8555F  |.  68 00010000   push 0x100
120 00B85564  |.  68 C4FBC000   push WinRAR1.00C0FBC4                    ;  ASCII "http://ad.winrar.com.cn/show_1.html?L=7&bl=7&v=$Vpersonal&a=$A&src=pe001"
121 00B85569  |.  E9 9F000000   jmp WinRAR1.00B8560D
122 00B8556E  |>  833D C4FCC000>cmp dword ptr ds:[0xC0FCC4],0x0
123 00B85575  |.  76 45         jbe short WinRAR1.00B855BC
124 00B85577  |.  84DB          test bl,bl
125 00B85579  |.  74 41         je short WinRAR1.00B855BC
126 00B8557B  |.  6A 00         push 0x0
127 00B8557D  |.  68 B498BF00   push WinRAR1.00BF98B4                    ;  UNICODE "ExpRemShown"
128 00B85582  |.  68 306CBF00   push WinRAR1.00BF6C30                    ;  UNICODE "Interface\Misc"
129 00B85587  |.  E8 04E7FFFF   call WinRAR1.00B83C90
130 00B8558C  |.  3B05 C4FCC000 cmp eax,dword ptr ds:[0xC0FCC4]
131 00B85592  |.  73 28         jnb short WinRAR1.00B855BC
132 00B85594  |.  40            inc eax
133 00B85595  |.  50            push eax
134 00B85596  |.  68 B498BF00   push WinRAR1.00BF98B4                    ;  UNICODE "ExpRemShown"
135 00B8559B  |.  68 306CBF00   push WinRAR1.00BF6C30                    ;  UNICODE "Interface\Misc"
136 00B855A0  |.  E8 FBF2FFFF   call WinRAR1.00B848A0
137 00B855A5  |.  803D C8FCC000>cmp byte ptr ds:[0xC0FCC8],0x0
138 00B855AC  |.  B7 01         mov bh,0x1
139 00B855AE  |.  74 67         je short WinRAR1.00B85617
140 00B855B0  |.  68 00010000   push 0x100
141 00B855B5  |.  68 C8FCC000   push WinRAR1.00C0FCC8                    ;  ASCII "http://ad.winrar.com.cn/show_2.html?L=7&bl=7&v=$Vpersonal&a=$A&src=pe001"
142 00B855BA  |.  EB 51         jmp short WinRAR1.00B8560D
143 00B855BC  |>  833D C8FDC000>cmp dword ptr ds:[0xC0FDC8],0x0
144 00B855C3  |.  76 52         jbe short WinRAR1.00B85617
145 00B855C5  |.  803D B467C400>cmp byte ptr ds:[0xC467B4],0x0
146 00B855CC  |.  74 49         je short WinRAR1.00B85617
147 00B855CE  |.  6A 00         push 0x0
148 00B855D0  |.  68 CC98BF00   push WinRAR1.00BF98CC                    ;  UNICODE "RegRemShown"
149 00B855D5  |.  68 306CBF00   push WinRAR1.00BF6C30                    ;  UNICODE "Interface\Misc"
150 00B855DA  |.  E8 B1E6FFFF   call WinRAR1.00B83C90
151 00B855DF  |.  3B05 C8FDC000 cmp eax,dword ptr ds:[0xC0FDC8]
152 00B855E5  |.  73 30         jnb short WinRAR1.00B85617
153 00B855E7  |.  40            inc eax
154 00B855E8  |.  50            push eax
155 00B855E9  |.  68 CC98BF00   push WinRAR1.00BF98CC                    ;  UNICODE "RegRemShown"
156 00B855EE  |.  68 306CBF00   push WinRAR1.00BF6C30                    ;  UNICODE "Interface\Misc"
157 00B855F3  |.  E8 A8F2FFFF   call WinRAR1.00B848A0
158 00B855F8  |.  803D CCFDC000>cmp byte ptr ds:[0xC0FDCC],0x0
159 00B855FF  |.  B7 01         mov bh,0x1
160 00B85601  |.  74 14         je short WinRAR1.00B85617
161 00B85603  |.  68 00010000   push 0x100
162 00B85608  |.  68 CCFDC000   push WinRAR1.00C0FDCC
163 00B8560D  |>  68 18FFC000   push WinRAR1.00C0FF18                    ;  ASCII "http://ad.winrar.com.cn/show_2.html?L=7&bl=7&v=$Vpersonal&a=$A&src=pe001"
164 00B85612  |.  E8 49D1FEFF   call WinRAR1.00B72760
165 00B85617  |>  FF15 3843BF00 call dword ptr ds:[<&KERNEL32.GetTickCou>; [GetTickCount
166 00B8561D  |.  8BC8          mov ecx,eax
167 00B8561F  |.  B8 D34D6210   mov eax,0x10624DD3
168 00B85624  |.  F7E1          mul ecx
169 00B85626  |.  C1EA 06       shr edx,0x6
170 00B85629  |.  803D B467C400>cmp byte ptr ds:[0xC467B4],0x0
171 00B85630  |.  74 08         je short WinRAR1.00B8563A
172 00B85632  |.  8B0D BCFBC000 mov ecx,dword ptr ds:[0xC0FBBC]
173 00B85638  |.  EB 20         jmp short WinRAR1.00B8565A
174 00B8563A  |>  84DB          test bl,bl
175 00B8563C  |.  75 16         jnz short WinRAR1.00B85654
176 00B8563E  |.  8B0D B4FBC000 mov ecx,dword ptr ds:[0xC0FBB4]
177 00B85644  |.  85C9          test ecx,ecx
178 00B85646  |.  74 20         je short WinRAR1.00B85668
179 00B85648  |.  8BC2          mov eax,edx
180 00B8564A  |.  33D2          xor edx,edx
181 00B8564C  |.  F7F1          div ecx
182 00B8564E  |.  85D2          test edx,edx
183 00B85650  |.  75 16         jnz short WinRAR1.00B85668
184 00B85652  |.  EB 1C         jmp short WinRAR1.00B85670
185 00B85654  |>  8B0D B8FBC000 mov ecx,dword ptr ds:[0xC0FBB8]
186 00B8565A  |>  85C9          test ecx,ecx
187 00B8565C  |.  74 0A         je short WinRAR1.00B85668
188 00B8565E  |.  8BC2          mov eax,edx
189 00B85660  |.  33D2          xor edx,edx
190 00B85662  |.  F7F1          div ecx
191 00B85664  |.  85D2          test edx,edx
192 00B85666  |.  74 08         je short WinRAR1.00B85670
193 00B85668  |>  84FF          test bh,bh
194 00B8566A  |.  0F84 65010000 je WinRAR1.00B857D5
195 00B85670  |>  55            push ebp
196 00B85671  |.  57            push edi
197 00B85672  |.  8B3D A8FBC000 mov edi,dword ptr ds:[0xC0FBA8]
198 00B85678  |.  C1E7 11       shl edi,0x11
199 00B8567B  |.  F7D7          not edi
200 00B8567D  |.  81E7 00000400 and edi,0x40000
201 00B85683  |.  81CF 0000C816 or edi,0x16C80000
202 00B85689  |.  F605 A8FBC000>test byte ptr ds:[0xC0FBA8],0x8
203 00B85690  |.  75 06         jnz short WinRAR1.00B85698
204 00B85692  |.  81CF 00000300 or edi,0x30000
205 00B85698  |>  A1 D0FEC000   mov eax,dword ptr ds:[0xC0FED0]
206 00B8569D  |.  BD 00000080   mov ebp,0x80000000
207 00B856A2  |.  C74424 10 000>mov dword ptr ss:[esp+0x10],0x80000000
208 00B856AA  |.  8BF5          mov esi,ebp
209 00B856AC  |.  8BDE          mov ebx,esi
210 00B856AE  |.  85C0          test eax,eax
211 00B856B0  |.  0F84 90000000 je WinRAR1.00B85746
212 00B856B6  |.  833D CCFEC000>cmp dword ptr ds:[0xC0FECC],0x0
213 00B856BD  |.  0F84 83000000 je WinRAR1.00B85746
214 00B856C3  |.  50            push eax
215 00B856C4  |.  E8 87530200   call WinRAR1.00BAAA50
216 00B856C9  |.  8B2D 8C46BF00 mov ebp,dword ptr ds:[<&USER32.GetSystem>;  USER32.GetSystemMetrics
217 00B856CF  |.  8BF0          mov esi,eax
218 00B856D1  |.  6A 21         push 0x21                                ; /Index = SM_CYFRAME
219 00B856D3  |.  FFD5          call ebp                                 ; \GetSystemMetrics
220 00B856D5  |.  6A 04         push 0x4                                 ; /Index = SM_CYCAPTION
221 00B856D7  |.  8D1C46        lea ebx,dword ptr ds:[esi+eax*2]         ; |
222 00B856DA  |.  FFD5          call ebp                                 ; \GetSystemMetrics
223 00B856DC  |.  03D8          add ebx,eax
224 00B856DE  |.  F605 A8FBC000>test byte ptr ds:[0xC0FBA8],0x40
225 00B856E5  |.  75 0C         jnz short WinRAR1.00B856F3
226 00B856E7  |.  F705 A8FBC000>test dword ptr ds:[0xC0FBA8],0x100
227 00B856F1  |.  75 06         jnz short WinRAR1.00B856F9
228 00B856F3  |>  031D 70A5C500 add ebx,dword ptr ds:[0xC5A570]
229 00B856F9  |>  FF35 CCFEC000 push dword ptr ds:[0xC0FECC]
230 00B856FF  |.  E8 FC520200   call WinRAR1.00BAAA00
231 00B85704  |.  6A 20         push 0x20
232 00B85706  |.  8BF0          mov esi,eax
233 00B85708  |.  FFD5          call ebp
234 00B8570A  |.  6A 00         push 0x0                                 ; /UpdateProfile = 0
235 00B8570C  |.  8D3446        lea esi,dword ptr ds:[esi+eax*2]         ; |
236 00B8570F  |.  8D4424 18     lea eax,dword ptr ss:[esp+0x18]          ; |
237 00B85713  |.  50            push eax                                 ; |pParam = NULL
238 00B85714  |.  6A 00         push 0x0                                 ; |wParam = 0x0
239 00B85716  |.  6A 30         push 0x30                                ; |Action = SPI_GETWORKAREA
240 00B85718  |.  FF15 8C44BF00 call dword ptr ds:[<&USER32.SystemParame>; \SystemParametersInfoW
241 00B8571E  |.  8B4424 1C     mov eax,dword ptr ss:[esp+0x1C]
242 00B85722  |.  3BF0          cmp esi,eax
243 00B85724  |.  7C 02         jl short WinRAR1.00B85728
244 00B85726  |.  8BF0          mov esi,eax
245 00B85728  |>  2BC6          sub eax,esi
246 00B8572A  |.  99            cdq
247 00B8572B  |.  2BC2          sub eax,edx
248 00B8572D  |.  D1F8          sar eax,1
249 00B8572F  |.  894424 10     mov dword ptr ss:[esp+0x10],eax
250 00B85733  |.  8B4424 20     mov eax,dword ptr ss:[esp+0x20]          ;  WinRAR1.00C4D45D
251 00B85737  |.  3BD8          cmp ebx,eax
252 00B85739  |.  7C 02         jl short WinRAR1.00B8573D
253 00B8573B  |.  8BD8          mov ebx,eax
254 00B8573D  |>  2BC3          sub eax,ebx
255 00B8573F  |.  99            cdq
256 00B85740  |.  2BC2          sub eax,edx
257 00B85742  |.  8BE8          mov ebp,eax
258 00B85744  |.  D1FD          sar ebp,1
259 00B85746  |>  68 00010000   push 0x100
260 00B8574B  |.  68 18FFC000   push WinRAR1.00C0FF18                    ;  ASCII "http://ad.winrar.com.cn/show_2.html?L=7&bl=7&v=$Vpersonal&a=$A&src=pe001"
261 00B85750  |.  E8 3BF3FFFF   call WinRAR1.00B84A90
262 00B85755  |.  6A 00         push 0x0                                 ; /lParam = NULL
263 00B85757  |.  FF35 04F0C400 push dword ptr ds:[0xC4F004]             ; |hInst = 00AE0000
264 00B8575D  |.  6A 00         push 0x0                                 ; |hMenu = NULL
265 00B8575F  |.  6A 00         push 0x0                                 ; |hParent = NULL
266 00B85761  |.  53            push ebx                                 ; |Height = 902DC (590556.)
267 00B85762  |.  56            push esi                                 ; |Width = 0x0
268 00B85763  |.  55            push ebp                                 ; |Y = 5FA518 (6268184.)
269 00B85764  |.  FF7424 2C     push dword ptr ss:[esp+0x2C]             ; |X = 0x0
270 00B85768  |.  57            push edi                                 ; |Style =WS_OVERLAPPED|WS_MINIMIZEBOX|WS_SYSMENU|WS_THICKFRAME|3FE
271 00B85769  |.  68 6C71BF00   push WinRAR1.00BF716C                    ; |WindowName = "WinRAR"
272 00B8576E  |.  68 E498BF00   push WinRAR1.00BF98E4                    ; |Class = "RarReminder"
273 00B85773  |.  6A 00         push 0x0                                 ; |ExtStyle = 0
274 00B85775  |.  FF15 A045BF00 call dword ptr ds:[<&USER32.CreateWindow>; \CreateWindowExW
275 00B8577B  |.  F605 A8FBC000>test byte ptr ds:[0xC0FBA8],0x1
276 00B85782  |.  5F            pop edi                                  ;  USER32.76CD87ED
277 00B85783  |.  5D            pop ebp                                  ;  USER32.76CD87ED
278 00B85784  |.  74 13         je short WinRAR1.00B85799
279 00B85786  |.  6A 03         push 0x3                                 ; /Flags = SWP_NOSIZE|SWP_NOMOVE
280 00B85788  |.  6A 00         push 0x0                                 ; |Height = 0x0
281 00B8578A  |.  6A 00         push 0x0                                 ; |Width = 0x0
282 00B8578C  |.  6A 00         push 0x0                                 ; |Y = 0x0
283 00B8578E  |.  6A 00         push 0x0                                 ; |X = 0x0
284 00B85790  |.  6A FF         push -0x1                                ; |InsertAfter = HWND_TOPMOST
285 00B85792  |.  50            push eax                                 ; |hWnd = NULL
286 00B85793  |.  FF15 B845BF00 call dword ptr ds:[<&USER32.SetWindowPos>; \SetWindowPos
287 00B85799  |>  833D C091C100>cmp dword ptr ds:[0xC191C0],0x0
288 00B857A0  |.  74 33         je short WinRAR1.00B857D5
289 00B857A2  |.  C605 74A5C500>mov byte ptr ds:[0xC5A574],0x1
290 00B857A9  |.  EB 2A         jmp short WinRAR1.00B857D5
291 00B857AB  |>  84DB          test bl,bl
292 00B857AD  |.  74 26         je short WinRAR1.00B857D5
293 00B857AF  |.  6A 00         push 0x0                                 ; /lParam = NULL
294 00B857B1  |.  68 10C2BB00   push WinRAR1.00BBC210                    ; |DlgProc = WinRAR1.00BBC210
295 00B857B6  |.  C605 74A5C500>mov byte ptr ds:[0xC5A574],0x1           ; |
296 00B857BD  |.  FF15 F444BF00 call dword ptr ds:[<&USER32.GetFocus>]   ; |[GetFocus
297 00B857C3  |.  50            push eax                                 ; |hOwner = NULL
298 00B857C4  |.  68 FC98BF00   push WinRAR1.00BF98FC                    ; |pTemplate = "REMINDER"
299 00B857C9  |.  FF35 00F0C400 push dword ptr ds:[0xC4F000]             ; |hInst = 00AE0000
300 00B857CF  |.  FF15 C845BF00 call dword ptr ds:[<&USER32.DialogBoxPar>; \DialogBoxParamW
301 00B857D5  |>  5B            pop ebx                                  ;  USER32.76CD87ED
302 00B857D6  |.  5E            pop esi                                  ;  USER32.76CD87ED
303 00B857D7  |>  8B8C24 141000>mov ecx,dword ptr ss:[esp+0x1014]
304 00B857DE  |.  33CC          xor ecx,esp
305 00B857E0  |.  E8 D7FC0400   call WinRAR1.00BD54BC
306 00B857E5  |.  81C4 18100000 add esp,0x1018
307 00B857EB  \.  C2 0800       retn 0x8
经过分析判断,我们需要关注两处跳转,在函数开始第7行和第9行的跳转,将第7行的跳转NOP掉,第9行改jmp无条件跳转,即可以将程序的执行流程跳过广告链接和重新购买许可证的窗口。
1

2

3

7 00B853BF  |.  74 0E         je short WinRAR1.00B853CF
8 00B853C1  |.  80BC24 201000>cmp byte ptr ss:[esp+0x1020],0x0
9 00B853C9  |.  0F84 08040000 je WinRAR1.00B857D7
完成修改后,点击鼠标右键,在弹出的菜单中依次选择“复制到可执行文件”-->“所有修改”-->“复制”。
  
然后在新窗口中右击选择“保存文件”即可保存修改。

整个世界彻底清净来,老衲要继续清修了^_^!!!!
附:分享几个系统函数。CreateWindowEx function:https://msdn.microsoft.com/zh-cn/vstudio/ms632680(v=vs.90)
DestroyWindow function:https://docs.microsoft.com/zh-cn/windows/win32/api/winuser/nf-winuser-destroywindow
IsWindowVisible function:https://docs.microsoft.com/zh-cn/windows/win32/api/winuser/nf-winuser-iswindowvisible
还有一个大牛写的注册机:https://www.chinapyg.com/forum.php?mod=viewthread&tid=120703&highlight=winrar

THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发
  • 管埋员的头像-小北的自留地

    昵称

  • 取消
    昵称