2010年8月26日MFC程序消息映射与破解

00401633    .  8B7424 18          MOV ESI,DWORD PTR SS:[ESP+18]
00401637    >  6A 00              PUSH 0
...

分类:加密解密  标签:MFC  消息映射  破解    网友评论2条  已浏览loading

2010年8月22日VB中的字符串

在VB中使用的字符是一种叫做BSTR格式的字符串指针类型。

  字符个数描述符由VB来使用,BSTR指针直接指向第一个字符。

  因为大多数API函数是用C或C++来编写的,在C/C++(API)中使用叫做LPSTR类型的指针。

...

分类:加密解密  标签:VB  字符串  存储    网友评论1条  已浏览loading

2010年8月15日[转]Acprotect学习笔记

虽说壳比较老了,但思想还是值得参考的……

By demoscene.

垃圾前言

这个壳早就已经被各位大牛肢解了,而 且也不更新了,现在的软件基本上不会用它来加壳了吧。我写这篇文章只是来过下手瘾

其实Acprotect以前就分析过 了(主要是分析IAT处理),现在写篇文章来作个记录吧。
...

分类:加密解密  标签:Acprotect  脱壳    网友评论0条  已浏览loading

2010年8月13日ZpPatch.dll源码(232C法过注册)

ZpPatch.dll源码

.486
.model flat,stdcall
option casemap:none

; Include file

include zp.inc
include windows.inc
include kernel32.inc
includelib kernel32.lib

.data
Bak db 'abcdef'
hAddr dd ?
dwOld dd ?
dwNew dd ?

.const
szDllName db 'user32.dll',0
szAPIName db 'DialogBoxIndirectParamA',0

.code
DllEntry proc hInst:HINSTANCE, reason:DWORD, reserved1:DWORD
mov eax, hInst
mov hInstance, eax
.if reason==DLL_PROCESS_ATTACH
pushad
call Load
popad
.endif
mov eax, TRUE
ret
DllEntry Endp

; hook api
HookAPI proc

pushad
mov edi,offset Bak
mov ecx,5
rep movsb
invoke VirtualProtect,hAddr,6,dwOld,addr dwNew
popad
mov eax,232CH
ret 14H
ret

HookAPI endp

;导出函数
Load proc

invoke LoadLibrary,offset szDllName
invoke GetProcAddress,eax,offset szAPIName
mov hAddr,eax
invoke VirtualProtect,hAddr,6,PAGE_EXECUTE_READWRITE,addr dwOld

mov edi,offset Bak
mov esi,hAddr
mov ecx,5
rep movsb
mov edi,hAddr
mov eax,offset HookAPI
sub eax,edi
sub eax,5
mov byte ptr ds:[edi],0E9H
mov dword ptr ds:[edi+1],eax
ret

Load endp

End DllEntry

分类:加密解密  标签:zp  源码  232C法  过注册    网友评论1条  已浏览loading

2010年8月9日VMProtect reversing(2)

Part 2: Introduction to Optimization
Author: RolfRolles

Basically, VMProtect bytecode and the IR differ from x86 assembly language in four ways:

1) It's a stack machine;
2) The IR contains "temporary variables";
...

分类:加密解密  标签:VMProtect  reversing  逆向分析    网友评论1条  已浏览loading

2010年8月9日VMProtect reversing(1)

VMProtect, Part 0: Basics

Author: RolfRolles

VMProtect is a virtualization protector. Like other protections in the genre, among others
ReWolf's x86 Virtualizer and CodeVirtualizer, it works by disassembling the x86 bytecode of
...

分类:加密解密  标签:VMProtect reversing    网友评论0条  已浏览loading

2010年8月8日VMProtect的逆向分析和静态还原

by bughoho.

比较早的一个资料了,PPT文档,对宏观上大体了解下VMP的机制还是不错的。

下载地址:

http://u.115.com/file/f167498c3f
VMProtect的逆向分析和静态还原.ppt

分类:加密解密  标签:VMProtect  逆向分析  静态还原    网友评论0条  已浏览loading

2010年8月8日VMProtect逆向分析

by aa1ss2.

现在不会VMP就OUT了……

下载地址:

http://u.115.com/file/f137a8b19b
VMProtect逆向分析.pdf

分类:加密解密  标签:VMProtect  逆向分析    网友评论0条  已浏览loading

2010年7月30日天狼星加密系统各种限制破解

转自UPK-by zbzb97。

一、智能防翻录(抓屏)
这个就是用一些冷门的翻录软件、或者截屏时,虽然不被发现,但是录出来却是黑屏的。原理是:软件调用了Direct3D加速,普通的录像软件自然黑屏了。解决方法:自然是不让他启用Direct3D加速了。用OD载入我们的录像文件,在字符串里找到DirectDrawCreate,然后双击,跳转到相应的汇编代码处。如下:
...

分类:加密解密  标签:天狼星  加密系统  各种限制  破解    网友评论0条  已浏览loading

2010年7月25日PYG5.4第十轮软件加解密教学第一阶段视频

01. 软件破解意义和程序流程简介
时间:
2010.05.31
内容:
  讨论软件破解的意义
  讨论软件破解的领域
  介绍程序的执行流程及程序的注册机制
  Winhex明码比较分析过程
  实例分析精装友情通讯录的爆破和内存注册机的制作

02. 精装友情通讯录再分析
...

分类:加密解密  标签:PYG  解密  教学  视频  下载    网友评论0条  已浏览loading

2010年7月23日Zprotect Patch机器码

前提是有一组正确的机器码和KEY。

zprotect用DeviceIoControl函数获取机器码相关,只要对该函数设置断点即可。

步骤:
1,跑脚本.
2,到出现输入注册码窗口时,在输入注册码的窗口中输入正确的KEY,注意,这个KEY是别人机器码对应的KEY(如果是本机正确的KEY那还玩什么啊,直接注册就好了)。
3,点注册。
4,出现让你输入这个KEY对应的机器号的前8位,记得把机器号中的"-"号去掉,按要求输入。
...

分类:加密解密  标签:Zprotect  patch  机器码    网友评论1条  已浏览loading

2010年7月17日Vmprotect.ULTIMATE 授权功能 使用教程

From UPK. By davidhee

第一步
  编写源程序。在程序中使用有关license的SDK。下面的例子中定义license文件是 test.lic

例子主要代码如下:

procedure TForm1.FormCreate(Sender: TObject);
var
  i      : Longword ;
...

分类:加密解密  标签:VMProtect  SDK  授权功能  使用教程    网友评论2条  已浏览loading

2010年7月15日PB程序爆破的一点资料

以前的一篇文章,从百度快照中搞回来的……

PB程序反编译可得到源码,做注册机的相关文章很多,但要爆破有些难度……

收集了些资料:

pb关键指令
>c5
<d1
<>b5
=a5
<=e9
>=dd
or 22
and 21
not 23
ture 01
...

分类:加密解密  标签:PB  爆破    网友评论0条  已浏览loading

2010年3月4日一点杂记

crack过程中仔细关注软件运行时特征,尤其是对有试用期限限制的程序……这样可以省很多力

抓住关键点后,尤其是看到关键数据,灵活运用内存断点可事半功倍

……

真冷,昨天居然还下了场雪……

分类:加密解密  标签:内存断点    网友评论0条  已浏览loading

2010年3月2日爆破PB程序的一点资料

PB程序反编译可得到源码,做注册机的相关文章很多,但要爆破有些难度……

收集了些资料:

pb关键指令
>c5
<d1
<>b5
=a5
<=e9
>=dd
or 22
and 21
not 23
ture 01
false 00
return 39

 D6 < ; CA > ; BF <> ;AE = ;      

AA = ; BA <>;

找相关指令的16进制对应码最笨的办法就是自己写程序对比,例如:

string x
string y
integer m

if x<>y then
  m = 9999
endif

if x=y then
  m=9999
endif

编译后分析相关的pbd文件就可以知道<>和=分别对应的16进制码了。其余同理……


查找字符串 xxxxxx,往下几行。熟悉 PB 编程的应该都知道怎样去修改 16 进制代码,11 00 00 00 代表变量位置(或变量代号),01 00 00 00 代表变量初始值,00 05 07 00 代表数据类型。

winhex搜索出的相关字符串,字符串前是有其特征的……

CALL DWORD PTR DS:[EAX+10DF2B80]即是程序解释的入口,根据EAX值的不同,程序call到不同位置执行不同任务,如读取程序的代码,然后解释执行程序等。猜测EAX=93C时比较是否大于,EAX=804时比较逻辑值是否相等。
调用msvcrt.dll 的 _mbscmp函数进行比较,几乎pb程序都用这个比较字符串。

直接下断点 BP MessageBoxA,当断下来以后取消断点,Ctrl+F9返回两次,返回后的CALL就是PB全部的函数调用的地方。

常用的对话框提示,可用fnMessageBox,Ascii字符串比较是ot_ansi_strcmp。

……

分类:加密解密  标签:PB  爆破    网友评论0条  已浏览loading