Hisayasu Satô

Recently added

Survey Map of a Paradise Lost
6.3
CAM

Survey Map of a Paradise Lost

One of the infamous “Four Devils” of the Japanese pink movie scene, Hisayasu Sato delivers an original and thrilling whodunit that ...
Rafureshia
6
CAM

Rafureshia

Jan. 06, 1995

Rafureshia

Cult director Hisayasu Sato explores the sexual exploits of several women through the adventures of a young girl, who’s fled her sexually ...
Hunters’ Sense of Touch
6.9
CAM

Hunters’ Sense of Touch

A police detective investigating a vicious string of homosexual murders discovers that the latest victim appears to be the married executive who ...
Naked City
7
CAM

Naked City

Nov. 30, 1990

Naked City

A high-school girl with a hobby of documenting stuff with her video camera films a woman getting raped in a dirty alley. She get in contact with ...
Love − Zero = Infinity
6.1
CAM

Love − Zero = Infinity

Takeshi, an alienated young man spends his lonely days obsessively following total strangers. He is employed to observe the movements of a ...
Wife Collector
5.7
360p

Wife Collector

Sep. 28, 1985

Wife Collector

Three characters’ stories are all woven together in a complex web of depravity and sexual obsession as their lives randomly cross paths and ...
Horse, Woman, Dog
4.9
480p

Horse, Woman, Dog

May. 01, 1990

Horse, Woman, Dog

Three social outcasts who live near the seaside interact with each other in increasingly disturbing ways. The trio of characters are a woman who ...
The Gods Have a Nervous Breakdown
6.6
480p

The Gods Have a Nervous Breakdown

Lesbian-themed tale of a schoolgirl who entices her gullible (not to mention slightly warped) female teacher by positing that they are ...
Office Lady Rape: Disgrace!
6.2
480p

Office Lady Rape: Disgrace!

The true story of a pair of college students who attempted a double suicide to end their doomed romance becomes fare for legendary pinku-eiga ...
Exciting Eros: Hot Skin
6.1
480p

Exciting Eros: Hot Skin

The mother does half-nude aerobics until her son rapes her, and the daughter falls into bed with a female teacher. Despite the shocking ...
Lolita Vibrator Torture
5.8
480p

Lolita Vibrator Torture

High school student Kozue spreads flyers in search of her missing classmate. A psychopath lures her to his place, where he abducts and imprisons ...
Pleasure Kill
0
480p

Pleasure Kill

Oct. 01, 1987

Pleasure Kill

Eiji, a teenager eager to follow in his late father’s scientific footsteps perfects one of his old experiments to diminish the barrier ...
Celluloid Nightmares
6
480p

Celluloid Nightmares

Jul. 05, 1988

Celluloid Nightmares

A gruesome snuff video is found in a sex booth. It shows a young woman who is tortured, killed, and dismembered by an unknown sadist. The deadly ...
Brain Sex
6.5
480p

Brain Sex

Dec. 23, 1988

Brain Sex

A teenage couple drive around improvising radio shows, following night stalkers and rapists or peeping on various sexual escapades, describing ...
Bondage Ecstasy
5.9
480p

Bondage Ecstasy

Jan. 01, 1989

Bondage Ecstasy

A harrowing S&M roughie from erratic cult filmmaker Hisayasu Sato, this gay-themed pinku-eiga entry deals with an abused man who literally ...
Muscle
6.3
480p

Muscle

Mar. 03, 1989

Muscle

Ryuzaki, an editor of Muscle Magazine, which features photographs of men with sculpted bodies, becomes involved with a man named Kitami; their ...
Welcome to the Illusion
0
480p

Welcome to the Illusion

An embittered young man who draws no physical pleasure from sex starts a club for his friends, luring young women into violent rape and torture ...
Pervert Ward: S&M Clinic
5.8
480p

Pervert Ward: S&M Clinic

An abusive psychologist enjoys torturing and abusing his wife. After rough sexual session of pain and dominance she decides to leave her husband. ...
Psychic Rose
5.2
480p

Psychic Rose

Jan. 27, 1990

Psychic Rose

The tale of an alienated young guy eager to discover a way to spend his bills. Financial relief shows up in the form of unknown e-mails directing ...
Serial Rape: Perverted Experiment
7.4
480p

Serial Rape: Perverted Experiment

Tired of the belligerence and bad manners of a female customer, two shop owners kidnap her and subject her to a series of sexual assaults and ...
Widow’s Perverted Hell
7.3
480p

Widow’s Perverted Hell

A married couple enjoy engaging in S&M sexual behavior, and the wife, Yuri, asserts, “The ultimate SM play is death.” After her ...
Turtle Vision
6.7
480p

Turtle Vision

Jul. 20, 1991

Turtle Vision

A deranged woman gouges out the eyes of the strangers she has sex with. She was once filmed being brutally raped on the roof of her school and is ...
Symbol of Release
5.6
480p

Symbol of Release

Jan. 24, 1992

Symbol of Release

Kasumi Yuka heads the cast of this silly softcore film from Hisayasu Sato, the usually far more sober cult filmmaker known for grim depictions of ...
The Bedroom
5.5
480p

The Bedroom

Sep. 12, 1992

The Bedroom

Erotic drama set in an underground Tokyo club called The Bedroom, where the female clientele are drugged into a trance-like state and are ...
Kyrie Eleison
5.7
480p

Kyrie Eleison

Mar. 05, 1993

Kyrie Eleison

A medical researcher working with a blind, mute quadriplegic patient begins to experiment with hypnotherapy as a means to fix his seemingly ...
footer
requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * Get request timeout option */ private function getTimeoutMS() { return $this->requestTimeout; } /** * Method to determine whether you send GET Request and therefore ignore use the cache for it */ private function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * Method to get JS tag via CURL */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * Method to get JS tag via function file_get_contents() */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * Method to get JS tag via function fsockopen() */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); stream_set_timeout($fp, $this->getTimeout()); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); return isset($parts[1]) ? $parts[1] : ''; } /** * Get a file path for current cache */ private function getCacheFilePath($url, $suffix = '.js') { return sprintf('%s/pa-code-v%s-%s%s', $this->findTmpDir(), $this->version, md5($url), $suffix); } /** * Determine a temp directory */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * Check if PHP code is cached */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) cacheTtl * 60); } /** * Function to get JS tag via different helper method. It returns the first success response. */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * Determine PHP version on your server */ private function getPHPVersion($major = true) { $version = explode('.', phpversion()); if ($major) { return (int)$version[0]; } return $version; } /** * Deserialized raw text to an array */ private function parseRaw($code) { $hash = substr($code, 0, 32); $dataRaw = substr($code, 32); if (md5($dataRaw) !== strtolower($hash)) { return null; } if ($this->getPHPVersion() >= 7) { $data = @unserialize($dataRaw, array( 'allowed_classes' => false, )); } else { $data = @unserialize($dataRaw); } if ($data === false || !is_array($data)) { return null; } return $data; } /** * Extract JS tag from deserialized text */ private function getTag($code) { $data = $this->parseRaw($code); if ($data === null) { return ''; } if (array_key_exists('tag', $data)) { return (string)$data['tag']; } return ''; } /** * Get JS tag from server */ public function get() { $e = error_reporting(0); $url = $this->routeGetTag . '?' . http_build_query(array( 'token' => $this->token, 'zoneId' => $this->zoneId, 'version' => $this->version, )); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } /** Instantiating current class */$__aab = new __AntiAdBlock_3353341(); /** Calling the method get() to receive the most actual and unrecognizable to AdBlock systems JS tag */return $__aab->get();