易语言检测硬件断点
本帖最后由 20120427 于 2014-11-14 17:57 编辑自定义数据类型
.版本 2
.数据类型 CONTEXT
.成员 ContextFlags, 整数型
.成员 Dr0, 整数型
.成员 Dr1, 整数型
.成员 Dr2, 整数型
.成员 Dr3, 整数型
.成员 Dr6, 整数型
.成员 Dr7, 整数型
.成员 FloatSave, FLOATING_SAVE_AREA
.成员 SegGs, 整数型
.成员 SegFs, 整数型
.成员 SegEs, 整数型
.成员 SegDs, 整数型
.成员 Edi, 整数型
.成员 Esi, 整数型
.成员 Ebx, 整数型
.成员 Edx, 整数型
.成员 Ecx, 整数型
.成员 Eax, 整数型
.成员 Ebp, 整数型
.成员 Eip, 整数型
.成员 SegCs, 整数型
.成员 EFlags, 整数型
.成员 Esp, 整数型
.成员 SegSs, 整数型
.成员 ExtendedRegisters, 字节型, , "512"
.数据类型 FLOATING_SAVE_AREA
.成员 ControlWord, 整数型
.成员 StatusWord, 整数型
.成员 TagWord, 整数型
.成员 ErrorOffset, 整数型
.成员 ErrorSelector, 整数型
.成员 DataOffset, 整数型
.成员 DataSelector, 整数型
.成员 RegisterArea, 字节型, , "80"
.成员 Cr0NpxState, 整数型
dll命令
.版本 2
.DLL命令 GetCurrentThread, 整数型, "kernel32", "GetCurrentThread"
.DLL命令 GetThreadContext, , "kernel32", "GetThreadContext"
.参数 hThread, 整数型
.参数 lpContext, CONTEXT, 传址
.版本 2
.程序集 窗口程序集_启动窗口
.程序集变量 Context, CONTEXT
.程序集变量 hThread, 整数型
.版本 2
.子程序 检测硬件断点
Context.ContextFlags = 65599
hThread = GetCurrentThread ()
GetThreadContext (hThread, Context)
.如果真 (Context.Dr0 = 0 且 Context.Dr1 = 0 且 Context.Dr2 = 0 且 Context.Dr3 = 0)
返回 ()
.如果真结束
结束 ()
月光下の魔术师 发表于 2014-11-14 18:04
CC断能侦测么
.版本 2
.如果真 (指针到字节集 (4198400, 1) = { 204 })' 检测00401000是否下断 4198400到十六进制就是00401000
结束 ()
.如果真结束
其实下断之后,通过内存读取到字节集就是CC
尝试破解易语言5.6,最后一步内存MD5校验一直对不上,能编译,编译会出问题!特来请教大神,只知道不能下断点,下断点值就会改变!不下断点,如何能获取到正确的md5呢? 赞一个 ~ 如果有内存断点就好了 感谢分享 这个要学习学习了! CC断能侦测么 对于我这样的菜鸟来说 值得学习下 用易语言看果然别扭啊。。 好吧表示木有看明白只能膜拜下 收藏备用~ 接着续写我的反调试模块 =.=
页:
[1]
2