置顶随笔

m88 188bet uedbet 威廉希尔 明升 bwin 明升88 bodog bwin 明升m88.com 18luck 188bet unibet unibet Ladbrokes Ladbrokes casino m88明升 明升 明升 m88.com 188bet m88 明陞 uedbet赫塔菲官网 365bet官网 m88 help
【基本信息】
将自己的想法付诸行动,那才是真正的有意思。

【更新列表】
==============================
 Release 2019-02-16
==============================
 Release 2018-09-21Release 2018-08-30Release 2018-01-18
==============================
 Release 2017-12-31、V1.0Release 2017-10-26Release 2017-07-03Release 2017-02-10
==============================
 Release 2016-11-02、Release 2016-02-25
==============================
 Release 2015-07-14Release 2015-03-23Release 2015-01-28Release 2015-01-13
==============================
 Release 2014-11-18、Release 2014-08-19Release 2014-07-10Release 2014-06-06Release 2014-05-30、Release 2014-05-14、Release 2014-04-29Release 2014-04-09Release 2014-03-23Release 2014-03-04、Release 2014-02-26、Release 2014-01-24Release 2014-01-03
==============================
 Release 2013-12-31Release 2013-12-03、Release 2013-11-26、Release 2013-11-05Release 2013-10-14Release 2013-09-29Release 2013-09-10、Release 2013-08-22、Release 2013-08-09Release 2013-07-09Release 2013-07-08Release 2013-06-01、Release 2013-05-09、Release 2013-04-22Release 2013-04-12Release 2013-04-07Release 2013-03-29、Release 2013-03-24、Release 2013-03-16Release 2013-03-07Release 2013-02-26

posted @ 2012-09-02 00:00 CrHackOS 阅读(1002) | 评论 (2)编辑 收藏

一些我的开源项目

Asylum:https://github.com/prefetchnta/asylum
CrHack:https://github.com/prefetchnta/crhack
QuestLAB:https://github.com/prefetchnta/questlab

一些有用文件存档

MyBuild:https://github.com/prefetchnta/mybuild
GameViewer:https://github.com/prefetchnta/gameviewer

posted @ 2011-06-18 12:48 CrHackOS 阅读(3594) | 评论 (11)编辑 收藏

2017年2月12日

  有一些程序之所以无法在 WinXP 下运行,除了子系统版本号之外,还有编译器 C 库的原因。VC2012 和 VC2013 在打某个补丁之前编译出来的 EXE/DLL 会使用到 Vista 以后才有的系统 API 函数。无法运行的现象是:“无法定位程序输入点 XXX 于动态链接库 KERNEL32.DLL”。在没有源代码重新编译的情况下,我做了一个中间跳转的代理库,基本可以解决这个问题。原理很简单,就是系统有这个 API 函数就直接跳转过去,没有就使用自己实现的替换函数。下载地址在这里:https://github.com/prefetchnta/questlab/raw/master/bin/kernel33.dll。由于这个只是用来解决我所遇到的无法运行的问题的,因此并没有补完所有 WinXP 缺失的函数(也不可能全补完),同时只映射了绝大部分 KERNEL32.dll 的 API 函数(大概 99%),所以并不能解决所有的此类问题。但是原理上是行得通的,而且也已经开源了(QuestLAB 里的 BackPort 子项目)。使用的方法就是把 EXE/DLL 导入表的 KERNEL32.dll 字符串改成 KERNEL33.dll 即可。

posted @ 2017-02-12 20:15 CrHackOS 阅读(116) | 评论 (0)编辑 收藏

2015年3月19日

  选择 v120_xp 平台工具集即可使程序兼容 XP 系统。其实质就是加了一个 _USING_V110_SDK71_ 的宏,使用老版本的 Windows SDK,来防止用到 XP 没有的系统 API。另外就是链接器里把子系统的版本号定义成 5.1 了(默认是 6.0)。我做了一下实验,发现子系统的版本号只对 EXE 有效。6.0 的 EXE 在 XP 下运行会提示不是有效的 Win32 程序,而 DLL 似乎不会受到这个限制。所以只要没有用到 XP 没有的 API,VC2013 编译的 DLL 可以直接使用,而 EXE 相差的其实就是那个版本号。(这里的 VC2013 是打过最新的 Update 的,XP 是 SP3 的。)

posted @ 2015-03-19 16:02 CrHackOS 阅读(637) | 评论 (0)编辑 收藏

2015年1月24日

Open source libraries for Android and Windows.
https://github.com/prefetchnta/mybuild



  官方只有 3.02 版的 VS2008 编译的最终二进制。为了完全去掉 WinSXS 的 CRT 依赖(强迫症),花了一天时间把所有依赖库全都用 VC10 编译了一遍(网上有个不纯洁的版本,混杂了调试版的 CRT),顺便都升级到最新的了。以后用到的一些开源库(没有官方二进制或依赖库还是几万年前的版本)也放到这个仓库里来。

posted @ 2015-01-24 17:12 CrHackOS 阅读(432) | 评论 (0)编辑 收藏

2014年8月16日

  最近在玩新唐的 N32926。这颗芯片最大的优势就是把 DDR 内存和 ARM9 的芯片做在一起了,提供非 BGA 的芯片封装(QFP128)。比起三星之类的硬件可以简单不少,性价比也不错。缺点就是,可能是封装管脚太少的缘故,很多功能都是复用的,导致管脚资源紧张。例如,以太网接口和8位以上的 LCD 屏接口是冲突的。以太网切换到第二端口上又和一个串口冲突。本来芯片上就只有两个串口。这就造成,所有的串口设备必须要挂在同一个串口上,用一个模拟开关芯片去切换。可恶的是,Linux 内核和控制台也会时不时的输出东西。但是又不想彻底关掉它们,到时候还能看看调试信息。所以就去找了一下如何临时关闭控制台输出的方法。
  临时关闭控制台输出(打开控制台输出即是把 tty0 重新设置为默认终端输出):
1 int fd;
2 
3 fd = open("/dev/tty1", O_RDONLY);
4 if (fd >= 0) {
5     ioctl(fd, TIOCCONS);
6     close(fd);
7 }
  临时关闭内核信息输出:echo 0 > /proc/sys/kernel/printk;重新打开内核信息输出:echo 7 > /proc/sys/kernel/printk。
  这样,要用串口设备的时候,就先临时关闭,然后开关切换,搞完之后再切回来,最后打开输出。好在使用的串口设备都是被动的,可以临时用一下的,不用一直挂在上面,不然就麻烦了。

posted @ 2014-08-16 13:23 CrHackOS 阅读(10919) | 评论 (1)编辑 收藏

2014年3月17日

(1)选取三个素数:P、Q、E;
(2)计算 N = P * Q,F = (P - 1) * (Q - 1);
(3)求方程 E * x - F * y = 1 最小整数解 D;
(4)(E,N) 为公钥,(D,N) 为私钥;
(5)加密过程为:C = (M ^ E) mod N(C 为密文,M 为明文);
(6)解密过程为:M = (C ^ D) mod N(C、M 不能大于 N);
(7)P、Q 必须是有一定长度的强素数,使得 N 因式分解很难;
(8)P、Q 之间最好相差很大,一般相差个几位;
(9)E 不可取得太小,一般取16位的素数,65537是一个常用数;
(10)Java 下 RSA 和大整数运算的数据存放方式都是大端格式。

posted @ 2014-03-17 13:55 CrHackOS 阅读(357) | 评论 (0)编辑 收藏

2013年3月24日

(1)EditPlus
  这个是我写代码的主要工具,几乎所有的代码都是用它写出来的。功能虽然没有其他编辑器或 IDE 那样强大,但是配置容易,简单清爽,上手很快,并且功能也没有像记事本那么弱,走的是中庸路线。

(2)TortoiseSVN
  每个做开发的人都应该自己搞一套版本管理系统,我的内部项目全都是用它管理的(不用装服务端,直接可以用它来建仓库)。自从用上了 SVN,已经彻底无法离开了。真无法想象从前人肉管理源代码的日子是怎么过来的。最早 TortoiseSVN 不带命令行工具,需要另外装一套工具,后来从某个版本开始自带了,所以只要装这一个就可以了。

(3)TortoiseGit
  这个是最近才开始用的版本管理工具外壳,它的操作方式与 TortoiseSVN 的差不多,上手很快。使用它前必须先装 Git for Windows 。Git 比 SVN 爽多了,GitHub 也是个很爽的网站,最喜欢里面的源代码统计功能,加了几行,删了几行,源码类型百分比统计,ZIP 打包下载等等。另外,建议使用英文版(包括 TortoiseSVN),一些词条换成中文就搞不清楚到底是哪个命令了。

(4)HaSHer
  这个是我自己写的工具,可以批量计算文件的哈希值,并且比较前后两次哈希值列表的差异(需要外部文本比较工具 TextDiff 和 TortoiseMerge)。我都是挂在右键菜单上用的。

(5)grepWin
  TortoiseSVN 作者做的一个文本查找替换的小工具,挂在右键菜单上可以很方便的查找替换源码(脱离编辑环境)。

(6)HashCalc
  一个计算哈希的免费工具。我主要用它来计算源代码里的字符串哈希值,同时用来对比自己代码计算哈希值的正确性,做个参考。

(7)Rapid Environment Editor
  一个非常好的环境变量配置工具,免费的。配置编译器路径和环境变量时很方便(Windows 自带的环境变量设置工具到了 Win7 还是那副德性,完全没有可用性,让人忍无可忍,难道是为了留口饭给别人吃?)。

(8)FreeFileSync
  免费开源的文件同步工具,用来备份文件很方便。我都是用它来把文件备份到移动硬盘里去的,使用镜像模式。

(9)010 Editor
  分析二进制文件的时候使用。虽然有不爽的地方,但是功能还算够用。在没有更好的选择之前用用还算不错。以后 QuestLAB 里会做一个类似的二进制观察分析工具,可以自己定制一些自己想要的功能。

(10)Foxit Reader
  看 DataSheet PDF 用的,比起又大又臭的那什么要小巧清爽多了,不过听说其安全漏洞很多。中文版貌似版本很老,一直没有更新,现在直接使用英文版。

(11)Greenfish Icon Editor
  一个免费的图标编辑工具。QuestLAB 里的图标都是用它编辑的(网上找来中意的图标,然后删除图标文件里的那些超大图标,并按大小排成一致的顺序)。

(12)Sysinternal Suite
  微软出的一组免费的实用工具。常用的有 AutoRuns(删注册表僵尸、自启动和垃圾驱动用)、Desktops(可实现多个桌面)、Junction(XP 下用来实现 NTFS 文件链接)、SigCheck(检查文件的数字签名,我是挂在右键菜单上用的)、Sync(刷磁盘写缓存用,强行断移动硬盘前执行几次)。

(13)WinDV
  一个德国人写的视频采集小程序。抓 DV 视频的时候文件名会以拍摄日期命名并分割文件,这个是会声会影做不到的。
 

posted @ 2013-03-24 22:25 CrHackOS 阅读(649) | 评论 (0)编辑 收藏

2012年9月2日

【基本信息】
将自己的想法付诸行动,那才是真正的有意思。

【更新列表】
==============================
 Release 2019-02-16
==============================
 Release 2018-09-21Release 2018-08-30Release 2018-01-18
==============================
 Release 2017-12-31、V1.0Release 2017-10-26Release 2017-07-03Release 2017-02-10
==============================
 Release 2016-11-02、Release 2016-02-25
==============================
 Release 2015-07-14Release 2015-03-23Release 2015-01-28Release 2015-01-13
==============================
 Release 2014-11-18、Release 2014-08-19Release 2014-07-10Release 2014-06-06Release 2014-05-30、Release 2014-05-14、Release 2014-04-29Release 2014-04-09Release 2014-03-23Release 2014-03-04、Release 2014-02-26、Release 2014-01-24Release 2014-01-03
==============================
 Release 2013-12-31Release 2013-12-03、Release 2013-11-26、Release 2013-11-05Release 2013-10-14Release 2013-09-29Release 2013-09-10、Release 2013-08-22、Release 2013-08-09Release 2013-07-09Release 2013-07-08Release 2013-06-01、Release 2013-05-09、Release 2013-04-22Release 2013-04-12Release 2013-04-07Release 2013-03-29、Release 2013-03-24、Release 2013-03-16Release 2013-03-07Release 2013-02-26

posted @ 2012-09-02 00:00 CrHackOS 阅读(1002) | 评论 (2)编辑 收藏

2012年8月17日

  以前刚开始搞 GameViewer 的时候,主要目的是做一个自娱自乐的东西,用来打发打发时间。后期发现,当中有很多东西与平时的工作、兴趣爱好等等有很多的关联。所以后来,才逐渐加入了一些诸如 3D 模型、图片滤镜、脚本之类的功能。希望一些东西能够集成到那里去,有个可以测试和试验的统一环境。同时,那里面的东西也能够拿出来实际使用,不光光只是用来提取别人的东西,别无他用。
  之前用的是 12betBuilder 6.0 做的界面,用 VC2003 写的一些库和插件。后来发现,这样的组合越来越偏离了本身的目标,局限性太大了,很多现成的资源无法利用,所以就果断停止了进一步的开发。而且,我想玩的东西还有很多,比如换用 QT 或者 WX 写写界面;用 OpenCV 做图形图像处理;加入 Lua、Python 等等来做脚本引擎;尝试一下那些开源的 3D 引擎;甚至想换用 .NET 和 Java 来做一点东西。一直以那样的组合为中心,实在是太无聊了,而且很难把所有不同的东西都拉到一起,或者说实现一个大统一的环境本来就是不可能的。
  为了实现目标,这次打算用《UNIX编程艺术》一书里提到的思想方法来重新设计。其根本手段就是:(1)应用与库分开。这就实现了一些东西集成到里面去,并且可以拿出来实际使用。打个比方就是,写完一个游戏插件,就可以拿这个库直接使用别人的资源来开发自己的游戏(所以本次设计的主要目标不是提取游戏资源,而是直接渲染游戏数据)。(2)多进程的架构。这就实现了多框架、多开发环境的问题。由于都是独立的程序,我想用什么来开发就用什么来开发,自由的很。(3)一个程序只做好一件事。这才是模块化的最高境界,给你一种豁然开朗的感觉。一个程序写烂了,可以直接扔,不会影响大局。(4)进程间通讯交互。这个才是最最重要的部分,一定要仔细设计交互协议,否则就是天下大乱。
  我把项目的源代码放到了这里 https://github.com/prefetchnta/questlab ,除了用到的第三方闭源开发库外,其他都是开放源代码的。目前还没有完全重现 GameViewer 的所有功能,但是整体框架已经有点成型了。以后会不定期更新,把以前做过的那些东西逐步开源出来。还要把其他零散的小工具、小程序统一集成到这个环境里来,形成一个大统一的应用程序。

posted @ 2012-08-17 17:10 CrHackOS 阅读(1148) | 评论 (2)编辑 收藏

2012年7月7日

(1)想要成为一个超级大恶(贱)人,首先要明确,做大恶(贱)人的目的是什么。那就是,打击自己认为、以为或者圈定的对手(哪怕只是自己一厢情愿),给对方带来最大痛苦,实现自己龌龊的想法,进而满足自己变态的心理欲望或者贪婪的物质欲望(心理是绝大多数)。

(2)一定要从自己的亲人、亲戚、好友里寻找自己下手的目标。因为陌生人与你不熟,大多很快会把痛苦忘记掉。而自己的亲人、亲戚、好友会一直记在那里,从而把这种痛苦一直延续下去。而且,你自己也会产生一种所谓的族群里的心理优越感,把自己变态、龌龊的心理快感放大到最大。

(3)不能有内疚的心理。如果你把一个人给害惨了,你自己感到有点内疚,那证明,你离超级大恶(贱)人还有一段距离要走。当然也不能有真正的同情心。但是虚假的同情和关心是很有必要的,那样就像是在对方的伤口上撒盐一样,让对方更痛苦,自己更愉悦。

(4)要以老实、内向的人为下手目标。一来,比较好耍弄和陷害;二来,可以保证自己的安全。这一条也是第二条的补充:出于种种情面上的原因,你的亲人、亲戚、好友不会明的把你怎么样,最多也只是敬而远之。

(5)要从背后捅刀子。最好还是从对方周边的亲人中来寻找捅刀子的机会。可以一边收集情报,一边隔山打羊。借他们的手捅人那可是最佳。一旦事情败露,关系可以推得一干二净。自己逍遥快活,让别人痛苦去吧。最佳的寻找人选是对方的上一辈老人,因为那一辈人比较纯朴,也比较无知,比较容易相信你那有着不可告人目的的谎话。

(6)一旦真面目被戳穿、揭破,要马上披上道歉者、同情者、弥补者的外衣。当然,那些肯定都只是虚假的,没有实际行动的口头表示罢了。在那些外衣的保护和掩护下,你可以一次次地在对方的伤口上撒盐,而对方却拿你没有什么办法。

(7)在对方的正面,要以最丑恶、最装逼的面目出现。比如,自己的收入比别人哪怕只高一元钱,也要说一个人的收入决定一个人的能力;又比如,自己比别人哪怕只早工作一个月,工作内容也只有一点点相关,也要做出一副老前辈、老资格的样子,对别人指指点点、谆谆教诲。因为你是超级大恶(贱)人,你的存在就是为了让你的目标恶心、反胃与痛苦。

(8)强怕狠,狠怕没天良。在这片没有更无耻,只有更下贱的土地上,正迎来了一个超级大恶(贱)人辈出的伟大时代。往往越是无耻的人,活的越滋润。正所谓好人难做,而恶人却谋世界。等你丧尽天良,人性泯灭的时候,一个顶级的超级大恶(贱)人就这样诞生了。

(9)郑重声明:人在做,天在看。告诫学习了此手册,并打算付诸于行动的同学,悬崖勒马,回头是岸。要知道,善恶终有报,不是不报,时辰未到。一旦有任何不良后果,与本手册的作者无关。

posted @ 博狗娱乐 CrHackOS 阅读(409) | 评论 (0)编辑 收藏

2012年5月20日

  昨天升级了最新的 Keil MDK 4.53,怕它老是提示 J-Link 要升级,就去 SEGGER 的网站下了个最新版的 J-Link 软件包(4.46F 版的),装好后运行 J-Link Commander 提示要升级固件。以前一直是刷的,没有问题,这次竟然升级后连不上仿真器了。提示 "Communication timed out: Requested 1 bytes, received 0 bytes !"。SEGGER 终于开始玩花招了。到 Keil 里打开了以前的一个工程,发现竟然还能调试,一看那 DLL 的版本是 4.40C 的,看来是在 DLL 里做了些手脚。
  今天用 IDA 跟了一下 J-Link Commander,并对比了一下两个动态库的差别,发现新版的在打开 J-Link 函数的过程里多了两个调用。前一个判断了一下仿真器的功能字符串里是否有 GDBFull,有就会多一步 USB 通讯,超时的就是这一步操作;后一个通过序列号枪毙了一些老的(被偷的?)J-Link。看了一下 GDBFull 这个字符串,只在这里用了一次,将其全部改为大写,发现可以连上了。另外,序列号为 11111117 和 805306163 的会强制校验 GDBFull 功能。
  大致上猜了一下,可能是 SEGGER 更新了一下 GDBFull 功能与序列号的绑定算法,下面的固件里也应该改过了,那一步 USB 通讯就是下面返回上来的认证结果,所以接收的只有一个字节。GDBFull 这个功能貌似从来没有用过,反正我没有用到过。
  节约空间资源,删掉了下载。具体改法就是找到那个字符串,改成别的就行了。

posted @ 2012-05-20 18:32 CrHackOS 阅读(11797) | 评论 (19)编辑 收藏

仅列出标题  下一页