亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? antianti.txt

?? 80386單片機
?? TXT
字號:
;;
;;  Note by Uwe E. Schirm:
;;  This refers to the 'Anti Debugging Tricks' by Inbar Raz
;;  which is also found in the 80XXX Snippets as ANTIDBG.TXT
;;

Sun 24 Jan 93
By: Michael Forrest


Hi.  Here's release 1 of the Anti-Anti Debugging Tricks article.

 > In order to avoid tracing of a code, one usually disables the
 > interrupt via the 8259 Interrupt Controller, addressed by 
 > read/write actions to port 21h.

This is completely ineffective against Soft-ICE, which will still  break 
in even when the KB interrupt is disabled.  I've never seen a case where 
SI won't break into the code without your program actually reaching  out 
and unplugging the keyboard.

 > Just as a side notice, the keyboard may be also disabled by
 > commanding the Programmable Peripheral Interface (PPI), port 61h.

That code doesn't seem to do anything at all, even to debug.

 > This is quite an easy form of an anti-debugging trick. 
 > All you have to do is simply replace the vectors of interrupts 
 > debuggers use, or any other interrupt you will not be using or 
 > expecting to occur.

Any  debugger  that's  worth  anything these days  works  in  a  virtual 
machine.   That  means  that it keeps a  separate  interrupt  table  for 
itself.  If you try to get to it, you'll get a general protection  fault 
and  you'll crash when running under QEMM, Windows, OS/2, or  any  other 
protected mode system.

 > This method involves manipulations of the interrupt vectors,
 > mainly for proper activation of the algorithm. Such action, as
 > exampled, may be used to decrypt a code (see also 2.1), using 
 > data stored ON the vectors.

Again, debuggers keep separate interrupt tables for themselves.

 > This is a really nasty trick, and it should be used ONLY if you
 > are ABSOLUTELY sure that your programs needs no more debugging.

It  IS a really nasty trick against a real-mode debugger like  Debug  or 
something else available 5-10 years ago, but completely useless  against 
Soft-ICE, TD386, or any other protected mode debugger.

 > This method simply retains the value of the clock counter, updated 
 > by interrupt 08h, and waits in an infinite loop until the value 
 > changes. This method is usefull only against RUN actions, not 
 > TRACE/PROCEED ones.

That'll  defeat DEBUG and not much else.  Any other debugger has  a  key 
that'll  break  into the code.  At that point, one could go  into  trace 
mode or just replace the JZ 0109 with a series of NOP instructions.

 > This is a very nice technique, that works especially and only on 
 > those who use Turbo Debugger or its kind. What you should do is 
 > init a jump to a middle of an instruction, whereas the real address 
 > actually contains another opcode.

I'm  not  really  sure what you're trying to  accomplish  here,  but  it 
doesn't  do  much.  A simple "U CS:IP" or its equivalent  in  any  other 
debugger  will  show the current instruction.  Anyway,  the  code  isn't 
correct.

        IN     AL,21                            IN    AL,21h
        MOV    AL,FF                            MOV   AL,0ffh
        JMP    0108                             JMP   108
        MOV    Byte Ptr [21E6],00    --->       MOV   BYTE PTR [21e6h],0cdh
        INT    20                    --->       db    20h

You had an extra 00 in there.

 > This is a nice trick, effective against almost any real mode 
 > debugger. What you should do is simply set the trace flag off 
 > somewhere in your program, and check for it later.

Isn't  it  sort  of silly to be trying to  defeat  real-mode  debuggers?  
That's sort of like putting locks on your back door to make sure  nobody 
gets into your house while leaving the front door wide open.

 > This is a technique that causes a debugger to stop the execution 
 > of a certain program. What you need to do is to put some INT 3 
 > instructions over the code, at random places, and any debugger 
 > trying to run will stop there.

Assembling  a NOP over the int 3 will get rid of the break.  Also,  many 
debuggers (like Soft-ICE) can be set to not break on an INT 3.

 > This trick is based on the fact that debuggers don't usually use a
 > stack space of their own, but rather the user program's stack space.

I'm not sure where you're getting this, but today's debuggers keep their 
own  stack safely hidden away in a protected segment where your  program 
can't  corrupt  it.   This  is also  only  effective  against  real-mode 
debuggers  if  you  intend to run your entire  routine  with  interrupts 
cleared, since most ISR's depend on your stack being there as well.

 > This is a nice way to fool Turbo Debugger's V8086 module (TD386). 
 > It is based on the fact that TD386 does not use INT 00h to detect 
 > division by zero.

Did  you actually try this?  It doesn't seem to have much effect at  all 
on TD386.  Soft-ICE traces through it quite happily too.

 > Another way of messing TD386 is fooling it into an exception.
 > Unfortunately, this exception will also be generated under any 
 > other program, running at V8086 mode.

Yes,  and  in  a debugger it's _really_ easy to change  the  code  while 
you're tracing through it to jump right over the offending  instruction.  
All that you've done is eliminated compatibility with a lot of systems.

 > The first category is simply a code, that has been encrypted, 
 > and has been added a decryption routine. The trick here is that 
 > when a debugger sets up a breakpoint, it simply places the opcode 
 > CCh (INT 03h) in the desired address, and once that interrupt is 
 > executed, the debugger regains control of things.

ANY  decent  debugger these days will let you use  hardware  breakpoints 
which  have nothing to do with INT 3 or any other instruction  replacing 
existing  code.   They'll let you set breakpoints  wherever  you'd  like 
without messing up encryption routines or self-modifying code.

 > This is an example of a self-tracing self-modifying code,
 > sometimes called 'The running line'. It was presented by Serge
 > Pachkovsky.

This is really the only effective measure in this document.  It defeated 
every debugger I tried except for Soft-ICE.  Even under Soft-ICE it  was 
hard to trace, since Soft-ICE has a quirk to it - it disables the  trace 
flag  after each instruction.  It also includes fkey macros  though,  so 
once  you realize what's going on, it's pretty easy to force it to  turn 
the  trap flag back on before it executes the next instruction.  With  a 
couple  of additional macros, I had it set up to trace through the  code 
like nothing unusual was happening, except of course that the code I was 
looking at kept changing, but that's another matter.

I had to change the routine you included since it doesn't handle  multi-
byte instructions very well.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕中文在线不卡住| 色噜噜夜夜夜综合网| 亚洲成人中文在线| 亚洲视频1区2区| 专区另类欧美日韩| 亚洲黄色免费网站| 亚洲福利一区二区三区| 首页国产欧美日韩丝袜| 日韩激情一区二区| 九九精品一区二区| 激情成人午夜视频| 国产suv精品一区二区三区| 成人网页在线观看| 91黄色免费看| 欧美日韩国产一级二级| 日韩精品久久理论片| 国产亚洲欧美中文| 欧美精品一区二区三| www久久精品| 国产精品视频线看| 亚洲色图视频网站| 日本美女视频一区二区| 麻豆精品在线观看| 91在线免费看| 在线播放/欧美激情| 精品国产一区二区三区四区四| 精品久久久三级丝袜| 国产精品免费视频一区| 国产一区二区三区四区五区美女| 国产一区二区三区四区五区美女| 国产成人av一区二区三区在线| 轻轻草成人在线| 国产精品一区免费在线观看| 北条麻妃一区二区三区| 欧美色图一区二区三区| 精品国产亚洲在线| 一级中文字幕一区二区| 久久精品国产精品亚洲精品| 91在线云播放| 精品毛片乱码1区2区3区| 亚洲欧洲制服丝袜| 国产一区二区在线影院| 欧美在线|欧美| 欧美国产1区2区| 青青草精品视频| 欧美性极品少妇| 日本一区二区三级电影在线观看 | 92精品国产成人观看免费| 欧美丰满少妇xxxxx高潮对白| 欧美国产精品中文字幕| 日产欧产美韩系列久久99| 色综合婷婷久久| 国产拍揄自揄精品视频麻豆| 爽好多水快深点欧美视频| av一区二区三区| 久久一区二区三区四区| 首页欧美精品中文字幕| 欧洲一区二区三区免费视频| 国产精品美女www爽爽爽| 激情五月播播久久久精品| 911国产精品| 亚洲一区二区免费视频| 91日韩在线专区| 欧美激情在线免费观看| 国产成人丝袜美腿| 欧美精品一区二区三区四区| 秋霞成人午夜伦在线观看| 欧美性大战久久| 亚洲最色的网站| 色婷婷精品久久二区二区蜜臂av| 国产亚洲综合性久久久影院| 激情综合一区二区三区| 欧美不卡在线视频| 国产在线一区二区综合免费视频| 日韩一区二区三区高清免费看看 | 午夜久久电影网| 欧美主播一区二区三区| 亚洲一区自拍偷拍| 欧美亚洲综合另类| 亚洲va韩国va欧美va| 欧美午夜精品久久久久久超碰| 亚洲另类春色校园小说| 欧美日韩在线播放三区| 爽好久久久欧美精品| 日韩欧美电影一二三| 韩国成人精品a∨在线观看| 久久久午夜精品理论片中文字幕| 狠狠狠色丁香婷婷综合久久五月| 26uuu色噜噜精品一区二区| 国产精品资源网站| 国产精品视频看| 在线观看网站黄不卡| 日韩av一区二区三区| 久久综合色之久久综合| 北条麻妃一区二区三区| 亚洲成人综合在线| 日韩欧美在线一区二区三区| 韩国精品在线观看| 日韩伦理电影网| 91麻豆精品国产91久久久资源速度| 免费人成黄页网站在线一区二区| 久久一区二区视频| 91美女片黄在线观看| 日韩电影在线观看一区| 国产欧美1区2区3区| 欧美午夜理伦三级在线观看| 久久99精品久久久| 国产精品美女www爽爽爽| 欧美日韩一级片在线观看| 国产一区在线观看视频| 一区二区在线免费| 久久久久久夜精品精品免费| 色综合久久中文综合久久97| 奇米影视一区二区三区| 国产精品美女久久久久久2018| 欧美精品免费视频| 99在线热播精品免费| 裸体一区二区三区| 亚洲精品国产成人久久av盗摄 | 国产一二精品视频| 亚洲综合免费观看高清完整版| 久久免费视频一区| 欧美一区二区视频观看视频| 91视频免费播放| 国产美女在线观看一区| 婷婷夜色潮精品综合在线| 国产精品夫妻自拍| 精品国产一区二区在线观看| 欧美性videosxxxxx| 99re在线视频这里只有精品| 国产一区欧美二区| 日韩 欧美一区二区三区| 一区二区三区色| 欧美高清在线视频| 久久综合色之久久综合| 日韩欧美在线影院| 91精品国产欧美日韩| 在线视频国产一区| 91视频观看免费| 成人高清视频在线观看| 国产美女精品在线| 久久99精品国产麻豆婷婷洗澡| 日韩一区欧美二区| 视频精品一区二区| 亚洲综合偷拍欧美一区色| 亚洲女同ⅹxx女同tv| 国产精品美女久久久久aⅴ | 欧美日韩高清在线播放| 色综合久久综合| 91麻豆产精品久久久久久| 99国产精品99久久久久久| 丰满少妇在线播放bd日韩电影| 国产揄拍国内精品对白| 激情五月婷婷综合| 国产激情偷乱视频一区二区三区| 国产在线播精品第三| 国产成人综合亚洲91猫咪| 国产成人小视频| 丁香桃色午夜亚洲一区二区三区| 国产精品一二三四| 成人18精品视频| 色哟哟亚洲精品| 欧美性大战久久久久久久蜜臀| 色噜噜狠狠色综合欧洲selulu| 91在线视频免费91| 欧美亚男人的天堂| 337p亚洲精品色噜噜狠狠| 欧美一级午夜免费电影| 精品国产一区二区精华| 91精品国产一区二区三区蜜臀| 亚洲日本电影在线| 国产精品久久久久久久午夜片 | 亚洲男人的天堂一区二区| 亚洲一区国产视频| 久久精品国产在热久久| 国产激情一区二区三区四区 | 一区二区三区在线影院| 国产精品伊人色| 99精品国产99久久久久久白柏 | 捆绑变态av一区二区三区| 精品一区二区综合| www.久久久久久久久| 欧美日韩一卡二卡三卡| 久久女同性恋中文字幕| 亚洲精品视频免费观看| 麻豆成人91精品二区三区| 国产成人8x视频一区二区| 色婷婷激情一区二区三区| 日韩欧美一二三四区| 亚洲色图在线播放| 麻豆精品视频在线观看| 99精品欧美一区| 日韩欧美国产一区二区三区| 国产精品乱码一区二区三区软件 | 亚洲国产成人va在线观看天堂| 久久成人综合网| 在线视频中文字幕一区二区| 精品福利在线导航| 午夜精品爽啪视频| av激情亚洲男人天堂|