发新帖我要提问
12
返回列表
打印

等老师半夜**叫~~~

[复制链接]
楼主: hotpower
手机看帖
扫描二维码
随时随地手机跟帖
21
computer00| | 2007-11-22 01:44 | 只看该作者 回帖奖励 |倒序浏览

这个倒是还没玩过,俺现在玩的东东基本上都是给大家公开

除非是觉得太简单的,拿不出手,才不敢往上发...

啥时也学学如何保密~~~~

使用特权

评论回复
22
hotpower|  楼主 | 2007-11-22 01:57 | 只看该作者

再版发行: 游击队为何能击败正规军

遗憾呀~~~~~~~~~俺的郭傻小子辞职了~~~
相关链接:http://www.**/blog/hotpower/61506/message.aspx

使用特权

评论回复
23
testcode| | 2007-11-22 04:43 | 只看该作者

建议菜地应该放危险告示!!!

危险告示! 

菜地蔬菜全部经过Hotpower基因改造。如果食用,造成一切后果自负。

使用特权

评论回复
24
hotpower|  楼主 | 2007-11-22 06:30 | 只看该作者

哈哈~~~TestCode以后应该提醒:此类方法危险,儿童请勿模仿!

使用特权

评论回复
25
hotpower|  楼主 | 2007-11-23 23:22 | 只看该作者

C语言中利用指针运算打乱散转命令运行地址的实例



利用指针运算打乱散转命令运行地址以增加反汇编难度(9166字)hotpower[17次]2004-9-5 12:26:01
利用指针运算打乱散转命令运行地址以增加反汇编难度 
HotPower 发表于 2004-8-24 00:08 侃单片机 ←返回版面   举报该贴 

/*------------------------------------------------------------------
         利用函数指针数组运行PS2键盘散转命令
-------------------------------------------------------------------*/
void PS2CommandExec(unsigned char key)
{
unsigned int i;
code void *funcpushbuffers[] = {//命令散转表(汇编中的16个DW)
/*------------------------------------------------------------------
         15个压键、放键及长压键事件处理函数指针地址
-------------------------------------------------------------------*/
  (void *)ClrWdt            + 0x0000,
/*---------------------------------------------
           10个功能键压键事件处理(独立管理)
----------------------------------------------*/
  (void *)PS2F1KeyPush      + 0x5b7d,      //功能键F1压键事件处理
  (void *)PS2F2KeyPush      + 0xa6ea,      //功能键F2压键事件处理
  (void *)PS2F3KeyPush      + 0xf157,      //功能键F3压键事件处理
  (void *)PS2F4KeyPush      + 0x4cc4,      //功能键F4压键事件处理
  (void *)PS2F5KeyPush      + 0x9731,      //功能键F5压键事件处理
  (void *)PS2F6KeyPush      + 0xe2ae,      //功能键F6压键事件处理
  (void *)PS2EnterKeyPush   + 0x3d1b,      //功能键Enter压键事件处理
  (void *)PS2EscKeyPush     + 0x8888,      //功能键Esc压键事件处理
  (void *)PS2BkspKeyPush    + 0xd3f5,      //功能键Bksp压键事件处理
  (void *)PS2KpKeyPush      + 0x2e62,      //功能键Kp压键事件处理
/*---------------------------------------------
           2个放键事件处理(集中管理)
----------------------------------------------*/
  (void *)PS2NumberKeyPop   + 0x79df,      //数字键放键事件处理
  (void *)PS2FuncKeyPop     + 0xc44c,      //功能键放键事件处理
/*---------------------------------------------
           2个长压键事件处理(集中管理)
----------------------------------------------*/
  (void *)PS2NumberKeyPushL + 0x1fb9,      //数字键长压键事件处理
  (void *)PS2FuncKeyPushL   + 0x6a26,      //功能键长压键事件处理
/*---------------------------------------------
           1个数字键压键事件处理(集中管理)
----------------------------------------------*/
  (void *)PS2NumberKeyPush  + 0xb593       //数字键0~9压键事件处理
  };
/*--------------------------------------------*/
  i = key;
  key &= 0x3f;//去掉键释放及长压键标志,取真键码
  key --;
  if (key < 20){//只有20个键
    if (key < 10){//数字键0~9
      if (i <= 10) key = 15;//(散转号0)压数字键0~9
      else{
        if (i & 0x80) key = 11;//(散转号11)放数字键0~9
        else key = 13;//(散转号13)长压数字键0~9
      }
    }
    else{//压功能键F1~F6,Enter..KP
      if ((i & 0xc0) == 0) key -= 9;//(散转号1~10)压功能键F1~F6,Enter..KP
      else{
        if (i & 0x80) key = 12;//(散转号12)放功能键
        else key = 14;//(散转号14)长压功能键
      }
    }
    ClrWdt();//喂狗(鬼知道键盘程序要运行多久,就替它先喂一次吧)
    i = ((key * 53 & 0xf) * 0x1000)+ ((key * 43 & 0xf) * 0x100) + ((key * 23 & 
0xf) * 0x10) + (key * 13 & 0xf);
    _icall_((void *)funcpushbuffers[key] - i);//取键盘散转表并执行键盘命令
  }
}

相关链接:http://www.daxia.com/bibis/lookgood.asp?lookid=2638

使用特权

评论回复
26
wolfererer| | 2007-11-24 09:53 | 只看该作者

没办法,只有Ctrl+C,Ctrl+V的份啊

非常喜欢听大叔讲故事啊~尽管经常把人讲晕

哈哈

目前只有学习学习再学习的份

使用特权

评论回复
27
hotpower|  楼主 | 2007-11-24 10:00 | 只看该作者

哈哈~~~本故事纯属虚构,若有雷同,实属巧合~~~

每人都有精彩的故事和人生...就看如何把握~~~

使用特权

评论回复
28
wolfererer| | 2007-11-24 13:37 | 只看该作者

哈哈~~~

再进来念经学习~~

希望大家不要跟着

要不,抢了"少林寺"风头可不好

使用特权

评论回复
29
huangqi412| | 2007-11-24 17:06 | 只看该作者

很喜欢听hot大叔讲故事,听的听玄的像无侠小说,哈哈

使用特权

评论回复
30
hotpower|  楼主 | 2007-11-25 01:58 | 只看该作者

那俺就再讲个"零耗时键盘" "弹钢琴"的故事~~~

有个产品,主从机控制.有2个串行键盘,.
538+3*4094和538_2*4094.
用了主从硬件狗握手.

当从机死机或主机死机后,从机上的控制(无MCU)将会自动断开.

主机有eeprom(93c46)**从机控制位置.

由于干扰,eeprom数据很容易在上下电时丢失数据.

而且主控制(2个大小键盘).

一般教材上讲键盘都是:

有键压下吗???是,则延时20mS,再判放键20mS后执行键盘命令.

那么在键压下去期间其他键压下呢???再有其他键....再有其他键....再有其他键....

当俺一个巴掌拍下去几次后---哈哈~~~死翘翘了~~~因为他不知道干什么为好~~~

俺插入"零耗时键盘",拿俺这比脚还笨的手在上面瞎拍时---哈哈~~~听着有规律继电器在跳舞~~~

俺再"弹钢琴"胡乱划着---没任何关系~~~

在把电源开关瞎搞---数据不丢失~~~

郁闷呀~~~俺的手都算了...

用户问俺一个产品2个脑浆编的差距为何如此明显???

俺说主要俺不识字~~~

最后俺对他将实话了~~~因为"零耗时键盘"实际是按任务时间片执行命令的.

他们实际根本没一起工作~~~虽然看到的是"并行处理"~~~

肯定不怕"弹钢琴"了~~~


本故事...纯属虚构...
相关链接:http://21icbbs.com/club/bbs/showEssence.asp?id=8907

使用特权

评论回复
31
wolfererer| | 2007-11-25 15:25 | 只看该作者

哈哈~~~~

能敲出“天书”来的手还笨啊?


“在把电源开关瞎搞---数据不丢失~~~”

这跟键盘处理的关系????

使用特权

评论回复
32
hotpower|  楼主 | 2007-11-26 03:21 | 只看该作者

估计都被搞晕了~~~

危险告示! 

菜地蔬菜全部经过Hotpower基因改造。如果食用,造成一切后果自负。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则